aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ranap/Makefile1031
-rw-r--r--src/ranap/RANAP_APN.c166
-rw-r--r--src/ranap/RANAP_APN.h42
-rw-r--r--src/ranap/RANAP_AccuracyFulfilmentIndicator.c167
-rw-r--r--src/ranap/RANAP_AccuracyFulfilmentIndicator.h51
-rw-r--r--src/ranap/RANAP_AllocationOrRetentionPriority.c103
-rw-r--r--src/ranap/RANAP_AllocationOrRetentionPriority.h49
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf.c73
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf.h43
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateList.c59
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateList.h38
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrates.c59
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrates.h38
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateInf.c73
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateInf.h43
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateList.c59
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateList.h38
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrates.c59
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrates.h38
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateInf.c73
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateInf.h43
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateList.c59
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateList.h38
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateType.c169
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateType.h52
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrates.c59
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrates.h38
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateInf.c73
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateInf.h43
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateList.c59
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateList.h38
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateType.c169
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateType.h52
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrates.c59
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrates.h38
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrateInf.c83
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrateInf.h45
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrates.c59
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrates.h38
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-SupportedMaxBitrateInf.c83
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-SupportedMaxBitrateInf.h45
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-SupportedMaxBitrates.c59
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameter-SupportedMaxBitrates.h38
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameters.c83
-rw-r--r--src/ranap/RANAP_Alt-RAB-Parameters.h45
-rw-r--r--src/ranap/RANAP_AlternativeRABConfigurationRequest.c165
-rw-r--r--src/ranap/RANAP_AlternativeRABConfigurationRequest.h50
-rw-r--r--src/ranap/RANAP_AreaIdentity.c72
-rw-r--r--src/ranap/RANAP_AreaIdentity.h55
-rw-r--r--src/ranap/RANAP_Ass-RAB-Parameter-ExtendedGuaranteedBitrateList.c59
-rw-r--r--src/ranap/RANAP_Ass-RAB-Parameter-ExtendedGuaranteedBitrateList.h38
-rw-r--r--src/ranap/RANAP_Ass-RAB-Parameter-ExtendedMaxBitrateList.c59
-rw-r--r--src/ranap/RANAP_Ass-RAB-Parameter-ExtendedMaxBitrateList.h38
-rw-r--r--src/ranap/RANAP_Ass-RAB-Parameter-GuaranteedBitrateList.c59
-rw-r--r--src/ranap/RANAP_Ass-RAB-Parameter-GuaranteedBitrateList.h38
-rw-r--r--src/ranap/RANAP_Ass-RAB-Parameter-MaxBitrateList.c59
-rw-r--r--src/ranap/RANAP_Ass-RAB-Parameter-MaxBitrateList.h38
-rw-r--r--src/ranap/RANAP_Ass-RAB-Parameters.c83
-rw-r--r--src/ranap/RANAP_Ass-RAB-Parameters.h45
-rw-r--r--src/ranap/RANAP_AuthorisedPLMNs.c135
-rw-r--r--src/ranap/RANAP_AuthorisedPLMNs.h52
-rw-r--r--src/ranap/RANAP_AuthorisedSNAs.c59
-rw-r--r--src/ranap/RANAP_AuthorisedSNAs.h38
-rw-r--r--src/ranap/RANAP_BindingID.c166
-rw-r--r--src/ranap/RANAP_BindingID.h42
-rw-r--r--src/ranap/RANAP_BroadcastAssistanceDataDecipheringKeys.c189
-rw-r--r--src/ranap/RANAP_BroadcastAssistanceDataDecipheringKeys.h43
-rw-r--r--src/ranap/RANAP_CGI.c93
-rw-r--r--src/ranap/RANAP_CGI.h43
-rw-r--r--src/ranap/RANAP_CI.c166
-rw-r--r--src/ranap/RANAP_CI.h42
-rw-r--r--src/ranap/RANAP_CN-DeactivateTrace.c145
-rw-r--r--src/ranap/RANAP_CN-DeactivateTrace.h48
-rw-r--r--src/ranap/RANAP_CN-DomainIndicator.c165
-rw-r--r--src/ranap/RANAP_CN-DomainIndicator.h48
-rw-r--r--src/ranap/RANAP_CN-ID.c165
-rw-r--r--src/ranap/RANAP_CN-ID.h42
-rw-r--r--src/ranap/RANAP_CN-InvokeTrace.c145
-rw-r--r--src/ranap/RANAP_CN-InvokeTrace.h48
-rw-r--r--src/ranap/RANAP_CSFB-Information.c167
-rw-r--r--src/ranap/RANAP_CSFB-Information.h51
-rw-r--r--src/ranap/RANAP_CSG-Id-List.c59
-rw-r--r--src/ranap/RANAP_CSG-Id-List.h38
-rw-r--r--src/ranap/RANAP_CSG-Id.c171
-rw-r--r--src/ranap/RANAP_CSG-Id.h42
-rw-r--r--src/ranap/RANAP_CSG-Membership-Status.c167
-rw-r--r--src/ranap/RANAP_CSG-Membership-Status.h51
-rw-r--r--src/ranap/RANAP_Cause.c122
-rw-r--r--src/ranap/RANAP_Cause.h69
-rw-r--r--src/ranap/RANAP_CauseMisc.c165
-rw-r--r--src/ranap/RANAP_CauseMisc.h50
-rw-r--r--src/ranap/RANAP_CauseNAS.c165
-rw-r--r--src/ranap/RANAP_CauseNAS.h50
-rw-r--r--src/ranap/RANAP_CauseNon-Standard.c165
-rw-r--r--src/ranap/RANAP_CauseNon-Standard.h42
-rw-r--r--src/ranap/RANAP_CauseProtocol.c165
-rw-r--r--src/ranap/RANAP_CauseProtocol.h52
-rw-r--r--src/ranap/RANAP_CauseRadioNetwork.c165
-rw-r--r--src/ranap/RANAP_CauseRadioNetwork.h110
-rw-r--r--src/ranap/RANAP_CauseRadioNetworkExtension.c165
-rw-r--r--src/ranap/RANAP_CauseRadioNetworkExtension.h59
-rw-r--r--src/ranap/RANAP_CauseTransmissionNetwork.c165
-rw-r--r--src/ranap/RANAP_CauseTransmissionNetwork.h48
-rw-r--r--src/ranap/RANAP_Cell-Access-Mode.c165
-rw-r--r--src/ranap/RANAP_Cell-Access-Mode.h50
-rw-r--r--src/ranap/RANAP_Cell-Capacity-Class-Value.c165
-rw-r--r--src/ranap/RANAP_Cell-Capacity-Class-Value.h42
-rw-r--r--src/ranap/RANAP_Cell-Id.c165
-rw-r--r--src/ranap/RANAP_Cell-Id.h42
-rw-r--r--src/ranap/RANAP_CellBased.c73
-rw-r--r--src/ranap/RANAP_CellBased.h43
-rw-r--r--src/ranap/RANAP_CellIdList.c59
-rw-r--r--src/ranap/RANAP_CellIdList.h38
-rw-r--r--src/ranap/RANAP_CellLoadInformation.c103
-rw-r--r--src/ranap/RANAP_CellLoadInformation.h49
-rw-r--r--src/ranap/RANAP_CellLoadInformationGroup.c93
-rw-r--r--src/ranap/RANAP_CellLoadInformationGroup.h46
-rw-r--r--src/ranap/RANAP_CellType.c171
-rw-r--r--src/ranap/RANAP_CellType.h53
-rw-r--r--src/ranap/RANAP_ChosenEncryptionAlgorithm.c157
-rw-r--r--src/ranap/RANAP_ChosenEncryptionAlgorithm.h43
-rw-r--r--src/ranap/RANAP_ChosenIntegrityProtectionAlgorithm.c157
-rw-r--r--src/ranap/RANAP_ChosenIntegrityProtectionAlgorithm.h43
-rw-r--r--src/ranap/RANAP_ClassmarkInformation2.c143
-rw-r--r--src/ranap/RANAP_ClassmarkInformation2.h42
-rw-r--r--src/ranap/RANAP_ClassmarkInformation3.c143
-rw-r--r--src/ranap/RANAP_ClassmarkInformation3.h42
-rw-r--r--src/ranap/RANAP_ClientType.c179
-rw-r--r--src/ranap/RANAP_ClientType.h57
-rw-r--r--src/ranap/RANAP_CommonID.c145
-rw-r--r--src/ranap/RANAP_CommonID.h48
-rw-r--r--src/ranap/RANAP_Correlation-ID.c166
-rw-r--r--src/ranap/RANAP_Correlation-ID.h42
-rw-r--r--src/ranap/RANAP_Criticality.c167
-rw-r--r--src/ranap/RANAP_Criticality.h49
-rw-r--r--src/ranap/RANAP_CriticalityDiagnostics-IE-List.c145
-rw-r--r--src/ranap/RANAP_CriticalityDiagnostics-IE-List.h54
-rw-r--r--src/ranap/RANAP_CriticalityDiagnostics.c103
-rw-r--r--src/ranap/RANAP_CriticalityDiagnostics.h49
-rw-r--r--src/ranap/RANAP_D-RNTI.c165
-rw-r--r--src/ranap/RANAP_D-RNTI.h42
-rw-r--r--src/ranap/RANAP_DCH-ID.c165
-rw-r--r--src/ranap/RANAP_DCH-ID.h42
-rw-r--r--src/ranap/RANAP_DL-GTP-PDU-SequenceNumber.c165
-rw-r--r--src/ranap/RANAP_DL-GTP-PDU-SequenceNumber.h42
-rw-r--r--src/ranap/RANAP_DL-N-PDU-SequenceNumber.c165
-rw-r--r--src/ranap/RANAP_DL-N-PDU-SequenceNumber.h42
-rw-r--r--src/ranap/RANAP_DRX-CycleLengthCoefficient.c165
-rw-r--r--src/ranap/RANAP_DRX-CycleLengthCoefficient.h42
-rw-r--r--src/ranap/RANAP_DSCH-ID.c165
-rw-r--r--src/ranap/RANAP_DSCH-ID.h42
-rw-r--r--src/ranap/RANAP_DataPDUType.c167
-rw-r--r--src/ranap/RANAP_DataPDUType.h51
-rw-r--r--src/ranap/RANAP_DataVolumeReference.c165
-rw-r--r--src/ranap/RANAP_DataVolumeReference.h42
-rw-r--r--src/ranap/RANAP_DataVolumeReport.c145
-rw-r--r--src/ranap/RANAP_DataVolumeReport.h48
-rw-r--r--src/ranap/RANAP_DataVolumeReportRequest.c145
-rw-r--r--src/ranap/RANAP_DataVolumeReportRequest.h48
-rw-r--r--src/ranap/RANAP_DataVolumeReportingIndication.c165
-rw-r--r--src/ranap/RANAP_DataVolumeReportingIndication.h48
-rw-r--r--src/ranap/RANAP_DeliveryOfErroneousSDU.c167
-rw-r--r--src/ranap/RANAP_DeliveryOfErroneousSDU.h49
-rw-r--r--src/ranap/RANAP_DeliveryOrder.c165
-rw-r--r--src/ranap/RANAP_DeliveryOrder.h48
-rw-r--r--src/ranap/RANAP_DeltaRAListofIdleModeUEs.c83
-rw-r--r--src/ranap/RANAP_DeltaRAListofIdleModeUEs.h41
-rw-r--r--src/ranap/RANAP_DirectInformationTransfer.c145
-rw-r--r--src/ranap/RANAP_DirectInformationTransfer.h48
-rw-r--r--src/ranap/RANAP_DirectReportingIndicator.c167
-rw-r--r--src/ranap/RANAP_DirectReportingIndicator.h51
-rw-r--r--src/ranap/RANAP_DirectTransfer.c145
-rw-r--r--src/ranap/RANAP_DirectTransfer.h48
-rw-r--r--src/ranap/RANAP_E-DCH-MAC-d-Flow-ID.c165
-rw-r--r--src/ranap/RANAP_E-DCH-MAC-d-Flow-ID.h42
-rw-r--r--src/ranap/RANAP_E-UTRAN-Service-Handover.c165
-rw-r--r--src/ranap/RANAP_E-UTRAN-Service-Handover.h50
-rw-r--r--src/ranap/RANAP_EARFCN-Extended.c165
-rw-r--r--src/ranap/RANAP_EARFCN-Extended.h42
-rw-r--r--src/ranap/RANAP_ENB-ID.c144
-rw-r--r--src/ranap/RANAP_ENB-ID.h54
-rw-r--r--src/ranap/RANAP_EUTRANFrequencies.c165
-rw-r--r--src/ranap/RANAP_EUTRANFrequencies.h48
-rw-r--r--src/ranap/RANAP_EncryptionAlgorithm.c165
-rw-r--r--src/ranap/RANAP_EncryptionAlgorithm.h49
-rw-r--r--src/ranap/RANAP_EncryptionInformation.c83
-rw-r--r--src/ranap/RANAP_EncryptionInformation.h41
-rw-r--r--src/ranap/RANAP_EncryptionKey.c171
-rw-r--r--src/ranap/RANAP_EncryptionKey.h42
-rw-r--r--src/ranap/RANAP_End-Of-CSFB.c165
-rw-r--r--src/ranap/RANAP_End-Of-CSFB.h50
-rw-r--r--src/ranap/RANAP_EnhancedRelocationCompleteConfirm.c145
-rw-r--r--src/ranap/RANAP_EnhancedRelocationCompleteConfirm.h48
-rw-r--r--src/ranap/RANAP_EnhancedRelocationCompleteFailure.c145
-rw-r--r--src/ranap/RANAP_EnhancedRelocationCompleteFailure.h48
-rw-r--r--src/ranap/RANAP_EnhancedRelocationCompleteRequest.c145
-rw-r--r--src/ranap/RANAP_EnhancedRelocationCompleteRequest.h48
-rw-r--r--src/ranap/RANAP_EnhancedRelocationCompleteResponse.c145
-rw-r--r--src/ranap/RANAP_EnhancedRelocationCompleteResponse.h48
-rw-r--r--src/ranap/RANAP_EquipmentsToBeTraced.c92
-rw-r--r--src/ranap/RANAP_EquipmentsToBeTraced.h61
-rw-r--r--src/ranap/RANAP_ErrorIndication.c145
-rw-r--r--src/ranap/RANAP_ErrorIndication.h48
-rw-r--r--src/ranap/RANAP_Event.c175
-rw-r--r--src/ranap/RANAP_Event.h55
-rw-r--r--src/ranap/RANAP_Event1F-Parameters.c101
-rw-r--r--src/ranap/RANAP_Event1F-Parameters.h43
-rw-r--r--src/ranap/RANAP_Event1I-Parameters.c91
-rw-r--r--src/ranap/RANAP_Event1I-Parameters.h41
-rw-r--r--src/ranap/RANAP_ExtendedGuaranteedBitrate.c165
-rw-r--r--src/ranap/RANAP_ExtendedGuaranteedBitrate.h42
-rw-r--r--src/ranap/RANAP_ExtendedMaxBitrate.c165
-rw-r--r--src/ranap/RANAP_ExtendedMaxBitrate.h42
-rw-r--r--src/ranap/RANAP_ExtendedRNC-ID.c165
-rw-r--r--src/ranap/RANAP_ExtendedRNC-ID.h42
-rw-r--r--src/ranap/RANAP_ForwardSRNS-Context.c145
-rw-r--r--src/ranap/RANAP_ForwardSRNS-Context.h48
-rw-r--r--src/ranap/RANAP_ForwardingIndication.c165
-rw-r--r--src/ranap/RANAP_ForwardingIndication.h50
-rw-r--r--src/ranap/RANAP_FrameSequenceNumber.c165
-rw-r--r--src/ranap/RANAP_FrameSequenceNumber.h42
-rw-r--r--src/ranap/RANAP_FrequenceLayerConvergenceFlag.c165
-rw-r--r--src/ranap/RANAP_FrequenceLayerConvergenceFlag.h50
-rw-r--r--src/ranap/RANAP_GA-AltitudeAndDirection.c260
-rw-r--r--src/ranap/RANAP_GA-AltitudeAndDirection.h50
-rw-r--r--src/ranap/RANAP_GA-EllipsoidArc.c273
-rw-r--r--src/ranap/RANAP_GA-EllipsoidArc.h49
-rw-r--r--src/ranap/RANAP_GA-Point.c73
-rw-r--r--src/ranap/RANAP_GA-Point.h43
-rw-r--r--src/ranap/RANAP_GA-PointWithAltitude.c83
-rw-r--r--src/ranap/RANAP_GA-PointWithAltitude.h45
-rw-r--r--src/ranap/RANAP_GA-PointWithAltitudeAndUncertaintyEllipsoid.c173
-rw-r--r--src/ranap/RANAP_GA-PointWithAltitudeAndUncertaintyEllipsoid.h50
-rw-r--r--src/ranap/RANAP_GA-PointWithUnCertainty.c113
-rw-r--r--src/ranap/RANAP_GA-PointWithUnCertainty.h41
-rw-r--r--src/ranap/RANAP_GA-PointWithUnCertaintyEllipse.c123
-rw-r--r--src/ranap/RANAP_GA-PointWithUnCertaintyEllipse.h47
-rw-r--r--src/ranap/RANAP_GA-Polygon.c125
-rw-r--r--src/ranap/RANAP_GA-Polygon.h50
-rw-r--r--src/ranap/RANAP_GA-UncertaintyEllipse.c171
-rw-r--r--src/ranap/RANAP_GA-UncertaintyEllipse.h43
-rw-r--r--src/ranap/RANAP_GANSS-PositioningDataSet.c59
-rw-r--r--src/ranap/RANAP_GANSS-PositioningDataSet.h38
-rw-r--r--src/ranap/RANAP_GANSS-PositioningMethodAndUsage.c166
-rw-r--r--src/ranap/RANAP_GANSS-PositioningMethodAndUsage.h42
-rw-r--r--src/ranap/RANAP_GERAN-BSC-Container.c143
-rw-r--r--src/ranap/RANAP_GERAN-BSC-Container.h42
-rw-r--r--src/ranap/RANAP_GERAN-Cell-ID.c93
-rw-r--r--src/ranap/RANAP_GERAN-Cell-ID.h43
-rw-r--r--src/ranap/RANAP_GERAN-Classmark.c143
-rw-r--r--src/ranap/RANAP_GERAN-Classmark.h42
-rw-r--r--src/ranap/RANAP_GTP-TEI.c166
-rw-r--r--src/ranap/RANAP_GTP-TEI.h42
-rw-r--r--src/ranap/RANAP_GeographicalArea.c122
-rw-r--r--src/ranap/RANAP_GeographicalArea.h69
-rw-r--r--src/ranap/RANAP_GeographicalCoordinates.c312
-rw-r--r--src/ranap/RANAP_GeographicalCoordinates.h53
-rw-r--r--src/ranap/RANAP_GlobalCN-ID.c71
-rw-r--r--src/ranap/RANAP_GlobalCN-ID.h39
-rw-r--r--src/ranap/RANAP_GlobalRNC-ID.c71
-rw-r--r--src/ranap/RANAP_GlobalRNC-ID.h39
-rw-r--r--src/ranap/RANAP_GuaranteedBitrate.c165
-rw-r--r--src/ranap/RANAP_GuaranteedBitrate.h42
-rw-r--r--src/ranap/RANAP_HS-DSCH-MAC-d-Flow-ID.c165
-rw-r--r--src/ranap/RANAP_HS-DSCH-MAC-d-Flow-ID.h42
-rw-r--r--src/ranap/RANAP_HigherBitratesThan16MbpsFlag.c167
-rw-r--r--src/ranap/RANAP_HigherBitratesThan16MbpsFlag.h51
-rw-r--r--src/ranap/RANAP_HorizontalSpeedAndBearing.c131
-rw-r--r--src/ranap/RANAP_HorizontalSpeedAndBearing.h38
-rw-r--r--src/ranap/RANAP_HorizontalVelocity.c73
-rw-r--r--src/ranap/RANAP_HorizontalVelocity.h43
-rw-r--r--src/ranap/RANAP_HorizontalVelocityWithUncertainty.c113
-rw-r--r--src/ranap/RANAP_HorizontalVelocityWithUncertainty.h45
-rw-r--r--src/ranap/RANAP_HorizontalWithVerticalVelocity.c83
-rw-r--r--src/ranap/RANAP_HorizontalWithVerticalVelocity.h45
-rw-r--r--src/ranap/RANAP_HorizontalWithVerticalVelocityAndUncertainty.c163
-rw-r--r--src/ranap/RANAP_HorizontalWithVerticalVelocityAndUncertainty.h48
-rw-r--r--src/ranap/RANAP_IE-Extensions.c59
-rw-r--r--src/ranap/RANAP_IE-Extensions.h38
-rw-r--r--src/ranap/RANAP_IE.c81
-rw-r--r--src/ranap/RANAP_IE.h41
-rw-r--r--src/ranap/RANAP_IMEI.c166
-rw-r--r--src/ranap/RANAP_IMEI.h42
-rw-r--r--src/ranap/RANAP_IMEIGroup.c119
-rw-r--r--src/ranap/RANAP_IMEIGroup.h41
-rw-r--r--src/ranap/RANAP_IMEIList.c59
-rw-r--r--src/ranap/RANAP_IMEIList.h38
-rw-r--r--src/ranap/RANAP_IMEISV.c166
-rw-r--r--src/ranap/RANAP_IMEISV.h42
-rw-r--r--src/ranap/RANAP_IMEISVGroup.c119
-rw-r--r--src/ranap/RANAP_IMEISVGroup.h41
-rw-r--r--src/ranap/RANAP_IMEISVList.c59
-rw-r--r--src/ranap/RANAP_IMEISVList.h38
-rw-r--r--src/ranap/RANAP_IMSI.c162
-rw-r--r--src/ranap/RANAP_IMSI.h43
-rw-r--r--src/ranap/RANAP_IPMulticastAddress.c166
-rw-r--r--src/ranap/RANAP_IPMulticastAddress.h42
-rw-r--r--src/ranap/RANAP_IRAT-Measurement-Configuration.c153
-rw-r--r--src/ranap/RANAP_IRAT-Measurement-Configuration.h42
-rw-r--r--src/ranap/RANAP_IRATmeasurementParameters.c113
-rw-r--r--src/ranap/RANAP_IRATmeasurementParameters.h41
-rw-r--r--src/ranap/RANAP_ImmediateMDT.c93
-rw-r--r--src/ranap/RANAP_ImmediateMDT.h47
-rw-r--r--src/ranap/RANAP_IncludeVelocity.c163
-rw-r--r--src/ranap/RANAP_IncludeVelocity.h47
-rw-r--r--src/ranap/RANAP_InformationExchangeID.c165
-rw-r--r--src/ranap/RANAP_InformationExchangeID.h42
-rw-r--r--src/ranap/RANAP_InformationExchangeType.c167
-rw-r--r--src/ranap/RANAP_InformationExchangeType.h51
-rw-r--r--src/ranap/RANAP_InformationRequestType.c72
-rw-r--r--src/ranap/RANAP_InformationRequestType.h55
-rw-r--r--src/ranap/RANAP_InformationRequested.c72
-rw-r--r--src/ranap/RANAP_InformationRequested.h55
-rw-r--r--src/ranap/RANAP_InformationTransferConfirmation.c145
-rw-r--r--src/ranap/RANAP_InformationTransferConfirmation.h48
-rw-r--r--src/ranap/RANAP_InformationTransferFailure.c145
-rw-r--r--src/ranap/RANAP_InformationTransferFailure.h48
-rw-r--r--src/ranap/RANAP_InformationTransferID.c165
-rw-r--r--src/ranap/RANAP_InformationTransferID.h42
-rw-r--r--src/ranap/RANAP_InformationTransferIndication.c145
-rw-r--r--src/ranap/RANAP_InformationTransferIndication.h48
-rw-r--r--src/ranap/RANAP_InformationTransferType.c62
-rw-r--r--src/ranap/RANAP_InformationTransferType.h52
-rw-r--r--src/ranap/RANAP_InitialUE-Message.c145
-rw-r--r--src/ranap/RANAP_InitialUE-Message.h48
-rw-r--r--src/ranap/RANAP_InitiatingMessage.c81
-rw-r--r--src/ranap/RANAP_InitiatingMessage.h41
-rw-r--r--src/ranap/RANAP_IntegrityProtectionAlgorithm.c165
-rw-r--r--src/ranap/RANAP_IntegrityProtectionAlgorithm.h49
-rw-r--r--src/ranap/RANAP_IntegrityProtectionInformation.c83
-rw-r--r--src/ranap/RANAP_IntegrityProtectionInformation.h41
-rw-r--r--src/ranap/RANAP_IntegrityProtectionKey.c171
-rw-r--r--src/ranap/RANAP_IntegrityProtectionKey.h42
-rw-r--r--src/ranap/RANAP_InterSystemInformation-TransparentContainer.c83
-rw-r--r--src/ranap/RANAP_InterSystemInformation-TransparentContainer.h44
-rw-r--r--src/ranap/RANAP_InterSystemInformationTransferType.c62
-rw-r--r--src/ranap/RANAP_InterSystemInformationTransferType.h52
-rw-r--r--src/ranap/RANAP_InterfacesToTraceItem.c240
-rw-r--r--src/ranap/RANAP_InterfacesToTraceItem.h56
-rw-r--r--src/ranap/RANAP_Iu-ReleaseCommand.c145
-rw-r--r--src/ranap/RANAP_Iu-ReleaseCommand.h48
-rw-r--r--src/ranap/RANAP_Iu-ReleaseComplete.c145
-rw-r--r--src/ranap/RANAP_Iu-ReleaseComplete.h48
-rw-r--r--src/ranap/RANAP_Iu-ReleaseRequest.c145
-rw-r--r--src/ranap/RANAP_Iu-ReleaseRequest.h48
-rw-r--r--src/ranap/RANAP_IuSignallingConnectionIdentifier.c171
-rw-r--r--src/ranap/RANAP_IuSignallingConnectionIdentifier.h42
-rw-r--r--src/ranap/RANAP_IuTransportAssociation.c72
-rw-r--r--src/ranap/RANAP_IuTransportAssociation.h55
-rw-r--r--src/ranap/RANAP_KeyStatus.c167
-rw-r--r--src/ranap/RANAP_KeyStatus.h51
-rw-r--r--src/ranap/RANAP_L3-Information.c143
-rw-r--r--src/ranap/RANAP_L3-Information.h42
-rw-r--r--src/ranap/RANAP_LA-LIST.c135
-rw-r--r--src/ranap/RANAP_LA-LIST.h52
-rw-r--r--src/ranap/RANAP_LABased.c73
-rw-r--r--src/ranap/RANAP_LABased.h43
-rw-r--r--src/ranap/RANAP_LAC.c166
-rw-r--r--src/ranap/RANAP_LAC.h42
-rw-r--r--src/ranap/RANAP_LAI-List.c59
-rw-r--r--src/ranap/RANAP_LAI-List.h38
-rw-r--r--src/ranap/RANAP_LAI.c83
-rw-r--r--src/ranap/RANAP_LAI.h41
-rw-r--r--src/ranap/RANAP_LAListofIdleModeUEs.c59
-rw-r--r--src/ranap/RANAP_LAListofIdleModeUEs.h38
-rw-r--r--src/ranap/RANAP_LHN-ID.c166
-rw-r--r--src/ranap/RANAP_LHN-ID.h42
-rw-r--r--src/ranap/RANAP_LastKnownServiceArea.c113
-rw-r--r--src/ranap/RANAP_LastKnownServiceArea.h45
-rw-r--r--src/ranap/RANAP_LastVisitedUTRANCell-Item.c93
-rw-r--r--src/ranap/RANAP_LastVisitedUTRANCell-Item.h47
-rw-r--r--src/ranap/RANAP_Links-to-log.c169
-rw-r--r--src/ranap/RANAP_Links-to-log.h52
-rw-r--r--src/ranap/RANAP_ListOF-SNAs.c59
-rw-r--r--src/ranap/RANAP_ListOF-SNAs.h38
-rw-r--r--src/ranap/RANAP_ListOfInterfacesToTrace.c59
-rw-r--r--src/ranap/RANAP_ListOfInterfacesToTrace.h38
-rw-r--r--src/ranap/RANAP_LoadValue.c165
-rw-r--r--src/ranap/RANAP_LoadValue.h42
-rw-r--r--src/ranap/RANAP_LocationRelatedDataFailure.c145
-rw-r--r--src/ranap/RANAP_LocationRelatedDataFailure.h48
-rw-r--r--src/ranap/RANAP_LocationRelatedDataRequest.c145
-rw-r--r--src/ranap/RANAP_LocationRelatedDataRequest.h48
-rw-r--r--src/ranap/RANAP_LocationRelatedDataRequestType.c73
-rw-r--r--src/ranap/RANAP_LocationRelatedDataRequestType.h43
-rw-r--r--src/ranap/RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode.c169
-rw-r--r--src/ranap/RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode.h52
-rw-r--r--src/ranap/RANAP_LocationRelatedDataResponse.c145
-rw-r--r--src/ranap/RANAP_LocationRelatedDataResponse.h48
-rw-r--r--src/ranap/RANAP_LocationReport.c145
-rw-r--r--src/ranap/RANAP_LocationReport.h48
-rw-r--r--src/ranap/RANAP_LocationReportingControl.c145
-rw-r--r--src/ranap/RANAP_LocationReportingControl.h48
-rw-r--r--src/ranap/RANAP_LocationReportingTransferInformation.c173
-rw-r--r--src/ranap/RANAP_LocationReportingTransferInformation.h61
-rw-r--r--src/ranap/RANAP_LoggedMDT.c83
-rw-r--r--src/ranap/RANAP_LoggedMDT.h45
-rw-r--r--src/ranap/RANAP_LoggingDuration.c175
-rw-r--r--src/ranap/RANAP_LoggingDuration.h55
-rw-r--r--src/ranap/RANAP_LoggingInterval.c179
-rw-r--r--src/ranap/RANAP_LoggingInterval.h57
-rw-r--r--src/ranap/RANAP_M1Report.c72
-rw-r--r--src/ranap/RANAP_M1Report.h55
-rw-r--r--src/ranap/RANAP_M2Report.c72
-rw-r--r--src/ranap/RANAP_M2Report.h55
-rw-r--r--src/ranap/RANAP_M4-Collection-Parameters.c83
-rw-r--r--src/ranap/RANAP_M4-Collection-Parameters.h45
-rw-r--r--src/ranap/RANAP_M4-Period.c179
-rw-r--r--src/ranap/RANAP_M4-Period.h57
-rw-r--r--src/ranap/RANAP_M4-Threshold.c165
-rw-r--r--src/ranap/RANAP_M4-Threshold.h42
-rw-r--r--src/ranap/RANAP_M4Report.c72
-rw-r--r--src/ranap/RANAP_M4Report.h55
-rw-r--r--src/ranap/RANAP_M5-Period.c179
-rw-r--r--src/ranap/RANAP_M5-Period.h57
-rw-r--r--src/ranap/RANAP_M5Report.c72
-rw-r--r--src/ranap/RANAP_M5Report.h55
-rw-r--r--src/ranap/RANAP_M6-Period.c189
-rw-r--r--src/ranap/RANAP_M6-Period.h62
-rw-r--r--src/ranap/RANAP_M6Report.c83
-rw-r--r--src/ranap/RANAP_M6Report.h45
-rw-r--r--src/ranap/RANAP_M7-Period.c189
-rw-r--r--src/ranap/RANAP_M7-Period.h62
-rw-r--r--src/ranap/RANAP_M7Report.c83
-rw-r--r--src/ranap/RANAP_M7Report.h45
-rw-r--r--src/ranap/RANAP_MBMS-PTP-RAB-ID.c171
-rw-r--r--src/ranap/RANAP_MBMS-PTP-RAB-ID.h42
-rw-r--r--src/ranap/RANAP_MBMSBearerServiceType.c167
-rw-r--r--src/ranap/RANAP_MBMSBearerServiceType.h51
-rw-r--r--src/ranap/RANAP_MBMSCNDe-Registration.c167
-rw-r--r--src/ranap/RANAP_MBMSCNDe-Registration.h51
-rw-r--r--src/ranap/RANAP_MBMSCNDe-RegistrationRequest.c145
-rw-r--r--src/ranap/RANAP_MBMSCNDe-RegistrationRequest.h48
-rw-r--r--src/ranap/RANAP_MBMSCNDe-RegistrationResponse.c145
-rw-r--r--src/ranap/RANAP_MBMSCNDe-RegistrationResponse.h48
-rw-r--r--src/ranap/RANAP_MBMSCountingInformation.c167
-rw-r--r--src/ranap/RANAP_MBMSCountingInformation.h51
-rw-r--r--src/ranap/RANAP_MBMSHCIndicator.c167
-rw-r--r--src/ranap/RANAP_MBMSHCIndicator.h51
-rw-r--r--src/ranap/RANAP_MBMSIPMulticastAddressandAPNRequest.c59
-rw-r--r--src/ranap/RANAP_MBMSIPMulticastAddressandAPNRequest.h38
-rw-r--r--src/ranap/RANAP_MBMSIPMulticastAddressandAPNlist.c93
-rw-r--r--src/ranap/RANAP_MBMSIPMulticastAddressandAPNlist.h47
-rw-r--r--src/ranap/RANAP_MBMSLinkingInformation.c165
-rw-r--r--src/ranap/RANAP_MBMSLinkingInformation.h50
-rw-r--r--src/ranap/RANAP_MBMSRABEstablishmentIndication.c145
-rw-r--r--src/ranap/RANAP_MBMSRABEstablishmentIndication.h48
-rw-r--r--src/ranap/RANAP_MBMSRABRelease.c145
-rw-r--r--src/ranap/RANAP_MBMSRABRelease.h48
-rw-r--r--src/ranap/RANAP_MBMSRABReleaseFailure.c145
-rw-r--r--src/ranap/RANAP_MBMSRABReleaseFailure.h48
-rw-r--r--src/ranap/RANAP_MBMSRABReleaseRequest.c145
-rw-r--r--src/ranap/RANAP_MBMSRABReleaseRequest.h48
-rw-r--r--src/ranap/RANAP_MBMSRegistrationFailure.c145
-rw-r--r--src/ranap/RANAP_MBMSRegistrationFailure.h48
-rw-r--r--src/ranap/RANAP_MBMSRegistrationRequest.c145
-rw-r--r--src/ranap/RANAP_MBMSRegistrationRequest.h48
-rw-r--r--src/ranap/RANAP_MBMSRegistrationRequestType.c167
-rw-r--r--src/ranap/RANAP_MBMSRegistrationRequestType.h51
-rw-r--r--src/ranap/RANAP_MBMSRegistrationResponse.c145
-rw-r--r--src/ranap/RANAP_MBMSRegistrationResponse.h48
-rw-r--r--src/ranap/RANAP_MBMSServiceArea.c143
-rw-r--r--src/ranap/RANAP_MBMSServiceArea.h42
-rw-r--r--src/ranap/RANAP_MBMSSessionDuration.c166
-rw-r--r--src/ranap/RANAP_MBMSSessionDuration.h42
-rw-r--r--src/ranap/RANAP_MBMSSessionIdentity.c166
-rw-r--r--src/ranap/RANAP_MBMSSessionIdentity.h42
-rw-r--r--src/ranap/RANAP_MBMSSessionRepetitionNumber.c166
-rw-r--r--src/ranap/RANAP_MBMSSessionRepetitionNumber.h42
-rw-r--r--src/ranap/RANAP_MBMSSessionStart.c145
-rw-r--r--src/ranap/RANAP_MBMSSessionStart.h48
-rw-r--r--src/ranap/RANAP_MBMSSessionStartFailure.c145
-rw-r--r--src/ranap/RANAP_MBMSSessionStartFailure.h48
-rw-r--r--src/ranap/RANAP_MBMSSessionStartResponse.c145
-rw-r--r--src/ranap/RANAP_MBMSSessionStartResponse.h48
-rw-r--r--src/ranap/RANAP_MBMSSessionStop.c145
-rw-r--r--src/ranap/RANAP_MBMSSessionStop.h48
-rw-r--r--src/ranap/RANAP_MBMSSessionStopResponse.c145
-rw-r--r--src/ranap/RANAP_MBMSSessionStopResponse.h48
-rw-r--r--src/ranap/RANAP_MBMSSessionUpdate.c145
-rw-r--r--src/ranap/RANAP_MBMSSessionUpdate.h48
-rw-r--r--src/ranap/RANAP_MBMSSessionUpdateFailure.c145
-rw-r--r--src/ranap/RANAP_MBMSSessionUpdateFailure.h48
-rw-r--r--src/ranap/RANAP_MBMSSessionUpdateResponse.c145
-rw-r--r--src/ranap/RANAP_MBMSSessionUpdateResponse.h48
-rw-r--r--src/ranap/RANAP_MBMSUELinkingRequest.c145
-rw-r--r--src/ranap/RANAP_MBMSUELinkingRequest.h48
-rw-r--r--src/ranap/RANAP_MBMSUELinkingResponse.c145
-rw-r--r--src/ranap/RANAP_MBMSUELinkingResponse.h48
-rw-r--r--src/ranap/RANAP_MDT-Activation.c169
-rw-r--r--src/ranap/RANAP_MDT-Activation.h52
-rw-r--r--src/ranap/RANAP_MDT-Configuration.c93
-rw-r--r--src/ranap/RANAP_MDT-Configuration.h47
-rw-r--r--src/ranap/RANAP_MDT-PLMN-List.c59
-rw-r--r--src/ranap/RANAP_MDT-PLMN-List.h38
-rw-r--r--src/ranap/RANAP_MDT-Report-Parameters.c71
-rw-r--r--src/ranap/RANAP_MDT-Report-Parameters.h43
-rw-r--r--src/ranap/RANAP_MDTAreaScope.c92
-rw-r--r--src/ranap/RANAP_MDTAreaScope.h61
-rw-r--r--src/ranap/RANAP_MDTMode.c72
-rw-r--r--src/ranap/RANAP_MDTMode.h55
-rw-r--r--src/ranap/RANAP_MSISDN.c166
-rw-r--r--src/ranap/RANAP_MSISDN.h42
-rw-r--r--src/ranap/RANAP_Management-Based-MDT-Allowed.c165
-rw-r--r--src/ranap/RANAP_Management-Based-MDT-Allowed.h50
-rw-r--r--src/ranap/RANAP_MaxBitrate.c165
-rw-r--r--src/ranap/RANAP_MaxBitrate.h42
-rw-r--r--src/ranap/RANAP_MaxSDU-Size.c165
-rw-r--r--src/ranap/RANAP_MaxSDU-Size.h42
-rw-r--r--src/ranap/RANAP_MeasBand.c173
-rw-r--r--src/ranap/RANAP_MeasBand.h52
-rw-r--r--src/ranap/RANAP_MeasurementQuantity.c169
-rw-r--r--src/ranap/RANAP_MeasurementQuantity.h52
-rw-r--r--src/ranap/RANAP_MeasurementsToActivate.c171
-rw-r--r--src/ranap/RANAP_MeasurementsToActivate.h42
-rw-r--r--src/ranap/RANAP_MessageStructure.c135
-rw-r--r--src/ranap/RANAP_MessageStructure.h52
-rw-r--r--src/ranap/RANAP_NAS-PDU.c143
-rw-r--r--src/ranap/RANAP_NAS-PDU.h42
-rw-r--r--src/ranap/RANAP_NAS-SequenceNumber.c171
-rw-r--r--src/ranap/RANAP_NAS-SequenceNumber.h42
-rw-r--r--src/ranap/RANAP_NAS-SynchronisationIndicator.c171
-rw-r--r--src/ranap/RANAP_NAS-SynchronisationIndicator.h42
-rw-r--r--src/ranap/RANAP_NRTLoadInformationValue.c165
-rw-r--r--src/ranap/RANAP_NRTLoadInformationValue.h42
-rw-r--r--src/ranap/RANAP_NewBSS-To-OldBSS-Information.c143
-rw-r--r--src/ranap/RANAP_NewBSS-To-OldBSS-Information.h42
-rw-r--r--src/ranap/RANAP_NewRAListofIdleModeUEs.c59
-rw-r--r--src/ranap/RANAP_NewRAListofIdleModeUEs.h38
-rw-r--r--src/ranap/RANAP_NonSearchingIndication.c165
-rw-r--r--src/ranap/RANAP_NonSearchingIndication.h48
-rw-r--r--src/ranap/RANAP_NotEmptyRAListofIdleModeUEs.c73
-rw-r--r--src/ranap/RANAP_NotEmptyRAListofIdleModeUEs.h39
-rw-r--r--src/ranap/RANAP_NumberOfIuInstances.c165
-rw-r--r--src/ranap/RANAP_NumberOfIuInstances.h42
-rw-r--r--src/ranap/RANAP_NumberOfSteps.c165
-rw-r--r--src/ranap/RANAP_NumberOfSteps.h42
-rw-r--r--src/ranap/RANAP_OMC-ID.c166
-rw-r--r--src/ranap/RANAP_OMC-ID.h42
-rw-r--r--src/ranap/RANAP_Offload-RAB-Parameters-APN.c166
-rw-r--r--src/ranap/RANAP_Offload-RAB-Parameters-APN.h42
-rw-r--r--src/ranap/RANAP_Offload-RAB-Parameters-ChargingCharacteristics.c166
-rw-r--r--src/ranap/RANAP_Offload-RAB-Parameters-ChargingCharacteristics.h42
-rw-r--r--src/ranap/RANAP_Offload-RAB-Parameters.c83
-rw-r--r--src/ranap/RANAP_Offload-RAB-Parameters.h45
-rw-r--r--src/ranap/RANAP_OldBSS-ToNewBSS-Information.c143
-rw-r--r--src/ranap/RANAP_OldBSS-ToNewBSS-Information.h42
-rw-r--r--src/ranap/RANAP_Out-Of-UTRAN.c165
-rw-r--r--src/ranap/RANAP_Out-Of-UTRAN.h50
-rw-r--r--src/ranap/RANAP_Outcome.c81
-rw-r--r--src/ranap/RANAP_Outcome.h41
-rw-r--r--src/ranap/RANAP_Overload.c145
-rw-r--r--src/ranap/RANAP_Overload.h48
-rw-r--r--src/ranap/RANAP_P-TMSI.c166
-rw-r--r--src/ranap/RANAP_P-TMSI.h42
-rw-r--r--src/ranap/RANAP_PDP-Type-extension.c165
-rw-r--r--src/ranap/RANAP_PDP-Type-extension.h50
-rw-r--r--src/ranap/RANAP_PDP-Type.c173
-rw-r--r--src/ranap/RANAP_PDP-Type.h54
-rw-r--r--src/ranap/RANAP_PDP-TypeInformation-extension.c59
-rw-r--r--src/ranap/RANAP_PDP-TypeInformation-extension.h38
-rw-r--r--src/ranap/RANAP_PDP-TypeInformation.c59
-rw-r--r--src/ranap/RANAP_PDP-TypeInformation.h38
-rw-r--r--src/ranap/RANAP_PDUType14FrameSequenceNumber.c165
-rw-r--r--src/ranap/RANAP_PDUType14FrameSequenceNumber.h42
-rw-r--r--src/ranap/RANAP_PLMNidentity.c162
-rw-r--r--src/ranap/RANAP_PLMNidentity.h43
-rw-r--r--src/ranap/RANAP_PLMNs-in-shared-network.c135
-rw-r--r--src/ranap/RANAP_PLMNs-in-shared-network.h52
-rw-r--r--src/ranap/RANAP_Paging.c145
-rw-r--r--src/ranap/RANAP_Paging.h48
-rw-r--r--src/ranap/RANAP_PagingAreaID.c72
-rw-r--r--src/ranap/RANAP_PagingAreaID.h55
-rw-r--r--src/ranap/RANAP_PagingCause.c175
-rw-r--r--src/ranap/RANAP_PagingCause.h55
-rw-r--r--src/ranap/RANAP_PeriodicLocationInfo.c143
-rw-r--r--src/ranap/RANAP_PeriodicLocationInfo.h44
-rw-r--r--src/ranap/RANAP_PeriodicReportingIndicator.c167
-rw-r--r--src/ranap/RANAP_PeriodicReportingIndicator.h51
-rw-r--r--src/ranap/RANAP_PermanentNAS-UE-ID.c62
-rw-r--r--src/ranap/RANAP_PermanentNAS-UE-ID.h52
-rw-r--r--src/ranap/RANAP_PermittedEncryptionAlgorithms.c59
-rw-r--r--src/ranap/RANAP_PermittedEncryptionAlgorithms.h38
-rw-r--r--src/ranap/RANAP_PermittedIntegrityProtectionAlgorithms.c59
-rw-r--r--src/ranap/RANAP_PermittedIntegrityProtectionAlgorithms.h38
-rw-r--r--src/ranap/RANAP_Port-Number.c166
-rw-r--r--src/ranap/RANAP_Port-Number.h42
-rw-r--r--src/ranap/RANAP_PositionData.c83
-rw-r--r--src/ranap/RANAP_PositionData.h45
-rw-r--r--src/ranap/RANAP_PositionDataSpecificToGERANIuMode.c143
-rw-r--r--src/ranap/RANAP_PositionDataSpecificToGERANIuMode.h42
-rw-r--r--src/ranap/RANAP_PositioningDataDiscriminator.c171
-rw-r--r--src/ranap/RANAP_PositioningDataDiscriminator.h42
-rw-r--r--src/ranap/RANAP_PositioningDataSet.c59
-rw-r--r--src/ranap/RANAP_PositioningDataSet.h38
-rw-r--r--src/ranap/RANAP_PositioningMethodAndUsage.c166
-rw-r--r--src/ranap/RANAP_PositioningMethodAndUsage.h42
-rw-r--r--src/ranap/RANAP_PositioningPriority.c167
-rw-r--r--src/ranap/RANAP_PositioningPriority.h51
-rw-r--r--src/ranap/RANAP_Pre-emptionCapability.c165
-rw-r--r--src/ranap/RANAP_Pre-emptionCapability.h48
-rw-r--r--src/ranap/RANAP_Pre-emptionVulnerability.c165
-rw-r--r--src/ranap/RANAP_Pre-emptionVulnerability.h48
-rw-r--r--src/ranap/RANAP_Presence.c167
-rw-r--r--src/ranap/RANAP_Presence.h49
-rw-r--r--src/ranap/RANAP_Priority-Class-Indicator.c171
-rw-r--r--src/ranap/RANAP_Priority-Class-Indicator.h42
-rw-r--r--src/ranap/RANAP_PriorityLevel.c165
-rw-r--r--src/ranap/RANAP_PriorityLevel.h50
-rw-r--r--src/ranap/RANAP_PrivateIE-ID.c102
-rw-r--r--src/ranap/RANAP_PrivateIE-ID.h49
-rw-r--r--src/ranap/RANAP_PrivateMessage.c145
-rw-r--r--src/ranap/RANAP_PrivateMessage.h48
-rw-r--r--src/ranap/RANAP_ProcedureCode.c165
-rw-r--r--src/ranap/RANAP_ProcedureCode.h93
-rw-r--r--src/ranap/RANAP_ProtocolExtensionID.c165
-rw-r--r--src/ranap/RANAP_ProtocolExtensionID.h42
-rw-r--r--src/ranap/RANAP_ProtocolIE-ID.c165
-rw-r--r--src/ranap/RANAP_ProtocolIE-ID.h318
-rw-r--r--src/ranap/RANAP_ProvidedData.c62
-rw-r--r--src/ranap/RANAP_ProvidedData.h52
-rw-r--r--src/ranap/RANAP_QueuingAllowed.c165
-rw-r--r--src/ranap/RANAP_QueuingAllowed.h48
-rw-r--r--src/ranap/RANAP_RAB-AssignmentRequest.c145
-rw-r--r--src/ranap/RANAP_RAB-AssignmentRequest.h48
-rw-r--r--src/ranap/RANAP_RAB-AssignmentResponse.c145
-rw-r--r--src/ranap/RANAP_RAB-AssignmentResponse.h48
-rw-r--r--src/ranap/RANAP_RAB-AsymmetryIndicator.c171
-rw-r--r--src/ranap/RANAP_RAB-AsymmetryIndicator.h53
-rw-r--r--src/ranap/RANAP_RAB-ID.c171
-rw-r--r--src/ranap/RANAP_RAB-ID.h42
-rw-r--r--src/ranap/RANAP_RAB-ModifyRequest.c145
-rw-r--r--src/ranap/RANAP_RAB-ModifyRequest.h48
-rw-r--r--src/ranap/RANAP_RAB-Parameter-ExtendedGuaranteedBitrateList.c59
-rw-r--r--src/ranap/RANAP_RAB-Parameter-ExtendedGuaranteedBitrateList.h38
-rw-r--r--src/ranap/RANAP_RAB-Parameter-ExtendedMaxBitrateList.c59
-rw-r--r--src/ranap/RANAP_RAB-Parameter-ExtendedMaxBitrateList.h38
-rw-r--r--src/ranap/RANAP_RAB-Parameter-GuaranteedBitrateList.c59
-rw-r--r--src/ranap/RANAP_RAB-Parameter-GuaranteedBitrateList.h38
-rw-r--r--src/ranap/RANAP_RAB-Parameter-MaxBitrateList.c59
-rw-r--r--src/ranap/RANAP_RAB-Parameter-MaxBitrateList.h38
-rw-r--r--src/ranap/RANAP_RAB-Parameters.c183
-rw-r--r--src/ranap/RANAP_RAB-Parameters.h65
-rw-r--r--src/ranap/RANAP_RAB-ReleaseRequest.c145
-rw-r--r--src/ranap/RANAP_RAB-ReleaseRequest.h48
-rw-r--r--src/ranap/RANAP_RAB-SubflowCombinationBitRate.c165
-rw-r--r--src/ranap/RANAP_RAB-SubflowCombinationBitRate.h42
-rw-r--r--src/ranap/RANAP_RAB-TrCH-Mapping.c59
-rw-r--r--src/ranap/RANAP_RAB-TrCH-Mapping.h38
-rw-r--r--src/ranap/RANAP_RAB-TrCH-MappingItem.c83
-rw-r--r--src/ranap/RANAP_RAB-TrCH-MappingItem.h45
-rw-r--r--src/ranap/RANAP_RABDataVolumeReport.c135
-rw-r--r--src/ranap/RANAP_RABDataVolumeReport.h52
-rw-r--r--src/ranap/RANAP_RABParametersList.c155
-rw-r--r--src/ranap/RANAP_RABParametersList.h56
-rw-r--r--src/ranap/RANAP_RABased.c73
-rw-r--r--src/ranap/RANAP_RABased.h43
-rw-r--r--src/ranap/RANAP_RAC.c166
-rw-r--r--src/ranap/RANAP_RAC.h42
-rw-r--r--src/ranap/RANAP_RAI-List.c59
-rw-r--r--src/ranap/RANAP_RAI-List.h38
-rw-r--r--src/ranap/RANAP_RAI.c83
-rw-r--r--src/ranap/RANAP_RAI.h45
-rw-r--r--src/ranap/RANAP_RAListofIdleModeUEs.c233
-rw-r--r--src/ranap/RANAP_RAListofIdleModeUEs.h63
-rw-r--r--src/ranap/RANAP_RAListwithNoIdleModeUEsAnyMore.c59
-rw-r--r--src/ranap/RANAP_RAListwithNoIdleModeUEsAnyMore.h38
-rw-r--r--src/ranap/RANAP_RANAP-EnhancedRelocationInformationRequest.c145
-rw-r--r--src/ranap/RANAP_RANAP-EnhancedRelocationInformationRequest.h48
-rw-r--r--src/ranap/RANAP_RANAP-EnhancedRelocationInformationResponse.c145
-rw-r--r--src/ranap/RANAP_RANAP-EnhancedRelocationInformationResponse.h48
-rw-r--r--src/ranap/RANAP_RANAP-PDU.c92
-rw-r--r--src/ranap/RANAP_RANAP-PDU.h61
-rw-r--r--src/ranap/RANAP_RANAP-RelocationInformation.c145
-rw-r--r--src/ranap/RANAP_RANAP-RelocationInformation.h48
-rw-r--r--src/ranap/RANAP_RAT-Type.c167
-rw-r--r--src/ranap/RANAP_RAT-Type.h51
-rw-r--r--src/ranap/RANAP_RAofIdleModeUEs.c59
-rw-r--r--src/ranap/RANAP_RAofIdleModeUEs.h38
-rw-r--r--src/ranap/RANAP_RIM-Transfer.c83
-rw-r--r--src/ranap/RANAP_RIM-Transfer.h41
-rw-r--r--src/ranap/RANAP_RIMInformation.c143
-rw-r--r--src/ranap/RANAP_RIMInformation.h42
-rw-r--r--src/ranap/RANAP_RIMRoutingAddress.c82
-rw-r--r--src/ranap/RANAP_RIMRoutingAddress.h57
-rw-r--r--src/ranap/RANAP_RNC-ID.c165
-rw-r--r--src/ranap/RANAP_RNC-ID.h42
-rw-r--r--src/ranap/RANAP_RNCTraceInformation.c252
-rw-r--r--src/ranap/RANAP_RNCTraceInformation.h50
-rw-r--r--src/ranap/RANAP_RNSAPRelocationParameters.c103
-rw-r--r--src/ranap/RANAP_RNSAPRelocationParameters.h49
-rw-r--r--src/ranap/RANAP_RRC-Container.c143
-rw-r--r--src/ranap/RANAP_RRC-Container.h42
-rw-r--r--src/ranap/RANAP_RSRQ-Extension.c165
-rw-r--r--src/ranap/RANAP_RSRQ-Extension.h42
-rw-r--r--src/ranap/RANAP_RSRQ-Type.c71
-rw-r--r--src/ranap/RANAP_RSRQ-Type.h38
-rw-r--r--src/ranap/RANAP_RSRVCC-HO-Indication.c165
-rw-r--r--src/ranap/RANAP_RSRVCC-HO-Indication.h50
-rw-r--r--src/ranap/RANAP_RSRVCC-Information.c150
-rw-r--r--src/ranap/RANAP_RSRVCC-Information.h45
-rw-r--r--src/ranap/RANAP_RSRVCC-Operation-Possible.c165
-rw-r--r--src/ranap/RANAP_RSRVCC-Operation-Possible.h50
-rw-r--r--src/ranap/RANAP_RTLoadValue.c165
-rw-r--r--src/ranap/RANAP_RTLoadValue.h42
-rw-r--r--src/ranap/RANAP_RateControlAllowed.c165
-rw-r--r--src/ranap/RANAP_RateControlAllowed.h48
-rw-r--r--src/ranap/RANAP_RedirectAttemptFlag.c143
-rw-r--r--src/ranap/RANAP_RedirectAttemptFlag.h42
-rw-r--r--src/ranap/RANAP_RedirectionCompleted.c165
-rw-r--r--src/ranap/RANAP_RedirectionCompleted.h50
-rw-r--r--src/ranap/RANAP_RejectCauseValue.c179
-rw-r--r--src/ranap/RANAP_RejectCauseValue.h57
-rw-r--r--src/ranap/RANAP_RelocationCancel.c145
-rw-r--r--src/ranap/RANAP_RelocationCancel.h48
-rw-r--r--src/ranap/RANAP_RelocationCancelAcknowledge.c145
-rw-r--r--src/ranap/RANAP_RelocationCancelAcknowledge.h48
-rw-r--r--src/ranap/RANAP_RelocationCommand.c145
-rw-r--r--src/ranap/RANAP_RelocationCommand.h48
-rw-r--r--src/ranap/RANAP_RelocationComplete.c145
-rw-r--r--src/ranap/RANAP_RelocationComplete.h48
-rw-r--r--src/ranap/RANAP_RelocationDetect.c145
-rw-r--r--src/ranap/RANAP_RelocationDetect.h48
-rw-r--r--src/ranap/RANAP_RelocationFailure.c145
-rw-r--r--src/ranap/RANAP_RelocationFailure.h48
-rw-r--r--src/ranap/RANAP_RelocationPreparationFailure.c145
-rw-r--r--src/ranap/RANAP_RelocationPreparationFailure.h48
-rw-r--r--src/ranap/RANAP_RelocationRequest.c145
-rw-r--r--src/ranap/RANAP_RelocationRequest.h48
-rw-r--r--src/ranap/RANAP_RelocationRequestAcknowledge.c145
-rw-r--r--src/ranap/RANAP_RelocationRequestAcknowledge.h48
-rw-r--r--src/ranap/RANAP_RelocationRequired.c145
-rw-r--r--src/ranap/RANAP_RelocationRequired.h48
-rw-r--r--src/ranap/RANAP_RelocationRequirement.c169
-rw-r--r--src/ranap/RANAP_RelocationRequirement.h52
-rw-r--r--src/ranap/RANAP_RelocationType.c167
-rw-r--r--src/ranap/RANAP_RelocationType.h51
-rw-r--r--src/ranap/RANAP_RepetitionNumber0.c165
-rw-r--r--src/ranap/RANAP_RepetitionNumber0.h42
-rw-r--r--src/ranap/RANAP_RepetitionNumber1.c165
-rw-r--r--src/ranap/RANAP_RepetitionNumber1.h42
-rw-r--r--src/ranap/RANAP_ReportAmount.c179
-rw-r--r--src/ranap/RANAP_ReportAmount.h57
-rw-r--r--src/ranap/RANAP_ReportArea.c167
-rw-r--r--src/ranap/RANAP_ReportArea.h51
-rw-r--r--src/ranap/RANAP_ReportChangeOfSAI.c165
-rw-r--r--src/ranap/RANAP_ReportChangeOfSAI.h50
-rw-r--r--src/ranap/RANAP_ReportInterval.c193
-rw-r--r--src/ranap/RANAP_ReportInterval.h64
-rw-r--r--src/ranap/RANAP_RequestType.c113
-rw-r--r--src/ranap/RANAP_RequestType.h45
-rw-r--r--src/ranap/RANAP_Requested-RAB-Parameter-ExtendedGuaranteedBitrateList.c59
-rw-r--r--src/ranap/RANAP_Requested-RAB-Parameter-ExtendedGuaranteedBitrateList.h38
-rw-r--r--src/ranap/RANAP_Requested-RAB-Parameter-ExtendedMaxBitrateList.c59
-rw-r--r--src/ranap/RANAP_Requested-RAB-Parameter-ExtendedMaxBitrateList.h38
-rw-r--r--src/ranap/RANAP_Requested-RAB-Parameter-GuaranteedBitrateList.c59
-rw-r--r--src/ranap/RANAP_Requested-RAB-Parameter-GuaranteedBitrateList.h38
-rw-r--r--src/ranap/RANAP_Requested-RAB-Parameter-MaxBitrateList.c59
-rw-r--r--src/ranap/RANAP_Requested-RAB-Parameter-MaxBitrateList.h38
-rw-r--r--src/ranap/RANAP_Requested-RAB-Parameter-Values.c83
-rw-r--r--src/ranap/RANAP_Requested-RAB-Parameter-Values.h45
-rw-r--r--src/ranap/RANAP_RequestedGANSSAssistanceData.c166
-rw-r--r--src/ranap/RANAP_RequestedGANSSAssistanceData.h42
-rw-r--r--src/ranap/RANAP_RequestedGPSAssistanceData.c166
-rw-r--r--src/ranap/RANAP_RequestedGPSAssistanceData.h42
-rw-r--r--src/ranap/RANAP_RequestedLocationRelatedDataType.c179
-rw-r--r--src/ranap/RANAP_RequestedLocationRelatedDataType.h57
-rw-r--r--src/ranap/RANAP_RequestedMBMSIPMulticastAddressandAPNRequest.c59
-rw-r--r--src/ranap/RANAP_RequestedMBMSIPMulticastAddressandAPNRequest.h38
-rw-r--r--src/ranap/RANAP_RequestedMulticastServiceList.c59
-rw-r--r--src/ranap/RANAP_RequestedMulticastServiceList.h38
-rw-r--r--src/ranap/RANAP_Reset.c145
-rw-r--r--src/ranap/RANAP_Reset.h48
-rw-r--r--src/ranap/RANAP_ResetAcknowledge.c145
-rw-r--r--src/ranap/RANAP_ResetAcknowledge.h48
-rw-r--r--src/ranap/RANAP_ResetResource.c145
-rw-r--r--src/ranap/RANAP_ResetResource.h48
-rw-r--r--src/ranap/RANAP_ResetResourceAcknowledge.c145
-rw-r--r--src/ranap/RANAP_ResetResourceAcknowledge.h48
-rw-r--r--src/ranap/RANAP_ResidualBitErrorRatio.c143
-rw-r--r--src/ranap/RANAP_ResidualBitErrorRatio.h40
-rw-r--r--src/ranap/RANAP_ResponseTime.c167
-rw-r--r--src/ranap/RANAP_ResponseTime.h51
-rw-r--r--src/ranap/RANAP_SAC.c166
-rw-r--r--src/ranap/RANAP_SAC.h42
-rw-r--r--src/ranap/RANAP_SAI.c93
-rw-r--r--src/ranap/RANAP_SAI.h43
-rw-r--r--src/ranap/RANAP_SAPI.c167
-rw-r--r--src/ranap/RANAP_SAPI.h51
-rw-r--r--src/ranap/RANAP_SDU-ErrorRatio.c143
-rw-r--r--src/ranap/RANAP_SDU-ErrorRatio.h40
-rw-r--r--src/ranap/RANAP_SDU-FormatInformationParameters.c135
-rw-r--r--src/ranap/RANAP_SDU-FormatInformationParameters.h52
-rw-r--r--src/ranap/RANAP_SDU-Parameters.c155
-rw-r--r--src/ranap/RANAP_SDU-Parameters.h56
-rw-r--r--src/ranap/RANAP_SNA-Access-Information.c73
-rw-r--r--src/ranap/RANAP_SNA-Access-Information.h43
-rw-r--r--src/ranap/RANAP_SNAC.c165
-rw-r--r--src/ranap/RANAP_SNAC.h42
-rw-r--r--src/ranap/RANAP_SRB-ID.c165
-rw-r--r--src/ranap/RANAP_SRB-ID.h42
-rw-r--r--src/ranap/RANAP_SRB-TrCH-Mapping.c59
-rw-r--r--src/ranap/RANAP_SRB-TrCH-Mapping.h38
-rw-r--r--src/ranap/RANAP_SRB-TrCH-MappingItem.c83
-rw-r--r--src/ranap/RANAP_SRB-TrCH-MappingItem.h45
-rw-r--r--src/ranap/RANAP_SRNS-ContextRequest.c145
-rw-r--r--src/ranap/RANAP_SRNS-ContextRequest.h48
-rw-r--r--src/ranap/RANAP_SRNS-ContextResponse.c145
-rw-r--r--src/ranap/RANAP_SRNS-ContextResponse.h48
-rw-r--r--src/ranap/RANAP_SRNS-DataForwardCommand.c145
-rw-r--r--src/ranap/RANAP_SRNS-DataForwardCommand.h48
-rw-r--r--src/ranap/RANAP_SRVCC-CSKeysRequest.c145
-rw-r--r--src/ranap/RANAP_SRVCC-CSKeysRequest.h48
-rw-r--r--src/ranap/RANAP_SRVCC-CSKeysResponse.c145
-rw-r--r--src/ranap/RANAP_SRVCC-CSKeysResponse.h48
-rw-r--r--src/ranap/RANAP_SRVCC-HO-Indication.c167
-rw-r--r--src/ranap/RANAP_SRVCC-HO-Indication.h51
-rw-r--r--src/ranap/RANAP_SRVCC-Information.c109
-rw-r--r--src/ranap/RANAP_SRVCC-Information.h43
-rw-r--r--src/ranap/RANAP_SRVCC-Operation-Possible.c165
-rw-r--r--src/ranap/RANAP_SRVCC-Operation-Possible.h50
-rw-r--r--src/ranap/RANAP_SecurityModeCommand.c145
-rw-r--r--src/ranap/RANAP_SecurityModeCommand.h48
-rw-r--r--src/ranap/RANAP_SecurityModeComplete.c145
-rw-r--r--src/ranap/RANAP_SecurityModeComplete.h48
-rw-r--r--src/ranap/RANAP_SecurityModeReject.c145
-rw-r--r--src/ranap/RANAP_SecurityModeReject.h48
-rw-r--r--src/ranap/RANAP_Service-Handover.c169
-rw-r--r--src/ranap/RANAP_Service-Handover.h52
-rw-r--r--src/ranap/RANAP_Session-Re-establishment-Indicator.c165
-rw-r--r--src/ranap/RANAP_Session-Re-establishment-Indicator.h50
-rw-r--r--src/ranap/RANAP_SessionUpdateID.c165
-rw-r--r--src/ranap/RANAP_SessionUpdateID.h42
-rw-r--r--src/ranap/RANAP_Shared-Network-Information.c73
-rw-r--r--src/ranap/RANAP_Shared-Network-Information.h43
-rw-r--r--src/ranap/RANAP_SignallingIndication.c165
-rw-r--r--src/ranap/RANAP_SignallingIndication.h50
-rw-r--r--src/ranap/RANAP_Source-ToTarget-TransparentContainer.c143
-rw-r--r--src/ranap/RANAP_Source-ToTarget-TransparentContainer.h42
-rw-r--r--src/ranap/RANAP_SourceBSS-ToTargetBSS-TransparentContainer.c143
-rw-r--r--src/ranap/RANAP_SourceBSS-ToTargetBSS-TransparentContainer.h42
-rw-r--r--src/ranap/RANAP_SourceCellID.c72
-rw-r--r--src/ranap/RANAP_SourceCellID.h55
-rw-r--r--src/ranap/RANAP_SourceID.c72
-rw-r--r--src/ranap/RANAP_SourceID.h55
-rw-r--r--src/ranap/RANAP_SourceRNC-ID.c83
-rw-r--r--src/ranap/RANAP_SourceRNC-ID.h41
-rw-r--r--src/ranap/RANAP_SourceRNC-ToTargetRNC-TransparentContainer.c183
-rw-r--r--src/ranap/RANAP_SourceRNC-ToTargetRNC-TransparentContainer.h63
-rw-r--r--src/ranap/RANAP_SourceStatisticsDescriptor.c167
-rw-r--r--src/ranap/RANAP_SourceStatisticsDescriptor.h51
-rw-r--r--src/ranap/RANAP_SourceUTRANCellID.c83
-rw-r--r--src/ranap/RANAP_SourceUTRANCellID.h41
-rw-r--r--src/ranap/RANAP_SourceeNodeB-ToTargeteNodeB-TransparentContainer.c143
-rw-r--r--src/ranap/RANAP_SourceeNodeB-ToTargeteNodeB-TransparentContainer.h42
-rw-r--r--src/ranap/RANAP_SubflowSDU-Size.c165
-rw-r--r--src/ranap/RANAP_SubflowSDU-Size.h42
-rw-r--r--src/ranap/RANAP_SubscriberProfileIDforRFP.c165
-rw-r--r--src/ranap/RANAP_SubscriberProfileIDforRFP.h42
-rw-r--r--src/ranap/RANAP_SuccessfulOutcome.c81
-rw-r--r--src/ranap/RANAP_SuccessfulOutcome.h41
-rw-r--r--src/ranap/RANAP_SupportedBitrate.c165
-rw-r--r--src/ranap/RANAP_SupportedBitrate.h42
-rw-r--r--src/ranap/RANAP_SupportedRAB-ParameterBitrateList.c59
-rw-r--r--src/ranap/RANAP_SupportedRAB-ParameterBitrateList.h38
-rw-r--r--src/ranap/RANAP_TAC.c166
-rw-r--r--src/ranap/RANAP_TAC.h42
-rw-r--r--src/ranap/RANAP_TAI.c83
-rw-r--r--src/ranap/RANAP_TAI.h41
-rw-r--r--src/ranap/RANAP_TBCD-STRING.c143
-rw-r--r--src/ranap/RANAP_TBCD-STRING.h42
-rw-r--r--src/ranap/RANAP_TMGI.c114
-rw-r--r--src/ranap/RANAP_TMGI.h41
-rw-r--r--src/ranap/RANAP_TMSI.c166
-rw-r--r--src/ranap/RANAP_TMSI.h42
-rw-r--r--src/ranap/RANAP_Target-ToSource-TransparentContainer.c143
-rw-r--r--src/ranap/RANAP_Target-ToSource-TransparentContainer.h42
-rw-r--r--src/ranap/RANAP_TargetBSS-ToSourceBSS-TransparentContainer.c143
-rw-r--r--src/ranap/RANAP_TargetBSS-ToSourceBSS-TransparentContainer.h42
-rw-r--r--src/ranap/RANAP_TargetCellId.c165
-rw-r--r--src/ranap/RANAP_TargetCellId.h42
-rw-r--r--src/ranap/RANAP_TargetENB-ID.c93
-rw-r--r--src/ranap/RANAP_TargetENB-ID.h47
-rw-r--r--src/ranap/RANAP_TargetID.c82
-rw-r--r--src/ranap/RANAP_TargetID.h57
-rw-r--r--src/ranap/RANAP_TargetRNC-ID.c93
-rw-r--r--src/ranap/RANAP_TargetRNC-ID.h43
-rw-r--r--src/ranap/RANAP_TargetRNC-ToSourceRNC-TransparentContainer.c83
-rw-r--r--src/ranap/RANAP_TargetRNC-ToSourceRNC-TransparentContainer.h45
-rw-r--r--src/ranap/RANAP_TargeteNodeB-ToSourceeNodeB-TransparentContainer.c143
-rw-r--r--src/ranap/RANAP_TargeteNodeB-ToSourceeNodeB-TransparentContainer.h42
-rw-r--r--src/ranap/RANAP_TemporaryUE-ID.c72
-rw-r--r--src/ranap/RANAP_TemporaryUE-ID.h55
-rw-r--r--src/ranap/RANAP_Time-UE-StayedInCell-EnhancedGranularity.c165
-rw-r--r--src/ranap/RANAP_Time-UE-StayedInCell-EnhancedGranularity.h42
-rw-r--r--src/ranap/RANAP_Time-UE-StayedInCell.c165
-rw-r--r--src/ranap/RANAP_Time-UE-StayedInCell.h42
-rw-r--r--src/ranap/RANAP_TimeToMBMSDataTransfer.c166
-rw-r--r--src/ranap/RANAP_TimeToMBMSDataTransfer.h42
-rw-r--r--src/ranap/RANAP_TimingDifferenceULDL.c166
-rw-r--r--src/ranap/RANAP_TimingDifferenceULDL.h42
-rw-r--r--src/ranap/RANAP_TrCH-ID-List.c59
-rw-r--r--src/ranap/RANAP_TrCH-ID-List.h38
-rw-r--r--src/ranap/RANAP_TrCH-ID.c93
-rw-r--r--src/ranap/RANAP_TrCH-ID.h47
-rw-r--r--src/ranap/RANAP_TraceDepth.c169
-rw-r--r--src/ranap/RANAP_TraceDepth.h52
-rw-r--r--src/ranap/RANAP_TraceInformation.c93
-rw-r--r--src/ranap/RANAP_TraceInformation.h47
-rw-r--r--src/ranap/RANAP_TracePropagationParameters.c93
-rw-r--r--src/ranap/RANAP_TracePropagationParameters.h47
-rw-r--r--src/ranap/RANAP_TraceRecordingSessionInformation.c83
-rw-r--r--src/ranap/RANAP_TraceRecordingSessionInformation.h45
-rw-r--r--src/ranap/RANAP_TraceRecordingSessionReference.c165
-rw-r--r--src/ranap/RANAP_TraceRecordingSessionReference.h42
-rw-r--r--src/ranap/RANAP_TraceReference.c166
-rw-r--r--src/ranap/RANAP_TraceReference.h42
-rw-r--r--src/ranap/RANAP_TraceType.c166
-rw-r--r--src/ranap/RANAP_TraceType.h42
-rw-r--r--src/ranap/RANAP_TrafficClass.c171
-rw-r--r--src/ranap/RANAP_TrafficClass.h53
-rw-r--r--src/ranap/RANAP_TrafficHandlingPriority.c165
-rw-r--r--src/ranap/RANAP_TrafficHandlingPriority.h50
-rw-r--r--src/ranap/RANAP_TransferDelay.c165
-rw-r--r--src/ranap/RANAP_TransferDelay.h42
-rw-r--r--src/ranap/RANAP_TransportLayerAddress.c171
-rw-r--r--src/ranap/RANAP_TransportLayerAddress.h42
-rw-r--r--src/ranap/RANAP_TriggerID.c166
-rw-r--r--src/ranap/RANAP_TriggerID.h42
-rw-r--r--src/ranap/RANAP_TriggeringMessage.c169
-rw-r--r--src/ranap/RANAP_TriggeringMessage.h50
-rw-r--r--src/ranap/RANAP_TunnelInformation.c83
-rw-r--r--src/ranap/RANAP_TunnelInformation.h45
-rw-r--r--src/ranap/RANAP_TypeOfError.c167
-rw-r--r--src/ranap/RANAP_TypeOfError.h51
-rw-r--r--src/ranap/RANAP_UE-AggregateMaximumBitRate.c73
-rw-r--r--src/ranap/RANAP_UE-AggregateMaximumBitRate.h43
-rw-r--r--src/ranap/RANAP_UE-AggregateMaximumBitRateDownlink.c165
-rw-r--r--src/ranap/RANAP_UE-AggregateMaximumBitRateDownlink.h42
-rw-r--r--src/ranap/RANAP_UE-AggregateMaximumBitRateUplink.c165
-rw-r--r--src/ranap/RANAP_UE-AggregateMaximumBitRateUplink.h42
-rw-r--r--src/ranap/RANAP_UE-History-Information.c143
-rw-r--r--src/ranap/RANAP_UE-History-Information.h42
-rw-r--r--src/ranap/RANAP_UE-ID.c82
-rw-r--r--src/ranap/RANAP_UE-ID.h57
-rw-r--r--src/ranap/RANAP_UESBI-Iu.c83
-rw-r--r--src/ranap/RANAP_UESBI-Iu.h45
-rw-r--r--src/ranap/RANAP_UESBI-IuA.c171
-rw-r--r--src/ranap/RANAP_UESBI-IuA.h42
-rw-r--r--src/ranap/RANAP_UESBI-IuB.c171
-rw-r--r--src/ranap/RANAP_UESBI-IuB.h42
-rw-r--r--src/ranap/RANAP_UESpecificInformationIndication.c145
-rw-r--r--src/ranap/RANAP_UESpecificInformationIndication.h48
-rw-r--r--src/ranap/RANAP_UL-GTP-PDU-SequenceNumber.c165
-rw-r--r--src/ranap/RANAP_UL-GTP-PDU-SequenceNumber.h42
-rw-r--r--src/ranap/RANAP_UL-N-PDU-SequenceNumber.c165
-rw-r--r--src/ranap/RANAP_UL-N-PDU-SequenceNumber.h42
-rw-r--r--src/ranap/RANAP_UP-ModeVersions.c171
-rw-r--r--src/ranap/RANAP_UP-ModeVersions.h42
-rw-r--r--src/ranap/RANAP_UPInformation.c123
-rw-r--r--src/ranap/RANAP_UPInformation.h51
-rw-r--r--src/ranap/RANAP_UPInitialisationFrame.c143
-rw-r--r--src/ranap/RANAP_UPInitialisationFrame.h42
-rw-r--r--src/ranap/RANAP_USCH-ID.c165
-rw-r--r--src/ranap/RANAP_USCH-ID.h42
-rw-r--r--src/ranap/RANAP_UTRAN-CellID.c83
-rw-r--r--src/ranap/RANAP_UTRAN-CellID.h41
-rw-r--r--src/ranap/RANAP_UeRadioCapabilityMatchRequest.c145
-rw-r--r--src/ranap/RANAP_UeRadioCapabilityMatchRequest.h48
-rw-r--r--src/ranap/RANAP_UeRadioCapabilityMatchResponse.c145
-rw-r--r--src/ranap/RANAP_UeRadioCapabilityMatchResponse.h48
-rw-r--r--src/ranap/RANAP_UnsuccessfulOutcome.c81
-rw-r--r--src/ranap/RANAP_UnsuccessfulOutcome.h41
-rw-r--r--src/ranap/RANAP_UnsuccessfullyTransmittedDataVolume.c161
-rw-r--r--src/ranap/RANAP_UnsuccessfullyTransmittedDataVolume.h42
-rw-r--r--src/ranap/RANAP_UplinkInformationExchangeFailure.c145
-rw-r--r--src/ranap/RANAP_UplinkInformationExchangeFailure.h48
-rw-r--r--src/ranap/RANAP_UplinkInformationExchangeRequest.c145
-rw-r--r--src/ranap/RANAP_UplinkInformationExchangeRequest.h48
-rw-r--r--src/ranap/RANAP_UplinkInformationExchangeResponse.c145
-rw-r--r--src/ranap/RANAP_UplinkInformationExchangeResponse.h48
-rw-r--r--src/ranap/RANAP_UserPlaneMode.c167
-rw-r--r--src/ranap/RANAP_UserPlaneMode.h51
-rw-r--r--src/ranap/RANAP_VelocityEstimate.c92
-rw-r--r--src/ranap/RANAP_VelocityEstimate.h61
-rw-r--r--src/ranap/RANAP_VerticalAccuracyCode.c165
-rw-r--r--src/ranap/RANAP_VerticalAccuracyCode.h42
-rw-r--r--src/ranap/RANAP_VerticalSpeedDirection.c165
-rw-r--r--src/ranap/RANAP_VerticalSpeedDirection.h48
-rw-r--r--src/ranap/RANAP_VerticalVelocity.c101
-rw-r--r--src/ranap/RANAP_VerticalVelocity.h39
-rw-r--r--src/ranap/RANAP_VoiceSupportMatchIndicator.c167
-rw-r--r--src/ranap/RANAP_VoiceSupportMatchIndicator.h51
993 files changed, 90548 insertions, 0 deletions
diff --git a/src/ranap/Makefile b/src/ranap/Makefile
new file mode 100644
index 0000000..bcd7fd1
--- /dev/null
+++ b/src/ranap/Makefile
@@ -0,0 +1,1031 @@
+ASN_MODULE_SOURCES= \
+ RANAP_Criticality.c \
+ RANAP_Presence.c \
+ RANAP_PrivateIE-ID.c \
+ RANAP_ProcedureCode.c \
+ RANAP_ProtocolExtensionID.c \
+ RANAP_ProtocolIE-ID.c \
+ RANAP_TriggeringMessage.c \
+ RANAP_IE-Extensions.c \
+ RANAP_AccuracyFulfilmentIndicator.c \
+ RANAP_AllocationOrRetentionPriority.c \
+ RANAP_Alt-RAB-Parameters.c \
+ RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf.c \
+ RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrates.c \
+ RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateList.c \
+ RANAP_Alt-RAB-Parameter-GuaranteedBitrateInf.c \
+ RANAP_Alt-RAB-Parameter-GuaranteedBitrateType.c \
+ RANAP_Alt-RAB-Parameter-GuaranteedBitrates.c \
+ RANAP_Alt-RAB-Parameter-GuaranteedBitrateList.c \
+ RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrateInf.c \
+ RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrates.c \
+ RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateInf.c \
+ RANAP_Alt-RAB-Parameter-ExtendedMaxBitrates.c \
+ RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateList.c \
+ RANAP_Alt-RAB-Parameter-MaxBitrateInf.c \
+ RANAP_Alt-RAB-Parameter-MaxBitrateType.c \
+ RANAP_Alt-RAB-Parameter-MaxBitrates.c \
+ RANAP_Alt-RAB-Parameter-MaxBitrateList.c \
+ RANAP_Alt-RAB-Parameter-SupportedMaxBitrateInf.c \
+ RANAP_Alt-RAB-Parameter-SupportedMaxBitrates.c \
+ RANAP_AlternativeRABConfigurationRequest.c \
+ RANAP_APN.c \
+ RANAP_AreaIdentity.c \
+ RANAP_Ass-RAB-Parameters.c \
+ RANAP_Ass-RAB-Parameter-ExtendedGuaranteedBitrateList.c \
+ RANAP_Ass-RAB-Parameter-ExtendedMaxBitrateList.c \
+ RANAP_Ass-RAB-Parameter-GuaranteedBitrateList.c \
+ RANAP_Ass-RAB-Parameter-MaxBitrateList.c \
+ RANAP_AuthorisedPLMNs.c \
+ RANAP_AuthorisedSNAs.c \
+ RANAP_BindingID.c \
+ RANAP_BroadcastAssistanceDataDecipheringKeys.c \
+ RANAP_Cause.c \
+ RANAP_CauseMisc.c \
+ RANAP_CauseNAS.c \
+ RANAP_CauseProtocol.c \
+ RANAP_CauseRadioNetwork.c \
+ RANAP_CauseRadioNetworkExtension.c \
+ RANAP_CauseNon-Standard.c \
+ RANAP_CauseTransmissionNetwork.c \
+ RANAP_Cell-Access-Mode.c \
+ RANAP_CellBased.c \
+ RANAP_CellIdList.c \
+ RANAP_Cell-Id.c \
+ RANAP_Cell-Capacity-Class-Value.c \
+ RANAP_CellLoadInformation.c \
+ RANAP_CellLoadInformationGroup.c \
+ RANAP_CellType.c \
+ RANAP_ClientType.c \
+ RANAP_CriticalityDiagnostics.c \
+ RANAP_CriticalityDiagnostics-IE-List.c \
+ RANAP_MessageStructure.c \
+ RANAP_CGI.c \
+ RANAP_ChosenEncryptionAlgorithm.c \
+ RANAP_ChosenIntegrityProtectionAlgorithm.c \
+ RANAP_CI.c \
+ RANAP_ClassmarkInformation2.c \
+ RANAP_ClassmarkInformation3.c \
+ RANAP_CN-DomainIndicator.c \
+ RANAP_CN-ID.c \
+ RANAP_Correlation-ID.c \
+ RANAP_CSFB-Information.c \
+ RANAP_CSG-Id.c \
+ RANAP_CSG-Id-List.c \
+ RANAP_CSG-Membership-Status.c \
+ RANAP_DataPDUType.c \
+ RANAP_DataVolumeReference.c \
+ RANAP_DataVolumeReportingIndication.c \
+ RANAP_DCH-ID.c \
+ RANAP_DeliveryOfErroneousSDU.c \
+ RANAP_DeliveryOrder.c \
+ RANAP_DeltaRAListofIdleModeUEs.c \
+ RANAP_NewRAListofIdleModeUEs.c \
+ RANAP_RAListwithNoIdleModeUEsAnyMore.c \
+ RANAP_ForwardingIndication.c \
+ RANAP_DL-GTP-PDU-SequenceNumber.c \
+ RANAP_DL-N-PDU-SequenceNumber.c \
+ RANAP_D-RNTI.c \
+ RANAP_DRX-CycleLengthCoefficient.c \
+ RANAP_DSCH-ID.c \
+ RANAP_EARFCN-Extended.c \
+ RANAP_E-DCH-MAC-d-Flow-ID.c \
+ RANAP_ENB-ID.c \
+ RANAP_EncryptionAlgorithm.c \
+ RANAP_EncryptionInformation.c \
+ RANAP_EncryptionKey.c \
+ RANAP_End-Of-CSFB.c \
+ RANAP_EquipmentsToBeTraced.c \
+ RANAP_E-UTRAN-Service-Handover.c \
+ RANAP_Event.c \
+ RANAP_Event1F-Parameters.c \
+ RANAP_Event1I-Parameters.c \
+ RANAP_ExtendedGuaranteedBitrate.c \
+ RANAP_ExtendedMaxBitrate.c \
+ RANAP_ExtendedRNC-ID.c \
+ RANAP_FrameSequenceNumber.c \
+ RANAP_FrequenceLayerConvergenceFlag.c \
+ RANAP_GANSS-PositioningDataSet.c \
+ RANAP_GANSS-PositioningMethodAndUsage.c \
+ RANAP_GeographicalArea.c \
+ RANAP_GeographicalCoordinates.c \
+ RANAP_GA-AltitudeAndDirection.c \
+ RANAP_GA-EllipsoidArc.c \
+ RANAP_GA-Point.c \
+ RANAP_GA-PointWithAltitude.c \
+ RANAP_GA-PointWithAltitudeAndUncertaintyEllipsoid.c \
+ RANAP_GA-PointWithUnCertainty.c \
+ RANAP_GA-PointWithUnCertaintyEllipse.c \
+ RANAP_GA-Polygon.c \
+ RANAP_GA-UncertaintyEllipse.c \
+ RANAP_GERAN-BSC-Container.c \
+ RANAP_GERAN-Cell-ID.c \
+ RANAP_GERAN-Classmark.c \
+ RANAP_GlobalCN-ID.c \
+ RANAP_GlobalRNC-ID.c \
+ RANAP_GTP-TEI.c \
+ RANAP_GuaranteedBitrate.c \
+ RANAP_HigherBitratesThan16MbpsFlag.c \
+ RANAP_HS-DSCH-MAC-d-Flow-ID.c \
+ RANAP_IMEI.c \
+ RANAP_IMEIGroup.c \
+ RANAP_IMEIList.c \
+ RANAP_IMEISV.c \
+ RANAP_IMEISVGroup.c \
+ RANAP_IMEISVList.c \
+ RANAP_ImmediateMDT.c \
+ RANAP_IMSI.c \
+ RANAP_IncludeVelocity.c \
+ RANAP_InformationExchangeID.c \
+ RANAP_InformationExchangeType.c \
+ RANAP_InformationRequested.c \
+ RANAP_InformationRequestType.c \
+ RANAP_InformationTransferID.c \
+ RANAP_InformationTransferType.c \
+ RANAP_IntegrityProtectionAlgorithm.c \
+ RANAP_IntegrityProtectionInformation.c \
+ RANAP_IntegrityProtectionKey.c \
+ RANAP_InterSystemInformationTransferType.c \
+ RANAP_InterSystemInformation-TransparentContainer.c \
+ RANAP_IPMulticastAddress.c \
+ RANAP_IuSignallingConnectionIdentifier.c \
+ RANAP_IuTransportAssociation.c \
+ RANAP_KeyStatus.c \
+ RANAP_LA-LIST.c \
+ RANAP_LAC.c \
+ RANAP_LAI.c \
+ RANAP_LastKnownServiceArea.c \
+ RANAP_LastVisitedUTRANCell-Item.c \
+ RANAP_LHN-ID.c \
+ RANAP_Links-to-log.c \
+ RANAP_ListOF-SNAs.c \
+ RANAP_ListOfInterfacesToTrace.c \
+ RANAP_InterfacesToTraceItem.c \
+ RANAP_LoadValue.c \
+ RANAP_LocationRelatedDataRequestType.c \
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode.c \
+ RANAP_LocationReportingTransferInformation.c \
+ RANAP_ReportChangeOfSAI.c \
+ RANAP_PeriodicReportingIndicator.c \
+ RANAP_DirectReportingIndicator.c \
+ RANAP_L3-Information.c \
+ RANAP_M1Report.c \
+ RANAP_M2Report.c \
+ RANAP_M4Report.c \
+ RANAP_M4-Collection-Parameters.c \
+ RANAP_M4-Period.c \
+ RANAP_M4-Threshold.c \
+ RANAP_M5Report.c \
+ RANAP_M5-Period.c \
+ RANAP_M6Report.c \
+ RANAP_M6-Period.c \
+ RANAP_M7Report.c \
+ RANAP_M7-Period.c \
+ RANAP_Management-Based-MDT-Allowed.c \
+ RANAP_MaxBitrate.c \
+ RANAP_MaxSDU-Size.c \
+ RANAP_MBMS-PTP-RAB-ID.c \
+ RANAP_MBMSBearerServiceType.c \
+ RANAP_MBMSCNDe-Registration.c \
+ RANAP_MBMSCountingInformation.c \
+ RANAP_MBMSHCIndicator.c \
+ RANAP_MBMSIPMulticastAddressandAPNRequest.c \
+ RANAP_MBMSLinkingInformation.c \
+ RANAP_MBMSRegistrationRequestType.c \
+ RANAP_MBMSServiceArea.c \
+ RANAP_MBMSSessionDuration.c \
+ RANAP_MBMSSessionIdentity.c \
+ RANAP_MBMSSessionRepetitionNumber.c \
+ RANAP_MDT-Activation.c \
+ RANAP_MDTAreaScope.c \
+ RANAP_MDT-Configuration.c \
+ RANAP_MDTMode.c \
+ RANAP_MDT-PLMN-List.c \
+ RANAP_MDT-Report-Parameters.c \
+ RANAP_MeasurementQuantity.c \
+ RANAP_MeasurementsToActivate.c \
+ RANAP_MSISDN.c \
+ RANAP_NAS-PDU.c \
+ RANAP_NAS-SequenceNumber.c \
+ RANAP_NAS-SynchronisationIndicator.c \
+ RANAP_NewBSS-To-OldBSS-Information.c \
+ RANAP_NonSearchingIndication.c \
+ RANAP_NRTLoadInformationValue.c \
+ RANAP_NumberOfIuInstances.c \
+ RANAP_NumberOfSteps.c \
+ RANAP_Offload-RAB-Parameters.c \
+ RANAP_Offload-RAB-Parameters-APN.c \
+ RANAP_Offload-RAB-Parameters-ChargingCharacteristics.c \
+ RANAP_OldBSS-ToNewBSS-Information.c \
+ RANAP_OMC-ID.c \
+ RANAP_Out-Of-UTRAN.c \
+ RANAP_PagingAreaID.c \
+ RANAP_PagingCause.c \
+ RANAP_PDP-TypeInformation.c \
+ RANAP_PDP-Type.c \
+ RANAP_PDP-TypeInformation-extension.c \
+ RANAP_PDP-Type-extension.c \
+ RANAP_PDUType14FrameSequenceNumber.c \
+ RANAP_PeriodicLocationInfo.c \
+ RANAP_PermanentNAS-UE-ID.c \
+ RANAP_PermittedEncryptionAlgorithms.c \
+ RANAP_PermittedIntegrityProtectionAlgorithms.c \
+ RANAP_LABased.c \
+ RANAP_LAI-List.c \
+ RANAP_LoggedMDT.c \
+ RANAP_LoggingInterval.c \
+ RANAP_LoggingDuration.c \
+ RANAP_PLMNidentity.c \
+ RANAP_PLMNs-in-shared-network.c \
+ RANAP_Port-Number.c \
+ RANAP_PositioningDataDiscriminator.c \
+ RANAP_PositioningDataSet.c \
+ RANAP_PositioningMethodAndUsage.c \
+ RANAP_PositioningPriority.c \
+ RANAP_PositionData.c \
+ RANAP_PositionDataSpecificToGERANIuMode.c \
+ RANAP_Pre-emptionCapability.c \
+ RANAP_Pre-emptionVulnerability.c \
+ RANAP_PriorityLevel.c \
+ RANAP_Priority-Class-Indicator.c \
+ RANAP_ProvidedData.c \
+ RANAP_P-TMSI.c \
+ RANAP_QueuingAllowed.c \
+ RANAP_RAB-AsymmetryIndicator.c \
+ RANAP_RABased.c \
+ RANAP_RAI-List.c \
+ RANAP_RABDataVolumeReport.c \
+ RANAP_RAB-ID.c \
+ RANAP_RAB-Parameter-ExtendedGuaranteedBitrateList.c \
+ RANAP_RAB-Parameter-ExtendedMaxBitrateList.c \
+ RANAP_RAB-Parameter-GuaranteedBitrateList.c \
+ RANAP_RAB-Parameter-MaxBitrateList.c \
+ RANAP_RAB-Parameters.c \
+ RANAP_RABParametersList.c \
+ RANAP_RAB-SubflowCombinationBitRate.c \
+ RANAP_RAB-TrCH-Mapping.c \
+ RANAP_RAB-TrCH-MappingItem.c \
+ RANAP_RAC.c \
+ RANAP_RAI.c \
+ RANAP_RAListofIdleModeUEs.c \
+ RANAP_NotEmptyRAListofIdleModeUEs.c \
+ RANAP_RAofIdleModeUEs.c \
+ RANAP_LAListofIdleModeUEs.c \
+ RANAP_RAT-Type.c \
+ RANAP_RateControlAllowed.c \
+ RANAP_RedirectAttemptFlag.c \
+ RANAP_RedirectionCompleted.c \
+ RANAP_RejectCauseValue.c \
+ RANAP_RelocationRequirement.c \
+ RANAP_RelocationType.c \
+ RANAP_RepetitionNumber0.c \
+ RANAP_RepetitionNumber1.c \
+ RANAP_ReportArea.c \
+ RANAP_ReportInterval.c \
+ RANAP_ReportAmount.c \
+ RANAP_RequestedGPSAssistanceData.c \
+ RANAP_RequestedGANSSAssistanceData.c \
+ RANAP_RequestedLocationRelatedDataType.c \
+ RANAP_RequestedMBMSIPMulticastAddressandAPNRequest.c \
+ RANAP_MBMSIPMulticastAddressandAPNlist.c \
+ RANAP_RequestedMulticastServiceList.c \
+ RANAP_Requested-RAB-Parameter-Values.c \
+ RANAP_Requested-RAB-Parameter-ExtendedMaxBitrateList.c \
+ RANAP_Requested-RAB-Parameter-ExtendedGuaranteedBitrateList.c \
+ RANAP_Requested-RAB-Parameter-MaxBitrateList.c \
+ RANAP_Requested-RAB-Parameter-GuaranteedBitrateList.c \
+ RANAP_RequestType.c \
+ RANAP_ResidualBitErrorRatio.c \
+ RANAP_ResponseTime.c \
+ RANAP_RIMInformation.c \
+ RANAP_RIM-Transfer.c \
+ RANAP_RIMRoutingAddress.c \
+ RANAP_RNC-ID.c \
+ RANAP_RNCTraceInformation.c \
+ RANAP_RNSAPRelocationParameters.c \
+ RANAP_RRC-Container.c \
+ RANAP_RTLoadValue.c \
+ RANAP_RSRVCC-HO-Indication.c \
+ RANAP_RSRVCC-Information.c \
+ RANAP_RSRVCC-Operation-Possible.c \
+ RANAP_SAC.c \
+ RANAP_SAI.c \
+ RANAP_SAPI.c \
+ RANAP_SessionUpdateID.c \
+ RANAP_Shared-Network-Information.c \
+ RANAP_Session-Re-establishment-Indicator.c \
+ RANAP_SignallingIndication.c \
+ RANAP_SDU-ErrorRatio.c \
+ RANAP_SDU-FormatInformationParameters.c \
+ RANAP_SDU-Parameters.c \
+ RANAP_SNA-Access-Information.c \
+ RANAP_SNAC.c \
+ RANAP_Service-Handover.c \
+ RANAP_Source-ToTarget-TransparentContainer.c \
+ RANAP_SourceeNodeB-ToTargeteNodeB-TransparentContainer.c \
+ RANAP_SourceCellID.c \
+ RANAP_SourceBSS-ToTargetBSS-TransparentContainer.c \
+ RANAP_SourceID.c \
+ RANAP_SourceRNC-ID.c \
+ RANAP_SourceRNC-ToTargetRNC-TransparentContainer.c \
+ RANAP_IRAT-Measurement-Configuration.c \
+ RANAP_IRATmeasurementParameters.c \
+ RANAP_RSRQ-Type.c \
+ RANAP_RSRQ-Extension.c \
+ RANAP_EUTRANFrequencies.c \
+ RANAP_MeasBand.c \
+ RANAP_SubscriberProfileIDforRFP.c \
+ RANAP_SourceStatisticsDescriptor.c \
+ RANAP_SupportedRAB-ParameterBitrateList.c \
+ RANAP_SupportedBitrate.c \
+ RANAP_SourceUTRANCellID.c \
+ RANAP_SRB-ID.c \
+ RANAP_SRB-TrCH-Mapping.c \
+ RANAP_SRB-TrCH-MappingItem.c \
+ RANAP_SRVCC-HO-Indication.c \
+ RANAP_SRVCC-Information.c \
+ RANAP_SRVCC-Operation-Possible.c \
+ RANAP_SubflowSDU-Size.c \
+ RANAP_TAC.c \
+ RANAP_TAI.c \
+ RANAP_Target-ToSource-TransparentContainer.c \
+ RANAP_TargeteNodeB-ToSourceeNodeB-TransparentContainer.c \
+ RANAP_TargetBSS-ToSourceBSS-TransparentContainer.c \
+ RANAP_TargetCellId.c \
+ RANAP_TargetID.c \
+ RANAP_TargetENB-ID.c \
+ RANAP_TargetRNC-ID.c \
+ RANAP_TargetRNC-ToSourceRNC-TransparentContainer.c \
+ RANAP_TBCD-STRING.c \
+ RANAP_TemporaryUE-ID.c \
+ RANAP_Time-UE-StayedInCell.c \
+ RANAP_Time-UE-StayedInCell-EnhancedGranularity.c \
+ RANAP_TimeToMBMSDataTransfer.c \
+ RANAP_TimingDifferenceULDL.c \
+ RANAP_TMGI.c \
+ RANAP_TMSI.c \
+ RANAP_TraceDepth.c \
+ RANAP_TraceInformation.c \
+ RANAP_TracePropagationParameters.c \
+ RANAP_TraceRecordingSessionInformation.c \
+ RANAP_TraceRecordingSessionReference.c \
+ RANAP_TraceReference.c \
+ RANAP_TraceType.c \
+ RANAP_TrafficClass.c \
+ RANAP_TrafficHandlingPriority.c \
+ RANAP_TransferDelay.c \
+ RANAP_UnsuccessfullyTransmittedDataVolume.c \
+ RANAP_TransportLayerAddress.c \
+ RANAP_TrCH-ID.c \
+ RANAP_TrCH-ID-List.c \
+ RANAP_TriggerID.c \
+ RANAP_TunnelInformation.c \
+ RANAP_TypeOfError.c \
+ RANAP_UE-AggregateMaximumBitRate.c \
+ RANAP_UE-AggregateMaximumBitRateDownlink.c \
+ RANAP_UE-AggregateMaximumBitRateUplink.c \
+ RANAP_UE-History-Information.c \
+ RANAP_UE-ID.c \
+ RANAP_UESBI-Iu.c \
+ RANAP_UESBI-IuA.c \
+ RANAP_UESBI-IuB.c \
+ RANAP_UL-GTP-PDU-SequenceNumber.c \
+ RANAP_UL-N-PDU-SequenceNumber.c \
+ RANAP_UPInformation.c \
+ RANAP_UPInitialisationFrame.c \
+ RANAP_UP-ModeVersions.c \
+ RANAP_USCH-ID.c \
+ RANAP_UserPlaneMode.c \
+ RANAP_UTRAN-CellID.c \
+ RANAP_VelocityEstimate.c \
+ RANAP_HorizontalVelocity.c \
+ RANAP_HorizontalWithVerticalVelocity.c \
+ RANAP_HorizontalVelocityWithUncertainty.c \
+ RANAP_HorizontalWithVerticalVelocityAndUncertainty.c \
+ RANAP_HorizontalSpeedAndBearing.c \
+ RANAP_VerticalVelocity.c \
+ RANAP_VerticalSpeedDirection.c \
+ RANAP_VerticalAccuracyCode.c \
+ RANAP_VoiceSupportMatchIndicator.c \
+ RANAP_RANAP-PDU.c \
+ RANAP_InitiatingMessage.c \
+ RANAP_SuccessfulOutcome.c \
+ RANAP_UnsuccessfulOutcome.c \
+ RANAP_Outcome.c \
+ RANAP_Iu-ReleaseCommand.c \
+ RANAP_Iu-ReleaseComplete.c \
+ RANAP_RelocationRequired.c \
+ RANAP_RelocationCommand.c \
+ RANAP_RelocationPreparationFailure.c \
+ RANAP_RelocationRequest.c \
+ RANAP_RelocationRequestAcknowledge.c \
+ RANAP_RelocationFailure.c \
+ RANAP_RelocationCancel.c \
+ RANAP_RelocationCancelAcknowledge.c \
+ RANAP_SRNS-ContextRequest.c \
+ RANAP_SRNS-ContextResponse.c \
+ RANAP_SecurityModeCommand.c \
+ RANAP_SecurityModeComplete.c \
+ RANAP_SecurityModeReject.c \
+ RANAP_DataVolumeReportRequest.c \
+ RANAP_DataVolumeReport.c \
+ RANAP_Reset.c \
+ RANAP_ResetAcknowledge.c \
+ RANAP_RAB-ReleaseRequest.c \
+ RANAP_Iu-ReleaseRequest.c \
+ RANAP_RelocationDetect.c \
+ RANAP_RelocationComplete.c \
+ RANAP_Paging.c \
+ RANAP_CommonID.c \
+ RANAP_CN-InvokeTrace.c \
+ RANAP_CN-DeactivateTrace.c \
+ RANAP_LocationReportingControl.c \
+ RANAP_LocationReport.c \
+ RANAP_InitialUE-Message.c \
+ RANAP_DirectTransfer.c \
+ RANAP_Overload.c \
+ RANAP_ErrorIndication.c \
+ RANAP_SRNS-DataForwardCommand.c \
+ RANAP_ForwardSRNS-Context.c \
+ RANAP_RAB-AssignmentRequest.c \
+ RANAP_RAB-AssignmentResponse.c \
+ RANAP_PrivateMessage.c \
+ RANAP_ResetResource.c \
+ RANAP_ResetResourceAcknowledge.c \
+ RANAP_RANAP-RelocationInformation.c \
+ RANAP_RAB-ModifyRequest.c \
+ RANAP_LocationRelatedDataRequest.c \
+ RANAP_LocationRelatedDataResponse.c \
+ RANAP_LocationRelatedDataFailure.c \
+ RANAP_InformationTransferIndication.c \
+ RANAP_InformationTransferConfirmation.c \
+ RANAP_InformationTransferFailure.c \
+ RANAP_UESpecificInformationIndication.c \
+ RANAP_DirectInformationTransfer.c \
+ RANAP_UplinkInformationExchangeRequest.c \
+ RANAP_UplinkInformationExchangeResponse.c \
+ RANAP_UplinkInformationExchangeFailure.c \
+ RANAP_MBMSSessionStart.c \
+ RANAP_MBMSSessionStartResponse.c \
+ RANAP_MBMSSessionStartFailure.c \
+ RANAP_MBMSSessionUpdate.c \
+ RANAP_MBMSSessionUpdateResponse.c \
+ RANAP_MBMSSessionUpdateFailure.c \
+ RANAP_MBMSSessionStop.c \
+ RANAP_MBMSSessionStopResponse.c \
+ RANAP_MBMSUELinkingRequest.c \
+ RANAP_MBMSUELinkingResponse.c \
+ RANAP_MBMSRegistrationRequest.c \
+ RANAP_MBMSRegistrationResponse.c \
+ RANAP_MBMSRegistrationFailure.c \
+ RANAP_MBMSCNDe-RegistrationRequest.c \
+ RANAP_MBMSCNDe-RegistrationResponse.c \
+ RANAP_MBMSRABEstablishmentIndication.c \
+ RANAP_MBMSRABReleaseRequest.c \
+ RANAP_MBMSRABRelease.c \
+ RANAP_MBMSRABReleaseFailure.c \
+ RANAP_EnhancedRelocationCompleteRequest.c \
+ RANAP_EnhancedRelocationCompleteResponse.c \
+ RANAP_EnhancedRelocationCompleteFailure.c \
+ RANAP_EnhancedRelocationCompleteConfirm.c \
+ RANAP_RANAP-EnhancedRelocationInformationRequest.c \
+ RANAP_RANAP-EnhancedRelocationInformationResponse.c \
+ RANAP_SRVCC-CSKeysRequest.c \
+ RANAP_SRVCC-CSKeysResponse.c \
+ RANAP_UeRadioCapabilityMatchRequest.c \
+ RANAP_UeRadioCapabilityMatchResponse.c \
+ RANAP_IE.c
+
+ASN_MODULE_HEADERS= \
+ RANAP_Criticality.h \
+ RANAP_Presence.h \
+ RANAP_PrivateIE-ID.h \
+ RANAP_ProcedureCode.h \
+ RANAP_ProtocolExtensionID.h \
+ RANAP_ProtocolIE-ID.h \
+ RANAP_TriggeringMessage.h \
+ RANAP_IE-Extensions.h \
+ RANAP_AccuracyFulfilmentIndicator.h \
+ RANAP_AllocationOrRetentionPriority.h \
+ RANAP_Alt-RAB-Parameters.h \
+ RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf.h \
+ RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrates.h \
+ RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateList.h \
+ RANAP_Alt-RAB-Parameter-GuaranteedBitrateInf.h \
+ RANAP_Alt-RAB-Parameter-GuaranteedBitrateType.h \
+ RANAP_Alt-RAB-Parameter-GuaranteedBitrates.h \
+ RANAP_Alt-RAB-Parameter-GuaranteedBitrateList.h \
+ RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrateInf.h \
+ RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrates.h \
+ RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateInf.h \
+ RANAP_Alt-RAB-Parameter-ExtendedMaxBitrates.h \
+ RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateList.h \
+ RANAP_Alt-RAB-Parameter-MaxBitrateInf.h \
+ RANAP_Alt-RAB-Parameter-MaxBitrateType.h \
+ RANAP_Alt-RAB-Parameter-MaxBitrates.h \
+ RANAP_Alt-RAB-Parameter-MaxBitrateList.h \
+ RANAP_Alt-RAB-Parameter-SupportedMaxBitrateInf.h \
+ RANAP_Alt-RAB-Parameter-SupportedMaxBitrates.h \
+ RANAP_AlternativeRABConfigurationRequest.h \
+ RANAP_APN.h \
+ RANAP_AreaIdentity.h \
+ RANAP_Ass-RAB-Parameters.h \
+ RANAP_Ass-RAB-Parameter-ExtendedGuaranteedBitrateList.h \
+ RANAP_Ass-RAB-Parameter-ExtendedMaxBitrateList.h \
+ RANAP_Ass-RAB-Parameter-GuaranteedBitrateList.h \
+ RANAP_Ass-RAB-Parameter-MaxBitrateList.h \
+ RANAP_AuthorisedPLMNs.h \
+ RANAP_AuthorisedSNAs.h \
+ RANAP_BindingID.h \
+ RANAP_BroadcastAssistanceDataDecipheringKeys.h \
+ RANAP_Cause.h \
+ RANAP_CauseMisc.h \
+ RANAP_CauseNAS.h \
+ RANAP_CauseProtocol.h \
+ RANAP_CauseRadioNetwork.h \
+ RANAP_CauseRadioNetworkExtension.h \
+ RANAP_CauseNon-Standard.h \
+ RANAP_CauseTransmissionNetwork.h \
+ RANAP_Cell-Access-Mode.h \
+ RANAP_CellBased.h \
+ RANAP_CellIdList.h \
+ RANAP_Cell-Id.h \
+ RANAP_Cell-Capacity-Class-Value.h \
+ RANAP_CellLoadInformation.h \
+ RANAP_CellLoadInformationGroup.h \
+ RANAP_CellType.h \
+ RANAP_ClientType.h \
+ RANAP_CriticalityDiagnostics.h \
+ RANAP_CriticalityDiagnostics-IE-List.h \
+ RANAP_MessageStructure.h \
+ RANAP_CGI.h \
+ RANAP_ChosenEncryptionAlgorithm.h \
+ RANAP_ChosenIntegrityProtectionAlgorithm.h \
+ RANAP_CI.h \
+ RANAP_ClassmarkInformation2.h \
+ RANAP_ClassmarkInformation3.h \
+ RANAP_CN-DomainIndicator.h \
+ RANAP_CN-ID.h \
+ RANAP_Correlation-ID.h \
+ RANAP_CSFB-Information.h \
+ RANAP_CSG-Id.h \
+ RANAP_CSG-Id-List.h \
+ RANAP_CSG-Membership-Status.h \
+ RANAP_DataPDUType.h \
+ RANAP_DataVolumeReference.h \
+ RANAP_DataVolumeReportingIndication.h \
+ RANAP_DCH-ID.h \
+ RANAP_DeliveryOfErroneousSDU.h \
+ RANAP_DeliveryOrder.h \
+ RANAP_DeltaRAListofIdleModeUEs.h \
+ RANAP_NewRAListofIdleModeUEs.h \
+ RANAP_RAListwithNoIdleModeUEsAnyMore.h \
+ RANAP_ForwardingIndication.h \
+ RANAP_DL-GTP-PDU-SequenceNumber.h \
+ RANAP_DL-N-PDU-SequenceNumber.h \
+ RANAP_D-RNTI.h \
+ RANAP_DRX-CycleLengthCoefficient.h \
+ RANAP_DSCH-ID.h \
+ RANAP_EARFCN-Extended.h \
+ RANAP_E-DCH-MAC-d-Flow-ID.h \
+ RANAP_ENB-ID.h \
+ RANAP_EncryptionAlgorithm.h \
+ RANAP_EncryptionInformation.h \
+ RANAP_EncryptionKey.h \
+ RANAP_End-Of-CSFB.h \
+ RANAP_EquipmentsToBeTraced.h \
+ RANAP_E-UTRAN-Service-Handover.h \
+ RANAP_Event.h \
+ RANAP_Event1F-Parameters.h \
+ RANAP_Event1I-Parameters.h \
+ RANAP_ExtendedGuaranteedBitrate.h \
+ RANAP_ExtendedMaxBitrate.h \
+ RANAP_ExtendedRNC-ID.h \
+ RANAP_FrameSequenceNumber.h \
+ RANAP_FrequenceLayerConvergenceFlag.h \
+ RANAP_GANSS-PositioningDataSet.h \
+ RANAP_GANSS-PositioningMethodAndUsage.h \
+ RANAP_GeographicalArea.h \
+ RANAP_GeographicalCoordinates.h \
+ RANAP_GA-AltitudeAndDirection.h \
+ RANAP_GA-EllipsoidArc.h \
+ RANAP_GA-Point.h \
+ RANAP_GA-PointWithAltitude.h \
+ RANAP_GA-PointWithAltitudeAndUncertaintyEllipsoid.h \
+ RANAP_GA-PointWithUnCertainty.h \
+ RANAP_GA-PointWithUnCertaintyEllipse.h \
+ RANAP_GA-Polygon.h \
+ RANAP_GA-UncertaintyEllipse.h \
+ RANAP_GERAN-BSC-Container.h \
+ RANAP_GERAN-Cell-ID.h \
+ RANAP_GERAN-Classmark.h \
+ RANAP_GlobalCN-ID.h \
+ RANAP_GlobalRNC-ID.h \
+ RANAP_GTP-TEI.h \
+ RANAP_GuaranteedBitrate.h \
+ RANAP_HigherBitratesThan16MbpsFlag.h \
+ RANAP_HS-DSCH-MAC-d-Flow-ID.h \
+ RANAP_IMEI.h \
+ RANAP_IMEIGroup.h \
+ RANAP_IMEIList.h \
+ RANAP_IMEISV.h \
+ RANAP_IMEISVGroup.h \
+ RANAP_IMEISVList.h \
+ RANAP_ImmediateMDT.h \
+ RANAP_IMSI.h \
+ RANAP_IncludeVelocity.h \
+ RANAP_InformationExchangeID.h \
+ RANAP_InformationExchangeType.h \
+ RANAP_InformationRequested.h \
+ RANAP_InformationRequestType.h \
+ RANAP_InformationTransferID.h \
+ RANAP_InformationTransferType.h \
+ RANAP_IntegrityProtectionAlgorithm.h \
+ RANAP_IntegrityProtectionInformation.h \
+ RANAP_IntegrityProtectionKey.h \
+ RANAP_InterSystemInformationTransferType.h \
+ RANAP_InterSystemInformation-TransparentContainer.h \
+ RANAP_IPMulticastAddress.h \
+ RANAP_IuSignallingConnectionIdentifier.h \
+ RANAP_IuTransportAssociation.h \
+ RANAP_KeyStatus.h \
+ RANAP_LA-LIST.h \
+ RANAP_LAC.h \
+ RANAP_LAI.h \
+ RANAP_LastKnownServiceArea.h \
+ RANAP_LastVisitedUTRANCell-Item.h \
+ RANAP_LHN-ID.h \
+ RANAP_Links-to-log.h \
+ RANAP_ListOF-SNAs.h \
+ RANAP_ListOfInterfacesToTrace.h \
+ RANAP_InterfacesToTraceItem.h \
+ RANAP_LoadValue.h \
+ RANAP_LocationRelatedDataRequestType.h \
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode.h \
+ RANAP_LocationReportingTransferInformation.h \
+ RANAP_ReportChangeOfSAI.h \
+ RANAP_PeriodicReportingIndicator.h \
+ RANAP_DirectReportingIndicator.h \
+ RANAP_L3-Information.h \
+ RANAP_M1Report.h \
+ RANAP_M2Report.h \
+ RANAP_M4Report.h \
+ RANAP_M4-Collection-Parameters.h \
+ RANAP_M4-Period.h \
+ RANAP_M4-Threshold.h \
+ RANAP_M5Report.h \
+ RANAP_M5-Period.h \
+ RANAP_M6Report.h \
+ RANAP_M6-Period.h \
+ RANAP_M7Report.h \
+ RANAP_M7-Period.h \
+ RANAP_Management-Based-MDT-Allowed.h \
+ RANAP_MaxBitrate.h \
+ RANAP_MaxSDU-Size.h \
+ RANAP_MBMS-PTP-RAB-ID.h \
+ RANAP_MBMSBearerServiceType.h \
+ RANAP_MBMSCNDe-Registration.h \
+ RANAP_MBMSCountingInformation.h \
+ RANAP_MBMSHCIndicator.h \
+ RANAP_MBMSIPMulticastAddressandAPNRequest.h \
+ RANAP_MBMSLinkingInformation.h \
+ RANAP_MBMSRegistrationRequestType.h \
+ RANAP_MBMSServiceArea.h \
+ RANAP_MBMSSessionDuration.h \
+ RANAP_MBMSSessionIdentity.h \
+ RANAP_MBMSSessionRepetitionNumber.h \
+ RANAP_MDT-Activation.h \
+ RANAP_MDTAreaScope.h \
+ RANAP_MDT-Configuration.h \
+ RANAP_MDTMode.h \
+ RANAP_MDT-PLMN-List.h \
+ RANAP_MDT-Report-Parameters.h \
+ RANAP_MeasurementQuantity.h \
+ RANAP_MeasurementsToActivate.h \
+ RANAP_MSISDN.h \
+ RANAP_NAS-PDU.h \
+ RANAP_NAS-SequenceNumber.h \
+ RANAP_NAS-SynchronisationIndicator.h \
+ RANAP_NewBSS-To-OldBSS-Information.h \
+ RANAP_NonSearchingIndication.h \
+ RANAP_NRTLoadInformationValue.h \
+ RANAP_NumberOfIuInstances.h \
+ RANAP_NumberOfSteps.h \
+ RANAP_Offload-RAB-Parameters.h \
+ RANAP_Offload-RAB-Parameters-APN.h \
+ RANAP_Offload-RAB-Parameters-ChargingCharacteristics.h \
+ RANAP_OldBSS-ToNewBSS-Information.h \
+ RANAP_OMC-ID.h \
+ RANAP_Out-Of-UTRAN.h \
+ RANAP_PagingAreaID.h \
+ RANAP_PagingCause.h \
+ RANAP_PDP-TypeInformation.h \
+ RANAP_PDP-Type.h \
+ RANAP_PDP-TypeInformation-extension.h \
+ RANAP_PDP-Type-extension.h \
+ RANAP_PDUType14FrameSequenceNumber.h \
+ RANAP_PeriodicLocationInfo.h \
+ RANAP_PermanentNAS-UE-ID.h \
+ RANAP_PermittedEncryptionAlgorithms.h \
+ RANAP_PermittedIntegrityProtectionAlgorithms.h \
+ RANAP_LABased.h \
+ RANAP_LAI-List.h \
+ RANAP_LoggedMDT.h \
+ RANAP_LoggingInterval.h \
+ RANAP_LoggingDuration.h \
+ RANAP_PLMNidentity.h \
+ RANAP_PLMNs-in-shared-network.h \
+ RANAP_Port-Number.h \
+ RANAP_PositioningDataDiscriminator.h \
+ RANAP_PositioningDataSet.h \
+ RANAP_PositioningMethodAndUsage.h \
+ RANAP_PositioningPriority.h \
+ RANAP_PositionData.h \
+ RANAP_PositionDataSpecificToGERANIuMode.h \
+ RANAP_Pre-emptionCapability.h \
+ RANAP_Pre-emptionVulnerability.h \
+ RANAP_PriorityLevel.h \
+ RANAP_Priority-Class-Indicator.h \
+ RANAP_ProvidedData.h \
+ RANAP_P-TMSI.h \
+ RANAP_QueuingAllowed.h \
+ RANAP_RAB-AsymmetryIndicator.h \
+ RANAP_RABased.h \
+ RANAP_RAI-List.h \
+ RANAP_RABDataVolumeReport.h \
+ RANAP_RAB-ID.h \
+ RANAP_RAB-Parameter-ExtendedGuaranteedBitrateList.h \
+ RANAP_RAB-Parameter-ExtendedMaxBitrateList.h \
+ RANAP_RAB-Parameter-GuaranteedBitrateList.h \
+ RANAP_RAB-Parameter-MaxBitrateList.h \
+ RANAP_RAB-Parameters.h \
+ RANAP_RABParametersList.h \
+ RANAP_RAB-SubflowCombinationBitRate.h \
+ RANAP_RAB-TrCH-Mapping.h \
+ RANAP_RAB-TrCH-MappingItem.h \
+ RANAP_RAC.h \
+ RANAP_RAI.h \
+ RANAP_RAListofIdleModeUEs.h \
+ RANAP_NotEmptyRAListofIdleModeUEs.h \
+ RANAP_RAofIdleModeUEs.h \
+ RANAP_LAListofIdleModeUEs.h \
+ RANAP_RAT-Type.h \
+ RANAP_RateControlAllowed.h \
+ RANAP_RedirectAttemptFlag.h \
+ RANAP_RedirectionCompleted.h \
+ RANAP_RejectCauseValue.h \
+ RANAP_RelocationRequirement.h \
+ RANAP_RelocationType.h \
+ RANAP_RepetitionNumber0.h \
+ RANAP_RepetitionNumber1.h \
+ RANAP_ReportArea.h \
+ RANAP_ReportInterval.h \
+ RANAP_ReportAmount.h \
+ RANAP_RequestedGPSAssistanceData.h \
+ RANAP_RequestedGANSSAssistanceData.h \
+ RANAP_RequestedLocationRelatedDataType.h \
+ RANAP_RequestedMBMSIPMulticastAddressandAPNRequest.h \
+ RANAP_MBMSIPMulticastAddressandAPNlist.h \
+ RANAP_RequestedMulticastServiceList.h \
+ RANAP_Requested-RAB-Parameter-Values.h \
+ RANAP_Requested-RAB-Parameter-ExtendedMaxBitrateList.h \
+ RANAP_Requested-RAB-Parameter-ExtendedGuaranteedBitrateList.h \
+ RANAP_Requested-RAB-Parameter-MaxBitrateList.h \
+ RANAP_Requested-RAB-Parameter-GuaranteedBitrateList.h \
+ RANAP_RequestType.h \
+ RANAP_ResidualBitErrorRatio.h \
+ RANAP_ResponseTime.h \
+ RANAP_RIMInformation.h \
+ RANAP_RIM-Transfer.h \
+ RANAP_RIMRoutingAddress.h \
+ RANAP_RNC-ID.h \
+ RANAP_RNCTraceInformation.h \
+ RANAP_RNSAPRelocationParameters.h \
+ RANAP_RRC-Container.h \
+ RANAP_RTLoadValue.h \
+ RANAP_RSRVCC-HO-Indication.h \
+ RANAP_RSRVCC-Information.h \
+ RANAP_RSRVCC-Operation-Possible.h \
+ RANAP_SAC.h \
+ RANAP_SAI.h \
+ RANAP_SAPI.h \
+ RANAP_SessionUpdateID.h \
+ RANAP_Shared-Network-Information.h \
+ RANAP_Session-Re-establishment-Indicator.h \
+ RANAP_SignallingIndication.h \
+ RANAP_SDU-ErrorRatio.h \
+ RANAP_SDU-FormatInformationParameters.h \
+ RANAP_SDU-Parameters.h \
+ RANAP_SNA-Access-Information.h \
+ RANAP_SNAC.h \
+ RANAP_Service-Handover.h \
+ RANAP_Source-ToTarget-TransparentContainer.h \
+ RANAP_SourceeNodeB-ToTargeteNodeB-TransparentContainer.h \
+ RANAP_SourceCellID.h \
+ RANAP_SourceBSS-ToTargetBSS-TransparentContainer.h \
+ RANAP_SourceID.h \
+ RANAP_SourceRNC-ID.h \
+ RANAP_SourceRNC-ToTargetRNC-TransparentContainer.h \
+ RANAP_IRAT-Measurement-Configuration.h \
+ RANAP_IRATmeasurementParameters.h \
+ RANAP_RSRQ-Type.h \
+ RANAP_RSRQ-Extension.h \
+ RANAP_EUTRANFrequencies.h \
+ RANAP_MeasBand.h \
+ RANAP_SubscriberProfileIDforRFP.h \
+ RANAP_SourceStatisticsDescriptor.h \
+ RANAP_SupportedRAB-ParameterBitrateList.h \
+ RANAP_SupportedBitrate.h \
+ RANAP_SourceUTRANCellID.h \
+ RANAP_SRB-ID.h \
+ RANAP_SRB-TrCH-Mapping.h \
+ RANAP_SRB-TrCH-MappingItem.h \
+ RANAP_SRVCC-HO-Indication.h \
+ RANAP_SRVCC-Information.h \
+ RANAP_SRVCC-Operation-Possible.h \
+ RANAP_SubflowSDU-Size.h \
+ RANAP_TAC.h \
+ RANAP_TAI.h \
+ RANAP_Target-ToSource-TransparentContainer.h \
+ RANAP_TargeteNodeB-ToSourceeNodeB-TransparentContainer.h \
+ RANAP_TargetBSS-ToSourceBSS-TransparentContainer.h \
+ RANAP_TargetCellId.h \
+ RANAP_TargetID.h \
+ RANAP_TargetENB-ID.h \
+ RANAP_TargetRNC-ID.h \
+ RANAP_TargetRNC-ToSourceRNC-TransparentContainer.h \
+ RANAP_TBCD-STRING.h \
+ RANAP_TemporaryUE-ID.h \
+ RANAP_Time-UE-StayedInCell.h \
+ RANAP_Time-UE-StayedInCell-EnhancedGranularity.h \
+ RANAP_TimeToMBMSDataTransfer.h \
+ RANAP_TimingDifferenceULDL.h \
+ RANAP_TMGI.h \
+ RANAP_TMSI.h \
+ RANAP_TraceDepth.h \
+ RANAP_TraceInformation.h \
+ RANAP_TracePropagationParameters.h \
+ RANAP_TraceRecordingSessionInformation.h \
+ RANAP_TraceRecordingSessionReference.h \
+ RANAP_TraceReference.h \
+ RANAP_TraceType.h \
+ RANAP_TrafficClass.h \
+ RANAP_TrafficHandlingPriority.h \
+ RANAP_TransferDelay.h \
+ RANAP_UnsuccessfullyTransmittedDataVolume.h \
+ RANAP_TransportLayerAddress.h \
+ RANAP_TrCH-ID.h \
+ RANAP_TrCH-ID-List.h \
+ RANAP_TriggerID.h \
+ RANAP_TunnelInformation.h \
+ RANAP_TypeOfError.h \
+ RANAP_UE-AggregateMaximumBitRate.h \
+ RANAP_UE-AggregateMaximumBitRateDownlink.h \
+ RANAP_UE-AggregateMaximumBitRateUplink.h \
+ RANAP_UE-History-Information.h \
+ RANAP_UE-ID.h \
+ RANAP_UESBI-Iu.h \
+ RANAP_UESBI-IuA.h \
+ RANAP_UESBI-IuB.h \
+ RANAP_UL-GTP-PDU-SequenceNumber.h \
+ RANAP_UL-N-PDU-SequenceNumber.h \
+ RANAP_UPInformation.h \
+ RANAP_UPInitialisationFrame.h \
+ RANAP_UP-ModeVersions.h \
+ RANAP_USCH-ID.h \
+ RANAP_UserPlaneMode.h \
+ RANAP_UTRAN-CellID.h \
+ RANAP_VelocityEstimate.h \
+ RANAP_HorizontalVelocity.h \
+ RANAP_HorizontalWithVerticalVelocity.h \
+ RANAP_HorizontalVelocityWithUncertainty.h \
+ RANAP_HorizontalWithVerticalVelocityAndUncertainty.h \
+ RANAP_HorizontalSpeedAndBearing.h \
+ RANAP_VerticalVelocity.h \
+ RANAP_VerticalSpeedDirection.h \
+ RANAP_VerticalAccuracyCode.h \
+ RANAP_VoiceSupportMatchIndicator.h \
+ RANAP_RANAP-PDU.h \
+ RANAP_InitiatingMessage.h \
+ RANAP_SuccessfulOutcome.h \
+ RANAP_UnsuccessfulOutcome.h \
+ RANAP_Outcome.h \
+ RANAP_Iu-ReleaseCommand.h \
+ RANAP_Iu-ReleaseComplete.h \
+ RANAP_RelocationRequired.h \
+ RANAP_RelocationCommand.h \
+ RANAP_RelocationPreparationFailure.h \
+ RANAP_RelocationRequest.h \
+ RANAP_RelocationRequestAcknowledge.h \
+ RANAP_RelocationFailure.h \
+ RANAP_RelocationCancel.h \
+ RANAP_RelocationCancelAcknowledge.h \
+ RANAP_SRNS-ContextRequest.h \
+ RANAP_SRNS-ContextResponse.h \
+ RANAP_SecurityModeCommand.h \
+ RANAP_SecurityModeComplete.h \
+ RANAP_SecurityModeReject.h \
+ RANAP_DataVolumeReportRequest.h \
+ RANAP_DataVolumeReport.h \
+ RANAP_Reset.h \
+ RANAP_ResetAcknowledge.h \
+ RANAP_RAB-ReleaseRequest.h \
+ RANAP_Iu-ReleaseRequest.h \
+ RANAP_RelocationDetect.h \
+ RANAP_RelocationComplete.h \
+ RANAP_Paging.h \
+ RANAP_CommonID.h \
+ RANAP_CN-InvokeTrace.h \
+ RANAP_CN-DeactivateTrace.h \
+ RANAP_LocationReportingControl.h \
+ RANAP_LocationReport.h \
+ RANAP_InitialUE-Message.h \
+ RANAP_DirectTransfer.h \
+ RANAP_Overload.h \
+ RANAP_ErrorIndication.h \
+ RANAP_SRNS-DataForwardCommand.h \
+ RANAP_ForwardSRNS-Context.h \
+ RANAP_RAB-AssignmentRequest.h \
+ RANAP_RAB-AssignmentResponse.h \
+ RANAP_PrivateMessage.h \
+ RANAP_ResetResource.h \
+ RANAP_ResetResourceAcknowledge.h \
+ RANAP_RANAP-RelocationInformation.h \
+ RANAP_RAB-ModifyRequest.h \
+ RANAP_LocationRelatedDataRequest.h \
+ RANAP_LocationRelatedDataResponse.h \
+ RANAP_LocationRelatedDataFailure.h \
+ RANAP_InformationTransferIndication.h \
+ RANAP_InformationTransferConfirmation.h \
+ RANAP_InformationTransferFailure.h \
+ RANAP_UESpecificInformationIndication.h \
+ RANAP_DirectInformationTransfer.h \
+ RANAP_UplinkInformationExchangeRequest.h \
+ RANAP_UplinkInformationExchangeResponse.h \
+ RANAP_UplinkInformationExchangeFailure.h \
+ RANAP_MBMSSessionStart.h \
+ RANAP_MBMSSessionStartResponse.h \
+ RANAP_MBMSSessionStartFailure.h \
+ RANAP_MBMSSessionUpdate.h \
+ RANAP_MBMSSessionUpdateResponse.h \
+ RANAP_MBMSSessionUpdateFailure.h \
+ RANAP_MBMSSessionStop.h \
+ RANAP_MBMSSessionStopResponse.h \
+ RANAP_MBMSUELinkingRequest.h \
+ RANAP_MBMSUELinkingResponse.h \
+ RANAP_MBMSRegistrationRequest.h \
+ RANAP_MBMSRegistrationResponse.h \
+ RANAP_MBMSRegistrationFailure.h \
+ RANAP_MBMSCNDe-RegistrationRequest.h \
+ RANAP_MBMSCNDe-RegistrationResponse.h \
+ RANAP_MBMSRABEstablishmentIndication.h \
+ RANAP_MBMSRABReleaseRequest.h \
+ RANAP_MBMSRABRelease.h \
+ RANAP_MBMSRABReleaseFailure.h \
+ RANAP_EnhancedRelocationCompleteRequest.h \
+ RANAP_EnhancedRelocationCompleteResponse.h \
+ RANAP_EnhancedRelocationCompleteFailure.h \
+ RANAP_EnhancedRelocationCompleteConfirm.h \
+ RANAP_RANAP-EnhancedRelocationInformationRequest.h \
+ RANAP_RANAP-EnhancedRelocationInformationResponse.h \
+ RANAP_SRVCC-CSKeysRequest.h \
+ RANAP_SRVCC-CSKeysResponse.h \
+ RANAP_UeRadioCapabilityMatchRequest.h \
+ RANAP_UeRadioCapabilityMatchResponse.h \
+ RANAP_IE.h
+
+
+lib_LTLIBRARIES=libosmo-asn1-ranap.la
+libsomething_la_SOURCES=$(ASN_MODULE_SOURCES)
+
+# Remove the lines below to convert it into a pure .am file
+CFLAGS += -I. `pkg-config --cflags libasn1c`
+OBJS=${ASN_MODULE_SOURCES:.c=.o} ${ASN_CONVERTER_SOURCES:.c=.o}
+
+all: libosmo-asn1-ranap.a
+
+libosmo-asn1-ranap.a: ${OBJS}
+ $(AR) r $@ $^
+
+.SUFFIXES:
+.SUFFIXES: .c .o
+
+.c.o:
+ $(CC) $(CFLAGS) -o $@ -c $<
+
+clean:
+ rm -f libosmo-asn1-ranap.a
+ rm -f $(OBJS)
+
+clean-srcs:
+ @rm -f *.c *.h Makefile.am.sample
+
+regen: regenerate-from-asn1-source
+
+regenerate-from-asn1-source: clean clean-srcs
+ ASN1C_PREFIX="RANAP_" asn1c -gen-PER ../../asn1/ranap/RANAP-CommonDataTypes.asn ../../asn1/ranap/RANAP-Constants.asn ../../asn1/ranap/RANAP-IEs.asn ../../asn1/ranap/RANAP-PDU.asn
+ # remove the local copy of the runtime code
+ @rm ANY.* BOOLEAN.* INTEGER.* NativeEnumerated.* NativeInteger.* NULL.* OBJECT_IDENTIFIER.* asn_* OCTET_STRING.* converter-sample.c per_* xer_* constr* der_* ber_* BIT_STRING.*
+ # some fixups in erroneous code that asn1c generates
+ sed -i '6i#include <constr_CHOICE.h>' RANAP_ChosenEncryptionAlgorithm.h RANAP_ChosenIntegrityProtectionAlgorithm.h RANAP_IMSI.h RANAP_PLMNidentity.h
+ sed -i 's/Member/MemberA/' RANAP_LA-LIST.[ch] RANAP_SDU-Parameters.[ch] RANAP_RABParametersList.[ch]
diff --git a/src/ranap/RANAP_APN.c b/src/ranap/RANAP_APN.c
new file mode 100644
index 0000000..9058eaf
--- /dev/null
+++ b/src/ranap/RANAP_APN.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_APN.h"
+
+int
+RANAP_APN_constraint(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 >= 1l && size <= 255l)) {
+ /* 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 void
+RANAP_APN_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_APN_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_APN_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_APN_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_APN_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_APN_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_APN_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_APN_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_APN_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_APN_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_APN_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_APN_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_APN_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_APN_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_APN_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_APN_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_APN_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_APN_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_APN_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_APN_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_APN_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_APN_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 8, 8, 1l, 255l } /* (SIZE(1..255)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_APN_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_APN = {
+ "RANAP_APN",
+ "RANAP_APN",
+ RANAP_APN_free,
+ RANAP_APN_print,
+ RANAP_APN_constraint,
+ RANAP_APN_decode_ber,
+ RANAP_APN_encode_der,
+ RANAP_APN_decode_xer,
+ RANAP_APN_encode_xer,
+ RANAP_APN_decode_uper,
+ RANAP_APN_encode_uper,
+ RANAP_APN_decode_aper,
+ RANAP_APN_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_APN_tags_1,
+ sizeof(asn_DEF_RANAP_APN_tags_1)
+ /sizeof(asn_DEF_RANAP_APN_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_APN_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_APN_tags_1)
+ /sizeof(asn_DEF_RANAP_APN_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_APN_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_APN.h b/src/ranap/RANAP_APN.h
new file mode 100644
index 0000000..ac158e1
--- /dev/null
+++ b/src/ranap/RANAP_APN.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_APN_H_
+#define _RANAP_APN_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_APN */
+typedef OCTET_STRING_t RANAP_APN_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_APN;
+asn_struct_free_f RANAP_APN_free;
+asn_struct_print_f RANAP_APN_print;
+asn_constr_check_f RANAP_APN_constraint;
+ber_type_decoder_f RANAP_APN_decode_ber;
+der_type_encoder_f RANAP_APN_encode_der;
+xer_type_decoder_f RANAP_APN_decode_xer;
+xer_type_encoder_f RANAP_APN_encode_xer;
+per_type_decoder_f RANAP_APN_decode_uper;
+per_type_encoder_f RANAP_APN_encode_uper;
+per_type_decoder_f RANAP_APN_decode_aper;
+per_type_encoder_f RANAP_APN_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_APN_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_AccuracyFulfilmentIndicator.c b/src/ranap/RANAP_AccuracyFulfilmentIndicator.c
new file mode 100644
index 0000000..9b190b1
--- /dev/null
+++ b/src/ranap/RANAP_AccuracyFulfilmentIndicator.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_AccuracyFulfilmentIndicator.h"
+
+int
+RANAP_AccuracyFulfilmentIndicator_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_AccuracyFulfilmentIndicator_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_AccuracyFulfilmentIndicator_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_AccuracyFulfilmentIndicator_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_AccuracyFulfilmentIndicator_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_AccuracyFulfilmentIndicator_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_AccuracyFulfilmentIndicator_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_AccuracyFulfilmentIndicator_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_AccuracyFulfilmentIndicator_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_AccuracyFulfilmentIndicator_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_AccuracyFulfilmentIndicator_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_AccuracyFulfilmentIndicator_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_AccuracyFulfilmentIndicator_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_AccuracyFulfilmentIndicator_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_AccuracyFulfilmentIndicator_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_AccuracyFulfilmentIndicator_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_AccuracyFulfilmentIndicator_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_AccuracyFulfilmentIndicator_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_AccuracyFulfilmentIndicator_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_AccuracyFulfilmentIndicator_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_AccuracyFulfilmentIndicator_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_AccuracyFulfilmentIndicator_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_AccuracyFulfilmentIndicator_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_AccuracyFulfilmentIndicator_value2enum_1[] = {
+ { 0, 28, "requested-Accuracy-Fulfilled" },
+ { 1, 32, "requested-Accuracy-Not-Fulfilled" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_AccuracyFulfilmentIndicator_enum2value_1[] = {
+ 0, /* requested-Accuracy-Fulfilled(0) */
+ 1 /* requested-Accuracy-Not-Fulfilled(1) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_AccuracyFulfilmentIndicator_specs_1 = {
+ asn_MAP_RANAP_AccuracyFulfilmentIndicator_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_AccuracyFulfilmentIndicator_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_RANAP_AccuracyFulfilmentIndicator_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_AccuracyFulfilmentIndicator = {
+ "RANAP_AccuracyFulfilmentIndicator",
+ "RANAP_AccuracyFulfilmentIndicator",
+ RANAP_AccuracyFulfilmentIndicator_free,
+ RANAP_AccuracyFulfilmentIndicator_print,
+ RANAP_AccuracyFulfilmentIndicator_constraint,
+ RANAP_AccuracyFulfilmentIndicator_decode_ber,
+ RANAP_AccuracyFulfilmentIndicator_encode_der,
+ RANAP_AccuracyFulfilmentIndicator_decode_xer,
+ RANAP_AccuracyFulfilmentIndicator_encode_xer,
+ RANAP_AccuracyFulfilmentIndicator_decode_uper,
+ RANAP_AccuracyFulfilmentIndicator_encode_uper,
+ RANAP_AccuracyFulfilmentIndicator_decode_aper,
+ RANAP_AccuracyFulfilmentIndicator_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_AccuracyFulfilmentIndicator_tags_1,
+ sizeof(asn_DEF_RANAP_AccuracyFulfilmentIndicator_tags_1)
+ /sizeof(asn_DEF_RANAP_AccuracyFulfilmentIndicator_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_AccuracyFulfilmentIndicator_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_AccuracyFulfilmentIndicator_tags_1)
+ /sizeof(asn_DEF_RANAP_AccuracyFulfilmentIndicator_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_AccuracyFulfilmentIndicator_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_AccuracyFulfilmentIndicator_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_AccuracyFulfilmentIndicator.h b/src/ranap/RANAP_AccuracyFulfilmentIndicator.h
new file mode 100644
index 0000000..e95d0b9
--- /dev/null
+++ b/src/ranap/RANAP_AccuracyFulfilmentIndicator.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_AccuracyFulfilmentIndicator_H_
+#define _RANAP_AccuracyFulfilmentIndicator_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_AccuracyFulfilmentIndicator {
+ RANAP_AccuracyFulfilmentIndicator_requested_Accuracy_Fulfilled = 0,
+ RANAP_AccuracyFulfilmentIndicator_requested_Accuracy_Not_Fulfilled = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_AccuracyFulfilmentIndicator;
+
+/* RANAP_AccuracyFulfilmentIndicator */
+typedef long RANAP_AccuracyFulfilmentIndicator_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_AccuracyFulfilmentIndicator;
+asn_struct_free_f RANAP_AccuracyFulfilmentIndicator_free;
+asn_struct_print_f RANAP_AccuracyFulfilmentIndicator_print;
+asn_constr_check_f RANAP_AccuracyFulfilmentIndicator_constraint;
+ber_type_decoder_f RANAP_AccuracyFulfilmentIndicator_decode_ber;
+der_type_encoder_f RANAP_AccuracyFulfilmentIndicator_encode_der;
+xer_type_decoder_f RANAP_AccuracyFulfilmentIndicator_decode_xer;
+xer_type_encoder_f RANAP_AccuracyFulfilmentIndicator_encode_xer;
+per_type_decoder_f RANAP_AccuracyFulfilmentIndicator_decode_uper;
+per_type_encoder_f RANAP_AccuracyFulfilmentIndicator_encode_uper;
+per_type_decoder_f RANAP_AccuracyFulfilmentIndicator_decode_aper;
+per_type_encoder_f RANAP_AccuracyFulfilmentIndicator_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_AccuracyFulfilmentIndicator_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_AllocationOrRetentionPriority.c b/src/ranap/RANAP_AllocationOrRetentionPriority.c
new file mode 100644
index 0000000..08c7d69
--- /dev/null
+++ b/src/ranap/RANAP_AllocationOrRetentionPriority.c
@@ -0,0 +1,103 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_AllocationOrRetentionPriority.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_AllocationOrRetentionPriority_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_AllocationOrRetentionPriority, priorityLevel),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PriorityLevel,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "priorityLevel"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_AllocationOrRetentionPriority, pre_emptionCapability),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Pre_emptionCapability,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "pre-emptionCapability"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_AllocationOrRetentionPriority, pre_emptionVulnerability),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Pre_emptionVulnerability,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "pre-emptionVulnerability"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_AllocationOrRetentionPriority, queuingAllowed),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_QueuingAllowed,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "queuingAllowed"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_AllocationOrRetentionPriority, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_AllocationOrRetentionPriority_oms_1[] = { 4 };
+static const ber_tlv_tag_t asn_DEF_RANAP_AllocationOrRetentionPriority_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_AllocationOrRetentionPriority_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* priorityLevel */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* pre-emptionCapability */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* pre-emptionVulnerability */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* queuingAllowed */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_AllocationOrRetentionPriority_specs_1 = {
+ sizeof(struct RANAP_AllocationOrRetentionPriority),
+ offsetof(struct RANAP_AllocationOrRetentionPriority, _asn_ctx),
+ asn_MAP_RANAP_AllocationOrRetentionPriority_tag2el_1,
+ 5, /* Count of tags in the map */
+ asn_MAP_RANAP_AllocationOrRetentionPriority_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 4, /* Start extensions */
+ 6 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_AllocationOrRetentionPriority = {
+ "RANAP_AllocationOrRetentionPriority",
+ "RANAP_AllocationOrRetentionPriority",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_AllocationOrRetentionPriority_tags_1,
+ sizeof(asn_DEF_RANAP_AllocationOrRetentionPriority_tags_1)
+ /sizeof(asn_DEF_RANAP_AllocationOrRetentionPriority_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_AllocationOrRetentionPriority_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_AllocationOrRetentionPriority_tags_1)
+ /sizeof(asn_DEF_RANAP_AllocationOrRetentionPriority_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_AllocationOrRetentionPriority_1,
+ 5, /* Elements count */
+ &asn_SPC_RANAP_AllocationOrRetentionPriority_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_AllocationOrRetentionPriority.h b/src/ranap/RANAP_AllocationOrRetentionPriority.h
new file mode 100644
index 0000000..9f19ea6
--- /dev/null
+++ b/src/ranap/RANAP_AllocationOrRetentionPriority.h
@@ -0,0 +1,49 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_AllocationOrRetentionPriority_H_
+#define _RANAP_AllocationOrRetentionPriority_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_PriorityLevel.h"
+#include "RANAP_Pre-emptionCapability.h"
+#include "RANAP_Pre-emptionVulnerability.h"
+#include "RANAP_QueuingAllowed.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_AllocationOrRetentionPriority */
+typedef struct RANAP_AllocationOrRetentionPriority {
+ RANAP_PriorityLevel_t priorityLevel;
+ RANAP_Pre_emptionCapability_t pre_emptionCapability;
+ RANAP_Pre_emptionVulnerability_t pre_emptionVulnerability;
+ RANAP_QueuingAllowed_t queuingAllowed;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_AllocationOrRetentionPriority_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_AllocationOrRetentionPriority;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_AllocationOrRetentionPriority_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf.c b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf.c
new file mode 100644
index 0000000..98f8fd0
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf, altExtendedGuaranteedBitrateType),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateType,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "altExtendedGuaranteedBitrateType"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf, altExtendedGuaranteedBitrates),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "altExtendedGuaranteedBitrates"
+ },
+};
+static const int asn_MAP_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* altExtendedGuaranteedBitrateType */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* altExtendedGuaranteedBitrates */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf_specs_1 = {
+ sizeof(struct RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf),
+ offsetof(struct RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf, _asn_ctx),
+ asn_MAP_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 1, /* Start extensions */
+ 3 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf = {
+ "RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf",
+ "RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf_tags_1,
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf.h b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf.h
new file mode 100644
index 0000000..9c51390
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf_H_
+#define _RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_Alt-RAB-Parameter-GuaranteedBitrateType.h"
+#include "RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrates.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf */
+typedef struct RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf {
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_t altExtendedGuaranteedBitrateType;
+ RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates_t *altExtendedGuaranteedBitrates /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateList.c b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateList.c
new file mode 100644
index 0000000..a0a2400
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateList.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateList.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 1, 1, 1l, 2l } /* (SIZE(1..2)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_ExtendedGuaranteedBitrate,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList_specs_1 = {
+ sizeof(struct RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList),
+ offsetof(struct RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList = {
+ "RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateList",
+ "RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateList",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1,
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList_constr_1,
+ asn_MBR_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateList.h b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateList.h
new file mode 100644
index 0000000..3e7e9c3
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateList.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList_H_
+#define _RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_ExtendedGuaranteedBitrate.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateList */
+typedef struct RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList {
+ A_SEQUENCE_OF(RANAP_ExtendedGuaranteedBitrate_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrates.c b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrates.c
new file mode 100644
index 0000000..cab8a51
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrates.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrates.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 4, 4, 1l, 16l } /* (SIZE(1..16)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates_specs_1 = {
+ sizeof(struct RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates),
+ offsetof(struct RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates = {
+ "RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrates",
+ "RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrates",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates_tags_1,
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates_constr_1,
+ asn_MBR_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrates.h b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrates.h
new file mode 100644
index 0000000..0a6ef5a
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrates.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates_H_
+#define _RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrateList.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Alt-RAB-Parameter-ExtendedGuaranteedBitrates */
+typedef struct RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates {
+ A_SEQUENCE_OF(RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrateList_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Alt_RAB_Parameter_ExtendedGuaranteedBitrates_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateInf.c b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateInf.c
new file mode 100644
index 0000000..370ceaf
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateInf.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateInf.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf, altExtendedMaxBitrateType),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateType,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "altExtendedMaxBitrateType"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf, altExtendedMaxBitrates),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "altExtendedMaxBitrates"
+ },
+};
+static const int asn_MAP_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* altExtendedMaxBitrateType */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* altExtendedMaxBitrates */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf_specs_1 = {
+ sizeof(struct RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf),
+ offsetof(struct RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf, _asn_ctx),
+ asn_MAP_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 1, /* Start extensions */
+ 3 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf = {
+ "RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateInf",
+ "RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateInf",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf_tags_1,
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateInf.h b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateInf.h
new file mode 100644
index 0000000..21e53eb
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateInf.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf_H_
+#define _RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_Alt-RAB-Parameter-MaxBitrateType.h"
+#include "RANAP_Alt-RAB-Parameter-ExtendedMaxBitrates.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateInf */
+typedef struct RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf {
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_t altExtendedMaxBitrateType;
+ RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates_t *altExtendedMaxBitrates /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateInf_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateList.c b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateList.c
new file mode 100644
index 0000000..4a98375
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateList.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateList.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 1, 1, 1l, 2l } /* (SIZE(1..2)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_ExtendedMaxBitrate,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList_specs_1 = {
+ sizeof(struct RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList),
+ offsetof(struct RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList = {
+ "RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateList",
+ "RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateList",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList_tags_1,
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList_constr_1,
+ asn_MBR_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateList.h b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateList.h
new file mode 100644
index 0000000..8e51167
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateList.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList_H_
+#define _RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_ExtendedMaxBitrate.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateList */
+typedef struct RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList {
+ A_SEQUENCE_OF(RANAP_ExtendedMaxBitrate_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrates.c b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrates.c
new file mode 100644
index 0000000..eb4b238
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrates.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Alt-RAB-Parameter-ExtendedMaxBitrates.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 4, 4, 1l, 16l } /* (SIZE(1..16)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates_specs_1 = {
+ sizeof(struct RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates),
+ offsetof(struct RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates = {
+ "RANAP_Alt-RAB-Parameter-ExtendedMaxBitrates",
+ "RANAP_Alt-RAB-Parameter-ExtendedMaxBitrates",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates_tags_1,
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates_constr_1,
+ asn_MBR_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrates.h b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrates.h
new file mode 100644
index 0000000..635a449
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-ExtendedMaxBitrates.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates_H_
+#define _RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_Alt-RAB-Parameter-ExtendedMaxBitrateList.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Alt-RAB-Parameter-ExtendedMaxBitrates */
+typedef struct RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates {
+ A_SEQUENCE_OF(RANAP_Alt_RAB_Parameter_ExtendedMaxBitrateList_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Alt_RAB_Parameter_ExtendedMaxBitrates_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateInf.c b/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateInf.c
new file mode 100644
index 0000000..9cff07a
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateInf.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Alt-RAB-Parameter-GuaranteedBitrateInf.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf, altGuaranteedBitrateType),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateType,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "altGuaranteedBitrateType"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf, altGuaranteedBitrates),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrates,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "altGuaranteedBitrates"
+ },
+};
+static const int asn_MAP_RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* altGuaranteedBitrateType */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* altGuaranteedBitrates */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf_specs_1 = {
+ sizeof(struct RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf),
+ offsetof(struct RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf, _asn_ctx),
+ asn_MAP_RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 1, /* Start extensions */
+ 3 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf = {
+ "RANAP_Alt-RAB-Parameter-GuaranteedBitrateInf",
+ "RANAP_Alt-RAB-Parameter-GuaranteedBitrateInf",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf_tags_1,
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateInf.h b/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateInf.h
new file mode 100644
index 0000000..e136bc7
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateInf.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf_H_
+#define _RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_Alt-RAB-Parameter-GuaranteedBitrateType.h"
+#include "RANAP_Alt-RAB-Parameter-GuaranteedBitrates.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Alt-RAB-Parameter-GuaranteedBitrateInf */
+typedef struct RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf {
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_t altGuaranteedBitrateType;
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrates_t *altGuaranteedBitrates /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateList.c b/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateList.c
new file mode 100644
index 0000000..150e081
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateList.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Alt-RAB-Parameter-GuaranteedBitrateList.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_Alt_RAB_Parameter_GuaranteedBitrateList_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 1, 1, 1l, 2l } /* (SIZE(1..2)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_Alt_RAB_Parameter_GuaranteedBitrateList_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_GuaranteedBitrate,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_Alt_RAB_Parameter_GuaranteedBitrateList_specs_1 = {
+ sizeof(struct RANAP_Alt_RAB_Parameter_GuaranteedBitrateList),
+ offsetof(struct RANAP_Alt_RAB_Parameter_GuaranteedBitrateList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateList = {
+ "RANAP_Alt-RAB-Parameter-GuaranteedBitrateList",
+ "RANAP_Alt-RAB-Parameter-GuaranteedBitrateList",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateList_tags_1,
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateList_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateList_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateList_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Alt_RAB_Parameter_GuaranteedBitrateList_constr_1,
+ asn_MBR_RANAP_Alt_RAB_Parameter_GuaranteedBitrateList_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_Alt_RAB_Parameter_GuaranteedBitrateList_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateList.h b/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateList.h
new file mode 100644
index 0000000..b654747
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateList.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Alt_RAB_Parameter_GuaranteedBitrateList_H_
+#define _RANAP_Alt_RAB_Parameter_GuaranteedBitrateList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_GuaranteedBitrate.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Alt-RAB-Parameter-GuaranteedBitrateList */
+typedef struct RANAP_Alt_RAB_Parameter_GuaranteedBitrateList {
+ A_SEQUENCE_OF(RANAP_GuaranteedBitrate_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Alt_RAB_Parameter_GuaranteedBitrateList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateList;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Alt_RAB_Parameter_GuaranteedBitrateList_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateType.c b/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateType.c
new file mode 100644
index 0000000..204664a
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateType.c
@@ -0,0 +1,169 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Alt-RAB-Parameter-GuaranteedBitrateType.h"
+
+int
+RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 2l } /* (0..2,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_value2enum_1[] = {
+ { 0, 11, "unspecified" },
+ { 1, 11, "value-range" },
+ { 2, 15, "discrete-values" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_enum2value_1[] = {
+ 2, /* discrete-values(2) */
+ 0, /* unspecified(0) */
+ 1 /* value-range(1) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_specs_1 = {
+ asn_MAP_RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_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_RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateType = {
+ "RANAP_Alt-RAB-Parameter-GuaranteedBitrateType",
+ "RANAP_Alt-RAB-Parameter-GuaranteedBitrateType",
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_free,
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_print,
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_constraint,
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_decode_ber,
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_encode_der,
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_decode_xer,
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_encode_xer,
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_decode_uper,
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_encode_uper,
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_decode_aper,
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_tags_1,
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateType.h b/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateType.h
new file mode 100644
index 0000000..57611be
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrateType.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_H_
+#define _RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_Alt_RAB_Parameter_GuaranteedBitrateType {
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_unspecified = 0,
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_value_range = 1,
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_discrete_values = 2
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_Alt_RAB_Parameter_GuaranteedBitrateType;
+
+/* RANAP_Alt-RAB-Parameter-GuaranteedBitrateType */
+typedef long RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateType;
+asn_struct_free_f RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_free;
+asn_struct_print_f RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_print;
+asn_constr_check_f RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_constraint;
+ber_type_decoder_f RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_decode_ber;
+der_type_encoder_f RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_encode_der;
+xer_type_decoder_f RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_decode_xer;
+xer_type_encoder_f RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_encode_xer;
+per_type_decoder_f RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_decode_uper;
+per_type_encoder_f RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_encode_uper;
+per_type_decoder_f RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_decode_aper;
+per_type_encoder_f RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrates.c b/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrates.c
new file mode 100644
index 0000000..ebe1a27
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrates.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Alt-RAB-Parameter-GuaranteedBitrates.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_Alt_RAB_Parameter_GuaranteedBitrates_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 4, 4, 1l, 16l } /* (SIZE(1..16)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_Alt_RAB_Parameter_GuaranteedBitrates_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateList,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrates_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_Alt_RAB_Parameter_GuaranteedBitrates_specs_1 = {
+ sizeof(struct RANAP_Alt_RAB_Parameter_GuaranteedBitrates),
+ offsetof(struct RANAP_Alt_RAB_Parameter_GuaranteedBitrates, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrates = {
+ "RANAP_Alt-RAB-Parameter-GuaranteedBitrates",
+ "RANAP_Alt-RAB-Parameter-GuaranteedBitrates",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrates_tags_1,
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrates_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrates_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrates_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrates_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrates_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Alt_RAB_Parameter_GuaranteedBitrates_constr_1,
+ asn_MBR_RANAP_Alt_RAB_Parameter_GuaranteedBitrates_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_Alt_RAB_Parameter_GuaranteedBitrates_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrates.h b/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrates.h
new file mode 100644
index 0000000..0c92a8b
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-GuaranteedBitrates.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Alt_RAB_Parameter_GuaranteedBitrates_H_
+#define _RANAP_Alt_RAB_Parameter_GuaranteedBitrates_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_Alt-RAB-Parameter-GuaranteedBitrateList.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Alt-RAB-Parameter-GuaranteedBitrates */
+typedef struct RANAP_Alt_RAB_Parameter_GuaranteedBitrates {
+ A_SEQUENCE_OF(RANAP_Alt_RAB_Parameter_GuaranteedBitrateList_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Alt_RAB_Parameter_GuaranteedBitrates_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrates;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Alt_RAB_Parameter_GuaranteedBitrates_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateInf.c b/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateInf.c
new file mode 100644
index 0000000..6bd2fec
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateInf.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Alt-RAB-Parameter-MaxBitrateInf.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_Alt_RAB_Parameter_MaxBitrateInf_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Alt_RAB_Parameter_MaxBitrateInf, altMaxBitrateType),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateType,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "altMaxBitrateType"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_Alt_RAB_Parameter_MaxBitrateInf, altMaxBitrates),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrates,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "altMaxBitrates"
+ },
+};
+static const int asn_MAP_RANAP_Alt_RAB_Parameter_MaxBitrateInf_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateInf_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_Alt_RAB_Parameter_MaxBitrateInf_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* altMaxBitrateType */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* altMaxBitrates */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_Alt_RAB_Parameter_MaxBitrateInf_specs_1 = {
+ sizeof(struct RANAP_Alt_RAB_Parameter_MaxBitrateInf),
+ offsetof(struct RANAP_Alt_RAB_Parameter_MaxBitrateInf, _asn_ctx),
+ asn_MAP_RANAP_Alt_RAB_Parameter_MaxBitrateInf_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_RANAP_Alt_RAB_Parameter_MaxBitrateInf_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 1, /* Start extensions */
+ 3 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateInf = {
+ "RANAP_Alt-RAB-Parameter-MaxBitrateInf",
+ "RANAP_Alt-RAB-Parameter-MaxBitrateInf",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateInf_tags_1,
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateInf_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateInf_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateInf_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateInf_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateInf_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_Alt_RAB_Parameter_MaxBitrateInf_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_Alt_RAB_Parameter_MaxBitrateInf_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateInf.h b/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateInf.h
new file mode 100644
index 0000000..5163490
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateInf.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Alt_RAB_Parameter_MaxBitrateInf_H_
+#define _RANAP_Alt_RAB_Parameter_MaxBitrateInf_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_Alt-RAB-Parameter-MaxBitrateType.h"
+#include "RANAP_Alt-RAB-Parameter-MaxBitrates.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Alt-RAB-Parameter-MaxBitrateInf */
+typedef struct RANAP_Alt_RAB_Parameter_MaxBitrateInf {
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_t altMaxBitrateType;
+ RANAP_Alt_RAB_Parameter_MaxBitrates_t *altMaxBitrates /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Alt_RAB_Parameter_MaxBitrateInf_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateInf;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Alt_RAB_Parameter_MaxBitrateInf_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateList.c b/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateList.c
new file mode 100644
index 0000000..f776c6d
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateList.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Alt-RAB-Parameter-MaxBitrateList.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_Alt_RAB_Parameter_MaxBitrateList_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 1, 1, 1l, 2l } /* (SIZE(1..2)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_Alt_RAB_Parameter_MaxBitrateList_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_MaxBitrate,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_Alt_RAB_Parameter_MaxBitrateList_specs_1 = {
+ sizeof(struct RANAP_Alt_RAB_Parameter_MaxBitrateList),
+ offsetof(struct RANAP_Alt_RAB_Parameter_MaxBitrateList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateList = {
+ "RANAP_Alt-RAB-Parameter-MaxBitrateList",
+ "RANAP_Alt-RAB-Parameter-MaxBitrateList",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateList_tags_1,
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateList_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateList_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateList_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Alt_RAB_Parameter_MaxBitrateList_constr_1,
+ asn_MBR_RANAP_Alt_RAB_Parameter_MaxBitrateList_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_Alt_RAB_Parameter_MaxBitrateList_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateList.h b/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateList.h
new file mode 100644
index 0000000..55d5e74
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateList.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Alt_RAB_Parameter_MaxBitrateList_H_
+#define _RANAP_Alt_RAB_Parameter_MaxBitrateList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_MaxBitrate.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Alt-RAB-Parameter-MaxBitrateList */
+typedef struct RANAP_Alt_RAB_Parameter_MaxBitrateList {
+ A_SEQUENCE_OF(RANAP_MaxBitrate_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Alt_RAB_Parameter_MaxBitrateList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateList;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Alt_RAB_Parameter_MaxBitrateList_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateType.c b/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateType.c
new file mode 100644
index 0000000..87e856c
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateType.c
@@ -0,0 +1,169 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Alt-RAB-Parameter-MaxBitrateType.h"
+
+int
+RANAP_Alt_RAB_Parameter_MaxBitrateType_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_Alt_RAB_Parameter_MaxBitrateType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_Alt_RAB_Parameter_MaxBitrateType_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Alt_RAB_Parameter_MaxBitrateType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Alt_RAB_Parameter_MaxBitrateType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Alt_RAB_Parameter_MaxBitrateType_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Alt_RAB_Parameter_MaxBitrateType_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Alt_RAB_Parameter_MaxBitrateType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Alt_RAB_Parameter_MaxBitrateType_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Alt_RAB_Parameter_MaxBitrateType_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Alt_RAB_Parameter_MaxBitrateType_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Alt_RAB_Parameter_MaxBitrateType_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_Alt_RAB_Parameter_MaxBitrateType_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 2l } /* (0..2,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_Alt_RAB_Parameter_MaxBitrateType_value2enum_1[] = {
+ { 0, 11, "unspecified" },
+ { 1, 11, "value-range" },
+ { 2, 15, "discrete-values" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_Alt_RAB_Parameter_MaxBitrateType_enum2value_1[] = {
+ 2, /* discrete-values(2) */
+ 0, /* unspecified(0) */
+ 1 /* value-range(1) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_Alt_RAB_Parameter_MaxBitrateType_specs_1 = {
+ asn_MAP_RANAP_Alt_RAB_Parameter_MaxBitrateType_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_Alt_RAB_Parameter_MaxBitrateType_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_RANAP_Alt_RAB_Parameter_MaxBitrateType_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateType = {
+ "RANAP_Alt-RAB-Parameter-MaxBitrateType",
+ "RANAP_Alt-RAB-Parameter-MaxBitrateType",
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_free,
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_print,
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_constraint,
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_decode_ber,
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_encode_der,
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_decode_xer,
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_encode_xer,
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_decode_uper,
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_encode_uper,
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_decode_aper,
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateType_tags_1,
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateType_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateType_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateType_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateType_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateType_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Alt_RAB_Parameter_MaxBitrateType_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_Alt_RAB_Parameter_MaxBitrateType_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateType.h b/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateType.h
new file mode 100644
index 0000000..1370399
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrateType.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Alt_RAB_Parameter_MaxBitrateType_H_
+#define _RANAP_Alt_RAB_Parameter_MaxBitrateType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_Alt_RAB_Parameter_MaxBitrateType {
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_unspecified = 0,
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_value_range = 1,
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_discrete_values = 2
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_Alt_RAB_Parameter_MaxBitrateType;
+
+/* RANAP_Alt-RAB-Parameter-MaxBitrateType */
+typedef long RANAP_Alt_RAB_Parameter_MaxBitrateType_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateType;
+asn_struct_free_f RANAP_Alt_RAB_Parameter_MaxBitrateType_free;
+asn_struct_print_f RANAP_Alt_RAB_Parameter_MaxBitrateType_print;
+asn_constr_check_f RANAP_Alt_RAB_Parameter_MaxBitrateType_constraint;
+ber_type_decoder_f RANAP_Alt_RAB_Parameter_MaxBitrateType_decode_ber;
+der_type_encoder_f RANAP_Alt_RAB_Parameter_MaxBitrateType_encode_der;
+xer_type_decoder_f RANAP_Alt_RAB_Parameter_MaxBitrateType_decode_xer;
+xer_type_encoder_f RANAP_Alt_RAB_Parameter_MaxBitrateType_encode_xer;
+per_type_decoder_f RANAP_Alt_RAB_Parameter_MaxBitrateType_decode_uper;
+per_type_encoder_f RANAP_Alt_RAB_Parameter_MaxBitrateType_encode_uper;
+per_type_decoder_f RANAP_Alt_RAB_Parameter_MaxBitrateType_decode_aper;
+per_type_encoder_f RANAP_Alt_RAB_Parameter_MaxBitrateType_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Alt_RAB_Parameter_MaxBitrateType_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrates.c b/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrates.c
new file mode 100644
index 0000000..485a613
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrates.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Alt-RAB-Parameter-MaxBitrates.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_Alt_RAB_Parameter_MaxBitrates_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 4, 4, 1l, 16l } /* (SIZE(1..16)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_Alt_RAB_Parameter_MaxBitrates_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateList,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrates_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_Alt_RAB_Parameter_MaxBitrates_specs_1 = {
+ sizeof(struct RANAP_Alt_RAB_Parameter_MaxBitrates),
+ offsetof(struct RANAP_Alt_RAB_Parameter_MaxBitrates, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrates = {
+ "RANAP_Alt-RAB-Parameter-MaxBitrates",
+ "RANAP_Alt-RAB-Parameter-MaxBitrates",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrates_tags_1,
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrates_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrates_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrates_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrates_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrates_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Alt_RAB_Parameter_MaxBitrates_constr_1,
+ asn_MBR_RANAP_Alt_RAB_Parameter_MaxBitrates_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_Alt_RAB_Parameter_MaxBitrates_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrates.h b/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrates.h
new file mode 100644
index 0000000..11aba6d
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-MaxBitrates.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Alt_RAB_Parameter_MaxBitrates_H_
+#define _RANAP_Alt_RAB_Parameter_MaxBitrates_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_Alt-RAB-Parameter-MaxBitrateList.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Alt-RAB-Parameter-MaxBitrates */
+typedef struct RANAP_Alt_RAB_Parameter_MaxBitrates {
+ A_SEQUENCE_OF(RANAP_Alt_RAB_Parameter_MaxBitrateList_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Alt_RAB_Parameter_MaxBitrates_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrates;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Alt_RAB_Parameter_MaxBitrates_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrateInf.c b/src/ranap/RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrateInf.c
new file mode 100644
index 0000000..cb7351c
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrateInf.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrateInf.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf, altSupportedGuaranteedBitrateType),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateType,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "altSupportedGuaranteedBitrateType"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf, altSupportedGuaranteedBitrates),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "altSupportedGuaranteedBitrates"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* altSupportedGuaranteedBitrateType */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* altSupportedGuaranteedBitrates */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_specs_1 = {
+ sizeof(struct RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf),
+ offsetof(struct RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf, _asn_ctx),
+ asn_MAP_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf = {
+ "RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrateInf",
+ "RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrateInf",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_tags_1,
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrateInf.h b/src/ranap/RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrateInf.h
new file mode 100644
index 0000000..f352baa
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrateInf.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_H_
+#define _RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_Alt-RAB-Parameter-GuaranteedBitrateType.h"
+#include "RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrates.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrateInf */
+typedef struct RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf {
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateType_t altSupportedGuaranteedBitrateType;
+ RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates_t *altSupportedGuaranteedBitrates /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrates.c b/src/ranap/RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrates.c
new file mode 100644
index 0000000..35df587
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrates.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrates.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 4, 4, 1l, 16l } /* (SIZE(1..16)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_SupportedRAB_ParameterBitrateList,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates_specs_1 = {
+ sizeof(struct RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates),
+ offsetof(struct RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates = {
+ "RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrates",
+ "RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrates",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates_tags_1,
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates_constr_1,
+ asn_MBR_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrates.h b/src/ranap/RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrates.h
new file mode 100644
index 0000000..fa2a46f
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrates.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates_H_
+#define _RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_SupportedRAB-ParameterBitrateList.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Alt-RAB-Parameter-SupportedGuaranteedBitrates */
+typedef struct RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates {
+ A_SEQUENCE_OF(RANAP_SupportedRAB_ParameterBitrateList_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Alt_RAB_Parameter_SupportedGuaranteedBitrates_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-SupportedMaxBitrateInf.c b/src/ranap/RANAP_Alt-RAB-Parameter-SupportedMaxBitrateInf.c
new file mode 100644
index 0000000..6862df3
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-SupportedMaxBitrateInf.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Alt-RAB-Parameter-SupportedMaxBitrateInf.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf, altSupportedMaxBitrateType),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateType,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "altSupportedMaxBitrateType"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf, altSupportedMaxBitrates),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Alt_RAB_Parameter_SupportedMaxBitrates,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "altSupportedMaxBitrates"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* altSupportedMaxBitrateType */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* altSupportedMaxBitrates */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf_specs_1 = {
+ sizeof(struct RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf),
+ offsetof(struct RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf, _asn_ctx),
+ asn_MAP_RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf = {
+ "RANAP_Alt-RAB-Parameter-SupportedMaxBitrateInf",
+ "RANAP_Alt-RAB-Parameter-SupportedMaxBitrateInf",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf_tags_1,
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-SupportedMaxBitrateInf.h b/src/ranap/RANAP_Alt-RAB-Parameter-SupportedMaxBitrateInf.h
new file mode 100644
index 0000000..3b3fb33
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-SupportedMaxBitrateInf.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf_H_
+#define _RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_Alt-RAB-Parameter-MaxBitrateType.h"
+#include "RANAP_Alt-RAB-Parameter-SupportedMaxBitrates.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Alt-RAB-Parameter-SupportedMaxBitrateInf */
+typedef struct RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf {
+ RANAP_Alt_RAB_Parameter_MaxBitrateType_t altSupportedMaxBitrateType;
+ RANAP_Alt_RAB_Parameter_SupportedMaxBitrates_t *altSupportedMaxBitrates /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Alt_RAB_Parameter_SupportedMaxBitrateInf_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-SupportedMaxBitrates.c b/src/ranap/RANAP_Alt-RAB-Parameter-SupportedMaxBitrates.c
new file mode 100644
index 0000000..bcf848c
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-SupportedMaxBitrates.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Alt-RAB-Parameter-SupportedMaxBitrates.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_Alt_RAB_Parameter_SupportedMaxBitrates_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 4, 4, 1l, 16l } /* (SIZE(1..16)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_Alt_RAB_Parameter_SupportedMaxBitrates_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_SupportedRAB_ParameterBitrateList,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Alt_RAB_Parameter_SupportedMaxBitrates_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_Alt_RAB_Parameter_SupportedMaxBitrates_specs_1 = {
+ sizeof(struct RANAP_Alt_RAB_Parameter_SupportedMaxBitrates),
+ offsetof(struct RANAP_Alt_RAB_Parameter_SupportedMaxBitrates, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_SupportedMaxBitrates = {
+ "RANAP_Alt-RAB-Parameter-SupportedMaxBitrates",
+ "RANAP_Alt-RAB-Parameter-SupportedMaxBitrates",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Alt_RAB_Parameter_SupportedMaxBitrates_tags_1,
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_SupportedMaxBitrates_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_SupportedMaxBitrates_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Alt_RAB_Parameter_SupportedMaxBitrates_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_SupportedMaxBitrates_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameter_SupportedMaxBitrates_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Alt_RAB_Parameter_SupportedMaxBitrates_constr_1,
+ asn_MBR_RANAP_Alt_RAB_Parameter_SupportedMaxBitrates_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_Alt_RAB_Parameter_SupportedMaxBitrates_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Alt-RAB-Parameter-SupportedMaxBitrates.h b/src/ranap/RANAP_Alt-RAB-Parameter-SupportedMaxBitrates.h
new file mode 100644
index 0000000..453d578
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameter-SupportedMaxBitrates.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Alt_RAB_Parameter_SupportedMaxBitrates_H_
+#define _RANAP_Alt_RAB_Parameter_SupportedMaxBitrates_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_SupportedRAB-ParameterBitrateList.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Alt-RAB-Parameter-SupportedMaxBitrates */
+typedef struct RANAP_Alt_RAB_Parameter_SupportedMaxBitrates {
+ A_SEQUENCE_OF(RANAP_SupportedRAB_ParameterBitrateList_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Alt_RAB_Parameter_SupportedMaxBitrates_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameter_SupportedMaxBitrates;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Alt_RAB_Parameter_SupportedMaxBitrates_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Alt-RAB-Parameters.c b/src/ranap/RANAP_Alt-RAB-Parameters.c
new file mode 100644
index 0000000..5bee958
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameters.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Alt-RAB-Parameters.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_Alt_RAB_Parameters_1[] = {
+ { ATF_POINTER, 3, offsetof(struct RANAP_Alt_RAB_Parameters, altMaxBitrateInf),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Alt_RAB_Parameter_MaxBitrateInf,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "altMaxBitrateInf"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_Alt_RAB_Parameters, altGuaranteedBitRateInf),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "altGuaranteedBitRateInf"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_Alt_RAB_Parameters, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_Alt_RAB_Parameters_oms_1[] = { 0, 1, 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_Alt_RAB_Parameters_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_Alt_RAB_Parameters_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* altMaxBitrateInf */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* altGuaranteedBitRateInf */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_Alt_RAB_Parameters_specs_1 = {
+ sizeof(struct RANAP_Alt_RAB_Parameters),
+ offsetof(struct RANAP_Alt_RAB_Parameters, _asn_ctx),
+ asn_MAP_RANAP_Alt_RAB_Parameters_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_Alt_RAB_Parameters_oms_1, /* Optional members */
+ 3, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameters = {
+ "RANAP_Alt-RAB-Parameters",
+ "RANAP_Alt-RAB-Parameters",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Alt_RAB_Parameters_tags_1,
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameters_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameters_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Alt_RAB_Parameters_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Alt_RAB_Parameters_tags_1)
+ /sizeof(asn_DEF_RANAP_Alt_RAB_Parameters_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_Alt_RAB_Parameters_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_Alt_RAB_Parameters_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Alt-RAB-Parameters.h b/src/ranap/RANAP_Alt-RAB-Parameters.h
new file mode 100644
index 0000000..a92d41c
--- /dev/null
+++ b/src/ranap/RANAP_Alt-RAB-Parameters.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Alt_RAB_Parameters_H_
+#define _RANAP_Alt_RAB_Parameters_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_Alt-RAB-Parameter-MaxBitrateInf.h"
+#include "RANAP_Alt-RAB-Parameter-GuaranteedBitrateInf.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Alt-RAB-Parameters */
+typedef struct RANAP_Alt_RAB_Parameters {
+ RANAP_Alt_RAB_Parameter_MaxBitrateInf_t *altMaxBitrateInf /* OPTIONAL */;
+ RANAP_Alt_RAB_Parameter_GuaranteedBitrateInf_t *altGuaranteedBitRateInf /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Alt_RAB_Parameters_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Alt_RAB_Parameters;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Alt_RAB_Parameters_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_AlternativeRABConfigurationRequest.c b/src/ranap/RANAP_AlternativeRABConfigurationRequest.c
new file mode 100644
index 0000000..388a74d
--- /dev/null
+++ b/src/ranap/RANAP_AlternativeRABConfigurationRequest.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_AlternativeRABConfigurationRequest.h"
+
+int
+RANAP_AlternativeRABConfigurationRequest_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_AlternativeRABConfigurationRequest_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_AlternativeRABConfigurationRequest_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_AlternativeRABConfigurationRequest_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_AlternativeRABConfigurationRequest_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_AlternativeRABConfigurationRequest_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_AlternativeRABConfigurationRequest_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_AlternativeRABConfigurationRequest_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_AlternativeRABConfigurationRequest_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_AlternativeRABConfigurationRequest_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_AlternativeRABConfigurationRequest_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_AlternativeRABConfigurationRequest_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_AlternativeRABConfigurationRequest_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_AlternativeRABConfigurationRequest_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_AlternativeRABConfigurationRequest_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_AlternativeRABConfigurationRequest_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_AlternativeRABConfigurationRequest_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_AlternativeRABConfigurationRequest_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_AlternativeRABConfigurationRequest_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_AlternativeRABConfigurationRequest_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_AlternativeRABConfigurationRequest_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_AlternativeRABConfigurationRequest_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_AlternativeRABConfigurationRequest_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_AlternativeRABConfigurationRequest_value2enum_1[] = {
+ { 0, 39, "alternative-RAB-configuration-Requested" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_AlternativeRABConfigurationRequest_enum2value_1[] = {
+ 0 /* alternative-RAB-configuration-Requested(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_AlternativeRABConfigurationRequest_specs_1 = {
+ asn_MAP_RANAP_AlternativeRABConfigurationRequest_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_AlternativeRABConfigurationRequest_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_RANAP_AlternativeRABConfigurationRequest_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_AlternativeRABConfigurationRequest = {
+ "RANAP_AlternativeRABConfigurationRequest",
+ "RANAP_AlternativeRABConfigurationRequest",
+ RANAP_AlternativeRABConfigurationRequest_free,
+ RANAP_AlternativeRABConfigurationRequest_print,
+ RANAP_AlternativeRABConfigurationRequest_constraint,
+ RANAP_AlternativeRABConfigurationRequest_decode_ber,
+ RANAP_AlternativeRABConfigurationRequest_encode_der,
+ RANAP_AlternativeRABConfigurationRequest_decode_xer,
+ RANAP_AlternativeRABConfigurationRequest_encode_xer,
+ RANAP_AlternativeRABConfigurationRequest_decode_uper,
+ RANAP_AlternativeRABConfigurationRequest_encode_uper,
+ RANAP_AlternativeRABConfigurationRequest_decode_aper,
+ RANAP_AlternativeRABConfigurationRequest_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_AlternativeRABConfigurationRequest_tags_1,
+ sizeof(asn_DEF_RANAP_AlternativeRABConfigurationRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_AlternativeRABConfigurationRequest_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_AlternativeRABConfigurationRequest_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_AlternativeRABConfigurationRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_AlternativeRABConfigurationRequest_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_AlternativeRABConfigurationRequest_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_AlternativeRABConfigurationRequest_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_AlternativeRABConfigurationRequest.h b/src/ranap/RANAP_AlternativeRABConfigurationRequest.h
new file mode 100644
index 0000000..676d97f
--- /dev/null
+++ b/src/ranap/RANAP_AlternativeRABConfigurationRequest.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_AlternativeRABConfigurationRequest_H_
+#define _RANAP_AlternativeRABConfigurationRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_AlternativeRABConfigurationRequest {
+ RANAP_AlternativeRABConfigurationRequest_alternative_RAB_configuration_Requested = 0
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_AlternativeRABConfigurationRequest;
+
+/* RANAP_AlternativeRABConfigurationRequest */
+typedef long RANAP_AlternativeRABConfigurationRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_AlternativeRABConfigurationRequest;
+asn_struct_free_f RANAP_AlternativeRABConfigurationRequest_free;
+asn_struct_print_f RANAP_AlternativeRABConfigurationRequest_print;
+asn_constr_check_f RANAP_AlternativeRABConfigurationRequest_constraint;
+ber_type_decoder_f RANAP_AlternativeRABConfigurationRequest_decode_ber;
+der_type_encoder_f RANAP_AlternativeRABConfigurationRequest_encode_der;
+xer_type_decoder_f RANAP_AlternativeRABConfigurationRequest_decode_xer;
+xer_type_encoder_f RANAP_AlternativeRABConfigurationRequest_encode_xer;
+per_type_decoder_f RANAP_AlternativeRABConfigurationRequest_decode_uper;
+per_type_encoder_f RANAP_AlternativeRABConfigurationRequest_encode_uper;
+per_type_decoder_f RANAP_AlternativeRABConfigurationRequest_decode_aper;
+per_type_encoder_f RANAP_AlternativeRABConfigurationRequest_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_AlternativeRABConfigurationRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_AreaIdentity.c b/src/ranap/RANAP_AreaIdentity.c
new file mode 100644
index 0000000..259b8b0
--- /dev/null
+++ b/src/ranap/RANAP_AreaIdentity.c
@@ -0,0 +1,72 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_AreaIdentity.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_AreaIdentity_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_AreaIdentity_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_AreaIdentity, choice.sAI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_SAI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "sAI"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_AreaIdentity, choice.geographicalArea),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANAP_GeographicalArea,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "geographicalArea"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_AreaIdentity_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sAI */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* geographicalArea */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_AreaIdentity_specs_1 = {
+ sizeof(struct RANAP_AreaIdentity),
+ offsetof(struct RANAP_AreaIdentity, _asn_ctx),
+ offsetof(struct RANAP_AreaIdentity, present),
+ sizeof(((struct RANAP_AreaIdentity *)0)->present),
+ asn_MAP_RANAP_AreaIdentity_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_AreaIdentity = {
+ "RANAP_AreaIdentity",
+ "RANAP_AreaIdentity",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_AreaIdentity_constr_1,
+ asn_MBR_RANAP_AreaIdentity_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_AreaIdentity_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_AreaIdentity.h b/src/ranap/RANAP_AreaIdentity.h
new file mode 100644
index 0000000..3af01d2
--- /dev/null
+++ b/src/ranap/RANAP_AreaIdentity.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_AreaIdentity_H_
+#define _RANAP_AreaIdentity_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_SAI.h"
+#include "RANAP_GeographicalArea.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_AreaIdentity_PR {
+ RANAP_AreaIdentity_PR_NOTHING, /* No components present */
+ RANAP_AreaIdentity_PR_sAI,
+ RANAP_AreaIdentity_PR_geographicalArea,
+ /* Extensions may appear below */
+
+} RANAP_AreaIdentity_PR;
+
+/* RANAP_AreaIdentity */
+typedef struct RANAP_AreaIdentity {
+ RANAP_AreaIdentity_PR present;
+ union RANAP_AreaIdentity_u {
+ RANAP_SAI_t sAI;
+ RANAP_GeographicalArea_t geographicalArea;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_AreaIdentity_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_AreaIdentity;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_AreaIdentity_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Ass-RAB-Parameter-ExtendedGuaranteedBitrateList.c b/src/ranap/RANAP_Ass-RAB-Parameter-ExtendedGuaranteedBitrateList.c
new file mode 100644
index 0000000..310bf43
--- /dev/null
+++ b/src/ranap/RANAP_Ass-RAB-Parameter-ExtendedGuaranteedBitrateList.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Ass-RAB-Parameter-ExtendedGuaranteedBitrateList.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 1, 1, 1l, 2l } /* (SIZE(1..2)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_ExtendedGuaranteedBitrate,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList_specs_1 = {
+ sizeof(struct RANAP_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList),
+ offsetof(struct RANAP_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList = {
+ "RANAP_Ass-RAB-Parameter-ExtendedGuaranteedBitrateList",
+ "RANAP_Ass-RAB-Parameter-ExtendedGuaranteedBitrateList",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1,
+ sizeof(asn_DEF_RANAP_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList_constr_1,
+ asn_MBR_RANAP_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Ass-RAB-Parameter-ExtendedGuaranteedBitrateList.h b/src/ranap/RANAP_Ass-RAB-Parameter-ExtendedGuaranteedBitrateList.h
new file mode 100644
index 0000000..a8a5bc6
--- /dev/null
+++ b/src/ranap/RANAP_Ass-RAB-Parameter-ExtendedGuaranteedBitrateList.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList_H_
+#define _RANAP_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_ExtendedGuaranteedBitrate.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Ass-RAB-Parameter-ExtendedGuaranteedBitrateList */
+typedef struct RANAP_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList {
+ A_SEQUENCE_OF(RANAP_ExtendedGuaranteedBitrate_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Ass-RAB-Parameter-ExtendedMaxBitrateList.c b/src/ranap/RANAP_Ass-RAB-Parameter-ExtendedMaxBitrateList.c
new file mode 100644
index 0000000..90f2cda
--- /dev/null
+++ b/src/ranap/RANAP_Ass-RAB-Parameter-ExtendedMaxBitrateList.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Ass-RAB-Parameter-ExtendedMaxBitrateList.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_Ass_RAB_Parameter_ExtendedMaxBitrateList_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 1, 1, 1l, 2l } /* (SIZE(1..2)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_Ass_RAB_Parameter_ExtendedMaxBitrateList_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_ExtendedMaxBitrate,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Ass_RAB_Parameter_ExtendedMaxBitrateList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_Ass_RAB_Parameter_ExtendedMaxBitrateList_specs_1 = {
+ sizeof(struct RANAP_Ass_RAB_Parameter_ExtendedMaxBitrateList),
+ offsetof(struct RANAP_Ass_RAB_Parameter_ExtendedMaxBitrateList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Ass_RAB_Parameter_ExtendedMaxBitrateList = {
+ "RANAP_Ass-RAB-Parameter-ExtendedMaxBitrateList",
+ "RANAP_Ass-RAB-Parameter-ExtendedMaxBitrateList",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Ass_RAB_Parameter_ExtendedMaxBitrateList_tags_1,
+ sizeof(asn_DEF_RANAP_Ass_RAB_Parameter_ExtendedMaxBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Ass_RAB_Parameter_ExtendedMaxBitrateList_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Ass_RAB_Parameter_ExtendedMaxBitrateList_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Ass_RAB_Parameter_ExtendedMaxBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Ass_RAB_Parameter_ExtendedMaxBitrateList_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Ass_RAB_Parameter_ExtendedMaxBitrateList_constr_1,
+ asn_MBR_RANAP_Ass_RAB_Parameter_ExtendedMaxBitrateList_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_Ass_RAB_Parameter_ExtendedMaxBitrateList_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Ass-RAB-Parameter-ExtendedMaxBitrateList.h b/src/ranap/RANAP_Ass-RAB-Parameter-ExtendedMaxBitrateList.h
new file mode 100644
index 0000000..4ecb4e6
--- /dev/null
+++ b/src/ranap/RANAP_Ass-RAB-Parameter-ExtendedMaxBitrateList.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Ass_RAB_Parameter_ExtendedMaxBitrateList_H_
+#define _RANAP_Ass_RAB_Parameter_ExtendedMaxBitrateList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_ExtendedMaxBitrate.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Ass-RAB-Parameter-ExtendedMaxBitrateList */
+typedef struct RANAP_Ass_RAB_Parameter_ExtendedMaxBitrateList {
+ A_SEQUENCE_OF(RANAP_ExtendedMaxBitrate_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Ass_RAB_Parameter_ExtendedMaxBitrateList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Ass_RAB_Parameter_ExtendedMaxBitrateList;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Ass_RAB_Parameter_ExtendedMaxBitrateList_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Ass-RAB-Parameter-GuaranteedBitrateList.c b/src/ranap/RANAP_Ass-RAB-Parameter-GuaranteedBitrateList.c
new file mode 100644
index 0000000..59ff57d
--- /dev/null
+++ b/src/ranap/RANAP_Ass-RAB-Parameter-GuaranteedBitrateList.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Ass-RAB-Parameter-GuaranteedBitrateList.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_Ass_RAB_Parameter_GuaranteedBitrateList_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 1, 1, 1l, 2l } /* (SIZE(1..2)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_Ass_RAB_Parameter_GuaranteedBitrateList_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_GuaranteedBitrate,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Ass_RAB_Parameter_GuaranteedBitrateList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_Ass_RAB_Parameter_GuaranteedBitrateList_specs_1 = {
+ sizeof(struct RANAP_Ass_RAB_Parameter_GuaranteedBitrateList),
+ offsetof(struct RANAP_Ass_RAB_Parameter_GuaranteedBitrateList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Ass_RAB_Parameter_GuaranteedBitrateList = {
+ "RANAP_Ass-RAB-Parameter-GuaranteedBitrateList",
+ "RANAP_Ass-RAB-Parameter-GuaranteedBitrateList",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Ass_RAB_Parameter_GuaranteedBitrateList_tags_1,
+ sizeof(asn_DEF_RANAP_Ass_RAB_Parameter_GuaranteedBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Ass_RAB_Parameter_GuaranteedBitrateList_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Ass_RAB_Parameter_GuaranteedBitrateList_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Ass_RAB_Parameter_GuaranteedBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Ass_RAB_Parameter_GuaranteedBitrateList_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Ass_RAB_Parameter_GuaranteedBitrateList_constr_1,
+ asn_MBR_RANAP_Ass_RAB_Parameter_GuaranteedBitrateList_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_Ass_RAB_Parameter_GuaranteedBitrateList_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Ass-RAB-Parameter-GuaranteedBitrateList.h b/src/ranap/RANAP_Ass-RAB-Parameter-GuaranteedBitrateList.h
new file mode 100644
index 0000000..63e30ed
--- /dev/null
+++ b/src/ranap/RANAP_Ass-RAB-Parameter-GuaranteedBitrateList.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Ass_RAB_Parameter_GuaranteedBitrateList_H_
+#define _RANAP_Ass_RAB_Parameter_GuaranteedBitrateList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_GuaranteedBitrate.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Ass-RAB-Parameter-GuaranteedBitrateList */
+typedef struct RANAP_Ass_RAB_Parameter_GuaranteedBitrateList {
+ A_SEQUENCE_OF(RANAP_GuaranteedBitrate_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Ass_RAB_Parameter_GuaranteedBitrateList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Ass_RAB_Parameter_GuaranteedBitrateList;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Ass_RAB_Parameter_GuaranteedBitrateList_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Ass-RAB-Parameter-MaxBitrateList.c b/src/ranap/RANAP_Ass-RAB-Parameter-MaxBitrateList.c
new file mode 100644
index 0000000..94bafa4
--- /dev/null
+++ b/src/ranap/RANAP_Ass-RAB-Parameter-MaxBitrateList.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Ass-RAB-Parameter-MaxBitrateList.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_Ass_RAB_Parameter_MaxBitrateList_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 1, 1, 1l, 2l } /* (SIZE(1..2)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_Ass_RAB_Parameter_MaxBitrateList_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_MaxBitrate,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Ass_RAB_Parameter_MaxBitrateList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_Ass_RAB_Parameter_MaxBitrateList_specs_1 = {
+ sizeof(struct RANAP_Ass_RAB_Parameter_MaxBitrateList),
+ offsetof(struct RANAP_Ass_RAB_Parameter_MaxBitrateList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Ass_RAB_Parameter_MaxBitrateList = {
+ "RANAP_Ass-RAB-Parameter-MaxBitrateList",
+ "RANAP_Ass-RAB-Parameter-MaxBitrateList",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Ass_RAB_Parameter_MaxBitrateList_tags_1,
+ sizeof(asn_DEF_RANAP_Ass_RAB_Parameter_MaxBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Ass_RAB_Parameter_MaxBitrateList_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Ass_RAB_Parameter_MaxBitrateList_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Ass_RAB_Parameter_MaxBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Ass_RAB_Parameter_MaxBitrateList_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Ass_RAB_Parameter_MaxBitrateList_constr_1,
+ asn_MBR_RANAP_Ass_RAB_Parameter_MaxBitrateList_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_Ass_RAB_Parameter_MaxBitrateList_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Ass-RAB-Parameter-MaxBitrateList.h b/src/ranap/RANAP_Ass-RAB-Parameter-MaxBitrateList.h
new file mode 100644
index 0000000..1171651
--- /dev/null
+++ b/src/ranap/RANAP_Ass-RAB-Parameter-MaxBitrateList.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Ass_RAB_Parameter_MaxBitrateList_H_
+#define _RANAP_Ass_RAB_Parameter_MaxBitrateList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_MaxBitrate.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Ass-RAB-Parameter-MaxBitrateList */
+typedef struct RANAP_Ass_RAB_Parameter_MaxBitrateList {
+ A_SEQUENCE_OF(RANAP_MaxBitrate_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Ass_RAB_Parameter_MaxBitrateList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Ass_RAB_Parameter_MaxBitrateList;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Ass_RAB_Parameter_MaxBitrateList_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Ass-RAB-Parameters.c b/src/ranap/RANAP_Ass-RAB-Parameters.c
new file mode 100644
index 0000000..2804418
--- /dev/null
+++ b/src/ranap/RANAP_Ass-RAB-Parameters.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Ass-RAB-Parameters.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_Ass_RAB_Parameters_1[] = {
+ { ATF_POINTER, 3, offsetof(struct RANAP_Ass_RAB_Parameters, assMaxBitrateInf),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Ass_RAB_Parameter_MaxBitrateList,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "assMaxBitrateInf"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_Ass_RAB_Parameters, assGuaranteedBitRateInf),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Ass_RAB_Parameter_GuaranteedBitrateList,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "assGuaranteedBitRateInf"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_Ass_RAB_Parameters, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_Ass_RAB_Parameters_oms_1[] = { 0, 1, 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_Ass_RAB_Parameters_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_Ass_RAB_Parameters_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* assMaxBitrateInf */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* assGuaranteedBitRateInf */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_Ass_RAB_Parameters_specs_1 = {
+ sizeof(struct RANAP_Ass_RAB_Parameters),
+ offsetof(struct RANAP_Ass_RAB_Parameters, _asn_ctx),
+ asn_MAP_RANAP_Ass_RAB_Parameters_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_Ass_RAB_Parameters_oms_1, /* Optional members */
+ 3, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Ass_RAB_Parameters = {
+ "RANAP_Ass-RAB-Parameters",
+ "RANAP_Ass-RAB-Parameters",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Ass_RAB_Parameters_tags_1,
+ sizeof(asn_DEF_RANAP_Ass_RAB_Parameters_tags_1)
+ /sizeof(asn_DEF_RANAP_Ass_RAB_Parameters_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Ass_RAB_Parameters_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Ass_RAB_Parameters_tags_1)
+ /sizeof(asn_DEF_RANAP_Ass_RAB_Parameters_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_Ass_RAB_Parameters_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_Ass_RAB_Parameters_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Ass-RAB-Parameters.h b/src/ranap/RANAP_Ass-RAB-Parameters.h
new file mode 100644
index 0000000..4760fdf
--- /dev/null
+++ b/src/ranap/RANAP_Ass-RAB-Parameters.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Ass_RAB_Parameters_H_
+#define _RANAP_Ass_RAB_Parameters_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_Ass-RAB-Parameter-MaxBitrateList.h"
+#include "RANAP_Ass-RAB-Parameter-GuaranteedBitrateList.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Ass-RAB-Parameters */
+typedef struct RANAP_Ass_RAB_Parameters {
+ RANAP_Ass_RAB_Parameter_MaxBitrateList_t *assMaxBitrateInf /* OPTIONAL */;
+ RANAP_Ass_RAB_Parameter_GuaranteedBitrateList_t *assGuaranteedBitRateInf /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Ass_RAB_Parameters_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Ass_RAB_Parameters;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Ass_RAB_Parameters_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_AuthorisedPLMNs.c b/src/ranap/RANAP_AuthorisedPLMNs.c
new file mode 100644
index 0000000..784177c
--- /dev/null
+++ b/src/ranap/RANAP_AuthorisedPLMNs.c
@@ -0,0 +1,135 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_AuthorisedPLMNs.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_AuthorisedPLMNs_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 5, 5, 1l, 32l } /* (SIZE(1..32)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_Member_2[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct Member, pLMNidentity),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PLMNidentity,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "pLMNidentity"
+ },
+ { ATF_POINTER, 2, offsetof(struct Member, authorisedSNAsList),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_AuthorisedSNAs,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "authorisedSNAsList"
+ },
+ { ATF_POINTER, 1, offsetof(struct Member, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "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 }, /* pLMNidentity */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* authorisedSNAsList */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
+ sizeof(struct Member),
+ offsetof(struct 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 */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_Member_2 = {
+ "SEQUENCE",
+ "SEQUENCE",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ 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, /* No PER visible constraints */
+ asn_MBR_Member_2,
+ 3, /* Elements count */
+ &asn_SPC_Member_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_AuthorisedPLMNs_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_Member_2,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_AuthorisedPLMNs_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_AuthorisedPLMNs_specs_1 = {
+ sizeof(struct RANAP_AuthorisedPLMNs),
+ offsetof(struct RANAP_AuthorisedPLMNs, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_AuthorisedPLMNs = {
+ "RANAP_AuthorisedPLMNs",
+ "RANAP_AuthorisedPLMNs",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_AuthorisedPLMNs_tags_1,
+ sizeof(asn_DEF_RANAP_AuthorisedPLMNs_tags_1)
+ /sizeof(asn_DEF_RANAP_AuthorisedPLMNs_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_AuthorisedPLMNs_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_AuthorisedPLMNs_tags_1)
+ /sizeof(asn_DEF_RANAP_AuthorisedPLMNs_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_AuthorisedPLMNs_constr_1,
+ asn_MBR_RANAP_AuthorisedPLMNs_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_AuthorisedPLMNs_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_AuthorisedPLMNs.h b/src/ranap/RANAP_AuthorisedPLMNs.h
new file mode 100644
index 0000000..16fe12c
--- /dev/null
+++ b/src/ranap/RANAP_AuthorisedPLMNs.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_AuthorisedPLMNs_H_
+#define _RANAP_AuthorisedPLMNs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include "RANAP_PLMNidentity.h"
+#include "RANAP_AuthorisedSNAs.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_AuthorisedPLMNs */
+typedef struct RANAP_AuthorisedPLMNs {
+ A_SEQUENCE_OF(struct Member {
+ RANAP_PLMNidentity_t pLMNidentity;
+ RANAP_AuthorisedSNAs_t *authorisedSNAsList /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } ) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_AuthorisedPLMNs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_AuthorisedPLMNs;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_AuthorisedPLMNs_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_AuthorisedSNAs.c b/src/ranap/RANAP_AuthorisedSNAs.c
new file mode 100644
index 0000000..f236bec
--- /dev/null
+++ b/src/ranap/RANAP_AuthorisedSNAs.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_AuthorisedSNAs.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_AuthorisedSNAs_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, -1, 1l, 65536l } /* (SIZE(1..65536)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_AuthorisedSNAs_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_SNAC,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_AuthorisedSNAs_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_AuthorisedSNAs_specs_1 = {
+ sizeof(struct RANAP_AuthorisedSNAs),
+ offsetof(struct RANAP_AuthorisedSNAs, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_AuthorisedSNAs = {
+ "RANAP_AuthorisedSNAs",
+ "RANAP_AuthorisedSNAs",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_AuthorisedSNAs_tags_1,
+ sizeof(asn_DEF_RANAP_AuthorisedSNAs_tags_1)
+ /sizeof(asn_DEF_RANAP_AuthorisedSNAs_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_AuthorisedSNAs_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_AuthorisedSNAs_tags_1)
+ /sizeof(asn_DEF_RANAP_AuthorisedSNAs_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_AuthorisedSNAs_constr_1,
+ asn_MBR_RANAP_AuthorisedSNAs_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_AuthorisedSNAs_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_AuthorisedSNAs.h b/src/ranap/RANAP_AuthorisedSNAs.h
new file mode 100644
index 0000000..20abd85
--- /dev/null
+++ b/src/ranap/RANAP_AuthorisedSNAs.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_AuthorisedSNAs_H_
+#define _RANAP_AuthorisedSNAs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_SNAC.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_AuthorisedSNAs */
+typedef struct RANAP_AuthorisedSNAs {
+ A_SEQUENCE_OF(RANAP_SNAC_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_AuthorisedSNAs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_AuthorisedSNAs;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_AuthorisedSNAs_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_BindingID.c b/src/ranap/RANAP_BindingID.c
new file mode 100644
index 0000000..92f72c9
--- /dev/null
+++ b/src/ranap/RANAP_BindingID.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_BindingID.h"
+
+int
+RANAP_BindingID_constraint(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 == 4l)) {
+ /* 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 void
+RANAP_BindingID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_BindingID_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_BindingID_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_BindingID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_BindingID_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_BindingID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_BindingID_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_BindingID_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_BindingID_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_BindingID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_BindingID_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_BindingID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_BindingID_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_BindingID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_BindingID_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_BindingID_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_BindingID_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_BindingID_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_BindingID_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_BindingID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_BindingID_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_BindingID_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 4l, 4l } /* (SIZE(4..4)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_BindingID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_BindingID = {
+ "RANAP_BindingID",
+ "RANAP_BindingID",
+ RANAP_BindingID_free,
+ RANAP_BindingID_print,
+ RANAP_BindingID_constraint,
+ RANAP_BindingID_decode_ber,
+ RANAP_BindingID_encode_der,
+ RANAP_BindingID_decode_xer,
+ RANAP_BindingID_encode_xer,
+ RANAP_BindingID_decode_uper,
+ RANAP_BindingID_encode_uper,
+ RANAP_BindingID_decode_aper,
+ RANAP_BindingID_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_BindingID_tags_1,
+ sizeof(asn_DEF_RANAP_BindingID_tags_1)
+ /sizeof(asn_DEF_RANAP_BindingID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_BindingID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_BindingID_tags_1)
+ /sizeof(asn_DEF_RANAP_BindingID_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_BindingID_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_BindingID.h b/src/ranap/RANAP_BindingID.h
new file mode 100644
index 0000000..ff5a303
--- /dev/null
+++ b/src/ranap/RANAP_BindingID.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_BindingID_H_
+#define _RANAP_BindingID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_BindingID */
+typedef OCTET_STRING_t RANAP_BindingID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_BindingID;
+asn_struct_free_f RANAP_BindingID_free;
+asn_struct_print_f RANAP_BindingID_print;
+asn_constr_check_f RANAP_BindingID_constraint;
+ber_type_decoder_f RANAP_BindingID_decode_ber;
+der_type_encoder_f RANAP_BindingID_encode_der;
+xer_type_decoder_f RANAP_BindingID_decode_xer;
+xer_type_encoder_f RANAP_BindingID_encode_xer;
+per_type_decoder_f RANAP_BindingID_decode_uper;
+per_type_encoder_f RANAP_BindingID_encode_uper;
+per_type_decoder_f RANAP_BindingID_decode_aper;
+per_type_encoder_f RANAP_BindingID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_BindingID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_BroadcastAssistanceDataDecipheringKeys.c b/src/ranap/RANAP_BroadcastAssistanceDataDecipheringKeys.c
new file mode 100644
index 0000000..cfbe03d
--- /dev/null
+++ b/src/ranap/RANAP_BroadcastAssistanceDataDecipheringKeys.c
@@ -0,0 +1,189 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_BroadcastAssistanceDataDecipheringKeys.h"
+
+static int
+memb_cipheringKeyFlag_constraint_1(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 == 1l)) {
+ /* 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_currentDecipheringKey_constraint_1(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 == 56l)) {
+ /* 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_nextDecipheringKey_constraint_1(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 == 56l)) {
+ /* Constraint 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_cipheringKeyFlag_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 1l, 1l } /* (SIZE(1..1)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_currentDecipheringKey_constr_3 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 56l, 56l } /* (SIZE(56..56)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_nextDecipheringKey_constr_4 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 56l, 56l } /* (SIZE(56..56)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_BroadcastAssistanceDataDecipheringKeys_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_BroadcastAssistanceDataDecipheringKeys, cipheringKeyFlag),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BIT_STRING,
+ memb_cipheringKeyFlag_constraint_1,
+ &asn_PER_memb_cipheringKeyFlag_constr_2,
+ 0,
+ "cipheringKeyFlag"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_BroadcastAssistanceDataDecipheringKeys, currentDecipheringKey),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BIT_STRING,
+ memb_currentDecipheringKey_constraint_1,
+ &asn_PER_memb_currentDecipheringKey_constr_3,
+ 0,
+ "currentDecipheringKey"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_BroadcastAssistanceDataDecipheringKeys, nextDecipheringKey),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BIT_STRING,
+ memb_nextDecipheringKey_constraint_1,
+ &asn_PER_memb_nextDecipheringKey_constr_4,
+ 0,
+ "nextDecipheringKey"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_BroadcastAssistanceDataDecipheringKeys_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_BroadcastAssistanceDataDecipheringKeys_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cipheringKeyFlag */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* currentDecipheringKey */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* nextDecipheringKey */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_BroadcastAssistanceDataDecipheringKeys_specs_1 = {
+ sizeof(struct RANAP_BroadcastAssistanceDataDecipheringKeys),
+ offsetof(struct RANAP_BroadcastAssistanceDataDecipheringKeys, _asn_ctx),
+ asn_MAP_RANAP_BroadcastAssistanceDataDecipheringKeys_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_BroadcastAssistanceDataDecipheringKeys = {
+ "RANAP_BroadcastAssistanceDataDecipheringKeys",
+ "RANAP_BroadcastAssistanceDataDecipheringKeys",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_BroadcastAssistanceDataDecipheringKeys_tags_1,
+ sizeof(asn_DEF_RANAP_BroadcastAssistanceDataDecipheringKeys_tags_1)
+ /sizeof(asn_DEF_RANAP_BroadcastAssistanceDataDecipheringKeys_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_BroadcastAssistanceDataDecipheringKeys_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_BroadcastAssistanceDataDecipheringKeys_tags_1)
+ /sizeof(asn_DEF_RANAP_BroadcastAssistanceDataDecipheringKeys_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_BroadcastAssistanceDataDecipheringKeys_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_BroadcastAssistanceDataDecipheringKeys_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_BroadcastAssistanceDataDecipheringKeys.h b/src/ranap/RANAP_BroadcastAssistanceDataDecipheringKeys.h
new file mode 100644
index 0000000..8d0e895
--- /dev/null
+++ b/src/ranap/RANAP_BroadcastAssistanceDataDecipheringKeys.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_BroadcastAssistanceDataDecipheringKeys_H_
+#define _RANAP_BroadcastAssistanceDataDecipheringKeys_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_BroadcastAssistanceDataDecipheringKeys */
+typedef struct RANAP_BroadcastAssistanceDataDecipheringKeys {
+ BIT_STRING_t cipheringKeyFlag;
+ BIT_STRING_t currentDecipheringKey;
+ BIT_STRING_t nextDecipheringKey;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_BroadcastAssistanceDataDecipheringKeys_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_BroadcastAssistanceDataDecipheringKeys;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_BroadcastAssistanceDataDecipheringKeys_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CGI.c b/src/ranap/RANAP_CGI.c
new file mode 100644
index 0000000..6987266
--- /dev/null
+++ b/src/ranap/RANAP_CGI.c
@@ -0,0 +1,93 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_CGI.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_CGI_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_CGI, pLMNidentity),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PLMNidentity,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "pLMNidentity"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_CGI, lAC),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_LAC,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "lAC"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_CGI, cI),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_CI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "cI"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_CGI, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_CGI_oms_1[] = { 3 };
+static const ber_tlv_tag_t asn_DEF_RANAP_CGI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_CGI_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNidentity */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* lAC */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* cI */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_CGI_specs_1 = {
+ sizeof(struct RANAP_CGI),
+ offsetof(struct RANAP_CGI, _asn_ctx),
+ asn_MAP_RANAP_CGI_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_RANAP_CGI_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CGI = {
+ "RANAP_CGI",
+ "RANAP_CGI",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CGI_tags_1,
+ sizeof(asn_DEF_RANAP_CGI_tags_1)
+ /sizeof(asn_DEF_RANAP_CGI_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CGI_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CGI_tags_1)
+ /sizeof(asn_DEF_RANAP_CGI_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_CGI_1,
+ 4, /* Elements count */
+ &asn_SPC_RANAP_CGI_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_CGI.h b/src/ranap/RANAP_CGI.h
new file mode 100644
index 0000000..7f132b8
--- /dev/null
+++ b/src/ranap/RANAP_CGI.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_CGI_H_
+#define _RANAP_CGI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_PLMNidentity.h"
+#include "RANAP_LAC.h"
+#include "RANAP_CI.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_CGI */
+typedef struct RANAP_CGI {
+ RANAP_PLMNidentity_t pLMNidentity;
+ RANAP_LAC_t lAC;
+ RANAP_CI_t cI;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_CGI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CGI;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CGI_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CI.c b/src/ranap/RANAP_CI.c
new file mode 100644
index 0000000..9033b5f
--- /dev/null
+++ b/src/ranap/RANAP_CI.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_CI.h"
+
+int
+RANAP_CI_constraint(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 == 2l)) {
+ /* 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 void
+RANAP_CI_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_CI_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_CI_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_CI_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CI_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CI_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_CI_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_CI_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CI_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CI_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_CI_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_CI_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CI_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CI_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CI_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_CI_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CI_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_CI_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CI_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_CI_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CI_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_CI_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 2l, 2l } /* (SIZE(2..2)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_CI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CI = {
+ "RANAP_CI",
+ "RANAP_CI",
+ RANAP_CI_free,
+ RANAP_CI_print,
+ RANAP_CI_constraint,
+ RANAP_CI_decode_ber,
+ RANAP_CI_encode_der,
+ RANAP_CI_decode_xer,
+ RANAP_CI_encode_xer,
+ RANAP_CI_decode_uper,
+ RANAP_CI_encode_uper,
+ RANAP_CI_decode_aper,
+ RANAP_CI_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CI_tags_1,
+ sizeof(asn_DEF_RANAP_CI_tags_1)
+ /sizeof(asn_DEF_RANAP_CI_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CI_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CI_tags_1)
+ /sizeof(asn_DEF_RANAP_CI_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_CI_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_CI.h b/src/ranap/RANAP_CI.h
new file mode 100644
index 0000000..fb7c777
--- /dev/null
+++ b/src/ranap/RANAP_CI.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_CI_H_
+#define _RANAP_CI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_CI */
+typedef OCTET_STRING_t RANAP_CI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CI;
+asn_struct_free_f RANAP_CI_free;
+asn_struct_print_f RANAP_CI_print;
+asn_constr_check_f RANAP_CI_constraint;
+ber_type_decoder_f RANAP_CI_decode_ber;
+der_type_encoder_f RANAP_CI_encode_der;
+xer_type_decoder_f RANAP_CI_decode_xer;
+xer_type_encoder_f RANAP_CI_encode_xer;
+per_type_decoder_f RANAP_CI_decode_uper;
+per_type_encoder_f RANAP_CI_encode_uper;
+per_type_decoder_f RANAP_CI_decode_aper;
+per_type_encoder_f RANAP_CI_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CI_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CN-DeactivateTrace.c b/src/ranap/RANAP_CN-DeactivateTrace.c
new file mode 100644
index 0000000..d1b013c
--- /dev/null
+++ b/src/ranap/RANAP_CN-DeactivateTrace.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_CN-DeactivateTrace.h"
+
+static int
+memb_cN_DeactivateTrace_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_cN_DeactivateTrace_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_cN_DeactivateTrace_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_cN_DeactivateTrace_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_cN_DeactivateTrace_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_cN_DeactivateTrace_ies_specs_2 = {
+ sizeof(struct cN_DeactivateTrace_ies),
+ offsetof(struct cN_DeactivateTrace_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_cN_DeactivateTrace_ies_2 = {
+ "cN-DeactivateTrace-ies",
+ "cN-DeactivateTrace-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_cN_DeactivateTrace_ies_tags_2,
+ sizeof(asn_DEF_cN_DeactivateTrace_ies_tags_2)
+ /sizeof(asn_DEF_cN_DeactivateTrace_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_cN_DeactivateTrace_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_cN_DeactivateTrace_ies_tags_2)
+ /sizeof(asn_DEF_cN_DeactivateTrace_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_cN_DeactivateTrace_ies_constr_2,
+ asn_MBR_cN_DeactivateTrace_ies_2,
+ 1, /* Single element */
+ &asn_SPC_cN_DeactivateTrace_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_CN_DeactivateTrace_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_CN_DeactivateTrace, cN_DeactivateTrace_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_cN_DeactivateTrace_ies_2,
+ memb_cN_DeactivateTrace_ies_constraint_1,
+ &asn_PER_memb_cN_DeactivateTrace_ies_constr_2,
+ 0,
+ "cN-DeactivateTrace-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_CN_DeactivateTrace_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_CN_DeactivateTrace_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* cN-DeactivateTrace-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_CN_DeactivateTrace_specs_1 = {
+ sizeof(struct RANAP_CN_DeactivateTrace),
+ offsetof(struct RANAP_CN_DeactivateTrace, _asn_ctx),
+ asn_MAP_RANAP_CN_DeactivateTrace_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CN_DeactivateTrace = {
+ "RANAP_CN-DeactivateTrace",
+ "RANAP_CN-DeactivateTrace",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CN_DeactivateTrace_tags_1,
+ sizeof(asn_DEF_RANAP_CN_DeactivateTrace_tags_1)
+ /sizeof(asn_DEF_RANAP_CN_DeactivateTrace_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CN_DeactivateTrace_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CN_DeactivateTrace_tags_1)
+ /sizeof(asn_DEF_RANAP_CN_DeactivateTrace_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_CN_DeactivateTrace_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_CN_DeactivateTrace_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_CN-DeactivateTrace.h b/src/ranap/RANAP_CN-DeactivateTrace.h
new file mode 100644
index 0000000..8be0305
--- /dev/null
+++ b/src/ranap/RANAP_CN-DeactivateTrace.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_CN_DeactivateTrace_H_
+#define _RANAP_CN_DeactivateTrace_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_CN-DeactivateTrace */
+typedef struct RANAP_CN_DeactivateTrace {
+ struct cN_DeactivateTrace_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } cN_DeactivateTrace_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_CN_DeactivateTrace_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CN_DeactivateTrace;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CN_DeactivateTrace_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CN-DomainIndicator.c b/src/ranap/RANAP_CN-DomainIndicator.c
new file mode 100644
index 0000000..ba1eeef
--- /dev/null
+++ b/src/ranap/RANAP_CN-DomainIndicator.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_CN-DomainIndicator.h"
+
+int
+RANAP_CN_DomainIndicator_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_CN_DomainIndicator_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_CN_DomainIndicator_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_CN_DomainIndicator_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_CN_DomainIndicator_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CN_DomainIndicator_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CN_DomainIndicator_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_CN_DomainIndicator_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_CN_DomainIndicator_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CN_DomainIndicator_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CN_DomainIndicator_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_CN_DomainIndicator_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_CN_DomainIndicator_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CN_DomainIndicator_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CN_DomainIndicator_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CN_DomainIndicator_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_CN_DomainIndicator_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CN_DomainIndicator_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_CN_DomainIndicator_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CN_DomainIndicator_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_CN_DomainIndicator_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CN_DomainIndicator_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_CN_DomainIndicator_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_CN_DomainIndicator_value2enum_1[] = {
+ { 0, 9, "cs-domain" },
+ { 1, 9, "ps-domain" }
+};
+static const unsigned int asn_MAP_RANAP_CN_DomainIndicator_enum2value_1[] = {
+ 0, /* cs-domain(0) */
+ 1 /* ps-domain(1) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_CN_DomainIndicator_specs_1 = {
+ asn_MAP_RANAP_CN_DomainIndicator_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_CN_DomainIndicator_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_RANAP_CN_DomainIndicator_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CN_DomainIndicator = {
+ "RANAP_CN-DomainIndicator",
+ "RANAP_CN-DomainIndicator",
+ RANAP_CN_DomainIndicator_free,
+ RANAP_CN_DomainIndicator_print,
+ RANAP_CN_DomainIndicator_constraint,
+ RANAP_CN_DomainIndicator_decode_ber,
+ RANAP_CN_DomainIndicator_encode_der,
+ RANAP_CN_DomainIndicator_decode_xer,
+ RANAP_CN_DomainIndicator_encode_xer,
+ RANAP_CN_DomainIndicator_decode_uper,
+ RANAP_CN_DomainIndicator_encode_uper,
+ RANAP_CN_DomainIndicator_decode_aper,
+ RANAP_CN_DomainIndicator_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CN_DomainIndicator_tags_1,
+ sizeof(asn_DEF_RANAP_CN_DomainIndicator_tags_1)
+ /sizeof(asn_DEF_RANAP_CN_DomainIndicator_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CN_DomainIndicator_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CN_DomainIndicator_tags_1)
+ /sizeof(asn_DEF_RANAP_CN_DomainIndicator_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_CN_DomainIndicator_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_CN_DomainIndicator_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_CN-DomainIndicator.h b/src/ranap/RANAP_CN-DomainIndicator.h
new file mode 100644
index 0000000..3a63f87
--- /dev/null
+++ b/src/ranap/RANAP_CN-DomainIndicator.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_CN_DomainIndicator_H_
+#define _RANAP_CN_DomainIndicator_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_CN_DomainIndicator {
+ RANAP_CN_DomainIndicator_cs_domain = 0,
+ RANAP_CN_DomainIndicator_ps_domain = 1
+} e_RANAP_CN_DomainIndicator;
+
+/* RANAP_CN-DomainIndicator */
+typedef long RANAP_CN_DomainIndicator_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CN_DomainIndicator;
+asn_struct_free_f RANAP_CN_DomainIndicator_free;
+asn_struct_print_f RANAP_CN_DomainIndicator_print;
+asn_constr_check_f RANAP_CN_DomainIndicator_constraint;
+ber_type_decoder_f RANAP_CN_DomainIndicator_decode_ber;
+der_type_encoder_f RANAP_CN_DomainIndicator_encode_der;
+xer_type_decoder_f RANAP_CN_DomainIndicator_decode_xer;
+xer_type_encoder_f RANAP_CN_DomainIndicator_encode_xer;
+per_type_decoder_f RANAP_CN_DomainIndicator_decode_uper;
+per_type_encoder_f RANAP_CN_DomainIndicator_encode_uper;
+per_type_decoder_f RANAP_CN_DomainIndicator_decode_aper;
+per_type_encoder_f RANAP_CN_DomainIndicator_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CN_DomainIndicator_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CN-ID.c b/src/ranap/RANAP_CN-ID.c
new file mode 100644
index 0000000..53522b4
--- /dev/null
+++ b/src/ranap/RANAP_CN-ID.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_CN-ID.h"
+
+int
+RANAP_CN_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 4095l)) {
+ /* 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 void
+RANAP_CN_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_CN_ID_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_CN_ID_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_CN_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CN_ID_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CN_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_CN_ID_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_CN_ID_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CN_ID_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CN_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_CN_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_CN_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CN_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CN_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CN_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_CN_ID_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CN_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_CN_ID_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CN_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_CN_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CN_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_CN_ID_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 12, 12, 0l, 4095l } /* (0..4095) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_CN_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CN_ID = {
+ "RANAP_CN-ID",
+ "RANAP_CN-ID",
+ RANAP_CN_ID_free,
+ RANAP_CN_ID_print,
+ RANAP_CN_ID_constraint,
+ RANAP_CN_ID_decode_ber,
+ RANAP_CN_ID_encode_der,
+ RANAP_CN_ID_decode_xer,
+ RANAP_CN_ID_encode_xer,
+ RANAP_CN_ID_decode_uper,
+ RANAP_CN_ID_encode_uper,
+ RANAP_CN_ID_decode_aper,
+ RANAP_CN_ID_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CN_ID_tags_1,
+ sizeof(asn_DEF_RANAP_CN_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_CN_ID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CN_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CN_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_CN_ID_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_CN_ID_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_CN-ID.h b/src/ranap/RANAP_CN-ID.h
new file mode 100644
index 0000000..2032791
--- /dev/null
+++ b/src/ranap/RANAP_CN-ID.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_CN_ID_H_
+#define _RANAP_CN_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_CN-ID */
+typedef long RANAP_CN_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CN_ID;
+asn_struct_free_f RANAP_CN_ID_free;
+asn_struct_print_f RANAP_CN_ID_print;
+asn_constr_check_f RANAP_CN_ID_constraint;
+ber_type_decoder_f RANAP_CN_ID_decode_ber;
+der_type_encoder_f RANAP_CN_ID_encode_der;
+xer_type_decoder_f RANAP_CN_ID_decode_xer;
+xer_type_encoder_f RANAP_CN_ID_encode_xer;
+per_type_decoder_f RANAP_CN_ID_decode_uper;
+per_type_encoder_f RANAP_CN_ID_encode_uper;
+per_type_decoder_f RANAP_CN_ID_decode_aper;
+per_type_encoder_f RANAP_CN_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CN_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CN-InvokeTrace.c b/src/ranap/RANAP_CN-InvokeTrace.c
new file mode 100644
index 0000000..980cf6c
--- /dev/null
+++ b/src/ranap/RANAP_CN-InvokeTrace.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_CN-InvokeTrace.h"
+
+static int
+memb_cN_InvokeTrace_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_cN_InvokeTrace_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_cN_InvokeTrace_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_cN_InvokeTrace_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_cN_InvokeTrace_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_cN_InvokeTrace_ies_specs_2 = {
+ sizeof(struct cN_InvokeTrace_ies),
+ offsetof(struct cN_InvokeTrace_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_cN_InvokeTrace_ies_2 = {
+ "cN-InvokeTrace-ies",
+ "cN-InvokeTrace-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_cN_InvokeTrace_ies_tags_2,
+ sizeof(asn_DEF_cN_InvokeTrace_ies_tags_2)
+ /sizeof(asn_DEF_cN_InvokeTrace_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_cN_InvokeTrace_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_cN_InvokeTrace_ies_tags_2)
+ /sizeof(asn_DEF_cN_InvokeTrace_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_cN_InvokeTrace_ies_constr_2,
+ asn_MBR_cN_InvokeTrace_ies_2,
+ 1, /* Single element */
+ &asn_SPC_cN_InvokeTrace_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_CN_InvokeTrace_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_CN_InvokeTrace, cN_InvokeTrace_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_cN_InvokeTrace_ies_2,
+ memb_cN_InvokeTrace_ies_constraint_1,
+ &asn_PER_memb_cN_InvokeTrace_ies_constr_2,
+ 0,
+ "cN-InvokeTrace-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_CN_InvokeTrace_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_CN_InvokeTrace_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* cN-InvokeTrace-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_CN_InvokeTrace_specs_1 = {
+ sizeof(struct RANAP_CN_InvokeTrace),
+ offsetof(struct RANAP_CN_InvokeTrace, _asn_ctx),
+ asn_MAP_RANAP_CN_InvokeTrace_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CN_InvokeTrace = {
+ "RANAP_CN-InvokeTrace",
+ "RANAP_CN-InvokeTrace",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CN_InvokeTrace_tags_1,
+ sizeof(asn_DEF_RANAP_CN_InvokeTrace_tags_1)
+ /sizeof(asn_DEF_RANAP_CN_InvokeTrace_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CN_InvokeTrace_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CN_InvokeTrace_tags_1)
+ /sizeof(asn_DEF_RANAP_CN_InvokeTrace_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_CN_InvokeTrace_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_CN_InvokeTrace_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_CN-InvokeTrace.h b/src/ranap/RANAP_CN-InvokeTrace.h
new file mode 100644
index 0000000..66b7892
--- /dev/null
+++ b/src/ranap/RANAP_CN-InvokeTrace.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_CN_InvokeTrace_H_
+#define _RANAP_CN_InvokeTrace_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_CN-InvokeTrace */
+typedef struct RANAP_CN_InvokeTrace {
+ struct cN_InvokeTrace_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } cN_InvokeTrace_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_CN_InvokeTrace_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CN_InvokeTrace;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CN_InvokeTrace_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CSFB-Information.c b/src/ranap/RANAP_CSFB-Information.c
new file mode 100644
index 0000000..90246ed
--- /dev/null
+++ b/src/ranap/RANAP_CSFB-Information.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_CSFB-Information.h"
+
+int
+RANAP_CSFB_Information_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_CSFB_Information_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_CSFB_Information_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_CSFB_Information_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_CSFB_Information_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CSFB_Information_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CSFB_Information_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_CSFB_Information_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_CSFB_Information_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CSFB_Information_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CSFB_Information_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_CSFB_Information_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_CSFB_Information_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CSFB_Information_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CSFB_Information_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CSFB_Information_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_CSFB_Information_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CSFB_Information_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_CSFB_Information_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CSFB_Information_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_CSFB_Information_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CSFB_Information_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_CSFB_Information_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_CSFB_Information_value2enum_1[] = {
+ { 0, 4, "csfb" },
+ { 1, 18, "csfb-high-priority" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_CSFB_Information_enum2value_1[] = {
+ 0, /* csfb(0) */
+ 1 /* csfb-high-priority(1) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_CSFB_Information_specs_1 = {
+ asn_MAP_RANAP_CSFB_Information_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_CSFB_Information_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_RANAP_CSFB_Information_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CSFB_Information = {
+ "RANAP_CSFB-Information",
+ "RANAP_CSFB-Information",
+ RANAP_CSFB_Information_free,
+ RANAP_CSFB_Information_print,
+ RANAP_CSFB_Information_constraint,
+ RANAP_CSFB_Information_decode_ber,
+ RANAP_CSFB_Information_encode_der,
+ RANAP_CSFB_Information_decode_xer,
+ RANAP_CSFB_Information_encode_xer,
+ RANAP_CSFB_Information_decode_uper,
+ RANAP_CSFB_Information_encode_uper,
+ RANAP_CSFB_Information_decode_aper,
+ RANAP_CSFB_Information_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CSFB_Information_tags_1,
+ sizeof(asn_DEF_RANAP_CSFB_Information_tags_1)
+ /sizeof(asn_DEF_RANAP_CSFB_Information_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CSFB_Information_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CSFB_Information_tags_1)
+ /sizeof(asn_DEF_RANAP_CSFB_Information_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_CSFB_Information_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_CSFB_Information_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_CSFB-Information.h b/src/ranap/RANAP_CSFB-Information.h
new file mode 100644
index 0000000..8a64b23
--- /dev/null
+++ b/src/ranap/RANAP_CSFB-Information.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_CSFB_Information_H_
+#define _RANAP_CSFB_Information_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_CSFB_Information {
+ RANAP_CSFB_Information_csfb = 0,
+ RANAP_CSFB_Information_csfb_high_priority = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_CSFB_Information;
+
+/* RANAP_CSFB-Information */
+typedef long RANAP_CSFB_Information_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CSFB_Information;
+asn_struct_free_f RANAP_CSFB_Information_free;
+asn_struct_print_f RANAP_CSFB_Information_print;
+asn_constr_check_f RANAP_CSFB_Information_constraint;
+ber_type_decoder_f RANAP_CSFB_Information_decode_ber;
+der_type_encoder_f RANAP_CSFB_Information_encode_der;
+xer_type_decoder_f RANAP_CSFB_Information_decode_xer;
+xer_type_encoder_f RANAP_CSFB_Information_encode_xer;
+per_type_decoder_f RANAP_CSFB_Information_decode_uper;
+per_type_encoder_f RANAP_CSFB_Information_encode_uper;
+per_type_decoder_f RANAP_CSFB_Information_decode_aper;
+per_type_encoder_f RANAP_CSFB_Information_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CSFB_Information_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CSG-Id-List.c b/src/ranap/RANAP_CSG-Id-List.c
new file mode 100644
index 0000000..d3450c9
--- /dev/null
+++ b/src/ranap/RANAP_CSG-Id-List.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_CSG-Id-List.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_CSG_Id_List_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 8, 8, 1l, 256l } /* (SIZE(1..256)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_CSG_Id_List_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_CSG_Id,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_CSG_Id_List_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_CSG_Id_List_specs_1 = {
+ sizeof(struct RANAP_CSG_Id_List),
+ offsetof(struct RANAP_CSG_Id_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CSG_Id_List = {
+ "RANAP_CSG-Id-List",
+ "RANAP_CSG-Id-List",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CSG_Id_List_tags_1,
+ sizeof(asn_DEF_RANAP_CSG_Id_List_tags_1)
+ /sizeof(asn_DEF_RANAP_CSG_Id_List_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CSG_Id_List_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CSG_Id_List_tags_1)
+ /sizeof(asn_DEF_RANAP_CSG_Id_List_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_CSG_Id_List_constr_1,
+ asn_MBR_RANAP_CSG_Id_List_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_CSG_Id_List_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_CSG-Id-List.h b/src/ranap/RANAP_CSG-Id-List.h
new file mode 100644
index 0000000..0069c33
--- /dev/null
+++ b/src/ranap/RANAP_CSG-Id-List.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_CSG_Id_List_H_
+#define _RANAP_CSG_Id_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_CSG-Id.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_CSG-Id-List */
+typedef struct RANAP_CSG_Id_List {
+ A_SEQUENCE_OF(RANAP_CSG_Id_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_CSG_Id_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CSG_Id_List;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CSG_Id_List_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CSG-Id.c b/src/ranap/RANAP_CSG-Id.c
new file mode 100644
index 0000000..6e2303e
--- /dev/null
+++ b/src/ranap/RANAP_CSG-Id.c
@@ -0,0 +1,171 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_CSG-Id.h"
+
+int
+RANAP_CSG_Id_constraint(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 == 27l)) {
+ /* 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 void
+RANAP_CSG_Id_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_BIT_STRING.free_struct;
+ td->print_struct = asn_DEF_BIT_STRING.print_struct;
+ td->check_constraints = asn_DEF_BIT_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_BIT_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_BIT_STRING.per_constraints;
+ td->elements = asn_DEF_BIT_STRING.elements;
+ td->elements_count = asn_DEF_BIT_STRING.elements_count;
+ td->specifics = asn_DEF_BIT_STRING.specifics;
+}
+
+void
+RANAP_CSG_Id_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_CSG_Id_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_CSG_Id_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CSG_Id_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CSG_Id_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_CSG_Id_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_CSG_Id_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CSG_Id_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CSG_Id_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_CSG_Id_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_CSG_Id_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CSG_Id_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CSG_Id_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CSG_Id_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_CSG_Id_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CSG_Id_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_CSG_Id_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CSG_Id_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_CSG_Id_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CSG_Id_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_CSG_Id_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 27l, 27l } /* (SIZE(27..27)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_CSG_Id_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CSG_Id = {
+ "RANAP_CSG-Id",
+ "RANAP_CSG-Id",
+ RANAP_CSG_Id_free,
+ RANAP_CSG_Id_print,
+ RANAP_CSG_Id_constraint,
+ RANAP_CSG_Id_decode_ber,
+ RANAP_CSG_Id_encode_der,
+ RANAP_CSG_Id_decode_xer,
+ RANAP_CSG_Id_encode_xer,
+ RANAP_CSG_Id_decode_uper,
+ RANAP_CSG_Id_encode_uper,
+ RANAP_CSG_Id_decode_aper,
+ RANAP_CSG_Id_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CSG_Id_tags_1,
+ sizeof(asn_DEF_RANAP_CSG_Id_tags_1)
+ /sizeof(asn_DEF_RANAP_CSG_Id_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CSG_Id_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CSG_Id_tags_1)
+ /sizeof(asn_DEF_RANAP_CSG_Id_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_CSG_Id_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_CSG-Id.h b/src/ranap/RANAP_CSG-Id.h
new file mode 100644
index 0000000..57dd868
--- /dev/null
+++ b/src/ranap/RANAP_CSG-Id.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_CSG_Id_H_
+#define _RANAP_CSG_Id_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_CSG-Id */
+typedef BIT_STRING_t RANAP_CSG_Id_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CSG_Id;
+asn_struct_free_f RANAP_CSG_Id_free;
+asn_struct_print_f RANAP_CSG_Id_print;
+asn_constr_check_f RANAP_CSG_Id_constraint;
+ber_type_decoder_f RANAP_CSG_Id_decode_ber;
+der_type_encoder_f RANAP_CSG_Id_encode_der;
+xer_type_decoder_f RANAP_CSG_Id_decode_xer;
+xer_type_encoder_f RANAP_CSG_Id_encode_xer;
+per_type_decoder_f RANAP_CSG_Id_decode_uper;
+per_type_encoder_f RANAP_CSG_Id_encode_uper;
+per_type_decoder_f RANAP_CSG_Id_decode_aper;
+per_type_encoder_f RANAP_CSG_Id_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CSG_Id_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CSG-Membership-Status.c b/src/ranap/RANAP_CSG-Membership-Status.c
new file mode 100644
index 0000000..76b80f7
--- /dev/null
+++ b/src/ranap/RANAP_CSG-Membership-Status.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_CSG-Membership-Status.h"
+
+int
+RANAP_CSG_Membership_Status_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_CSG_Membership_Status_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_CSG_Membership_Status_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_CSG_Membership_Status_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_CSG_Membership_Status_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CSG_Membership_Status_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CSG_Membership_Status_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_CSG_Membership_Status_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_CSG_Membership_Status_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CSG_Membership_Status_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CSG_Membership_Status_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_CSG_Membership_Status_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_CSG_Membership_Status_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CSG_Membership_Status_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CSG_Membership_Status_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CSG_Membership_Status_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_CSG_Membership_Status_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CSG_Membership_Status_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_CSG_Membership_Status_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CSG_Membership_Status_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_CSG_Membership_Status_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CSG_Membership_Status_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_CSG_Membership_Status_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_CSG_Membership_Status_value2enum_1[] = {
+ { 0, 6, "member" },
+ { 1, 10, "non-member" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_CSG_Membership_Status_enum2value_1[] = {
+ 0, /* member(0) */
+ 1 /* non-member(1) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_CSG_Membership_Status_specs_1 = {
+ asn_MAP_RANAP_CSG_Membership_Status_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_CSG_Membership_Status_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_RANAP_CSG_Membership_Status_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CSG_Membership_Status = {
+ "RANAP_CSG-Membership-Status",
+ "RANAP_CSG-Membership-Status",
+ RANAP_CSG_Membership_Status_free,
+ RANAP_CSG_Membership_Status_print,
+ RANAP_CSG_Membership_Status_constraint,
+ RANAP_CSG_Membership_Status_decode_ber,
+ RANAP_CSG_Membership_Status_encode_der,
+ RANAP_CSG_Membership_Status_decode_xer,
+ RANAP_CSG_Membership_Status_encode_xer,
+ RANAP_CSG_Membership_Status_decode_uper,
+ RANAP_CSG_Membership_Status_encode_uper,
+ RANAP_CSG_Membership_Status_decode_aper,
+ RANAP_CSG_Membership_Status_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CSG_Membership_Status_tags_1,
+ sizeof(asn_DEF_RANAP_CSG_Membership_Status_tags_1)
+ /sizeof(asn_DEF_RANAP_CSG_Membership_Status_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CSG_Membership_Status_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CSG_Membership_Status_tags_1)
+ /sizeof(asn_DEF_RANAP_CSG_Membership_Status_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_CSG_Membership_Status_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_CSG_Membership_Status_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_CSG-Membership-Status.h b/src/ranap/RANAP_CSG-Membership-Status.h
new file mode 100644
index 0000000..eeeae70
--- /dev/null
+++ b/src/ranap/RANAP_CSG-Membership-Status.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_CSG_Membership_Status_H_
+#define _RANAP_CSG_Membership_Status_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_CSG_Membership_Status {
+ RANAP_CSG_Membership_Status_member = 0,
+ RANAP_CSG_Membership_Status_non_member = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_CSG_Membership_Status;
+
+/* RANAP_CSG-Membership-Status */
+typedef long RANAP_CSG_Membership_Status_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CSG_Membership_Status;
+asn_struct_free_f RANAP_CSG_Membership_Status_free;
+asn_struct_print_f RANAP_CSG_Membership_Status_print;
+asn_constr_check_f RANAP_CSG_Membership_Status_constraint;
+ber_type_decoder_f RANAP_CSG_Membership_Status_decode_ber;
+der_type_encoder_f RANAP_CSG_Membership_Status_encode_der;
+xer_type_decoder_f RANAP_CSG_Membership_Status_decode_xer;
+xer_type_encoder_f RANAP_CSG_Membership_Status_encode_xer;
+per_type_decoder_f RANAP_CSG_Membership_Status_decode_uper;
+per_type_encoder_f RANAP_CSG_Membership_Status_encode_uper;
+per_type_decoder_f RANAP_CSG_Membership_Status_decode_aper;
+per_type_encoder_f RANAP_CSG_Membership_Status_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CSG_Membership_Status_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Cause.c b/src/ranap/RANAP_Cause.c
new file mode 100644
index 0000000..718167b
--- /dev/null
+++ b/src/ranap/RANAP_Cause.c
@@ -0,0 +1,122 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Cause.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_Cause_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0l, 5l } /* (0..5,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_Cause_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Cause, choice.radioNetwork),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_CauseRadioNetwork,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "radioNetwork"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Cause, choice.transmissionNetwork),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_CauseTransmissionNetwork,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "transmissionNetwork"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Cause, choice.nAS),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_CauseNAS,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "nAS"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Cause, choice.protocol),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_CauseProtocol,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "protocol"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Cause, choice.misc),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_CauseMisc,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "misc"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Cause, choice.non_Standard),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_CauseNon_Standard,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "non-Standard"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Cause, choice.radioNetworkExtension),
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_CauseRadioNetworkExtension,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "radioNetworkExtension"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_Cause_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* radioNetwork */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transmissionNetwork */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* nAS */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* protocol */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* misc */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* non-Standard */
+ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* radioNetworkExtension */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_Cause_specs_1 = {
+ sizeof(struct RANAP_Cause),
+ offsetof(struct RANAP_Cause, _asn_ctx),
+ offsetof(struct RANAP_Cause, present),
+ sizeof(((struct RANAP_Cause *)0)->present),
+ asn_MAP_RANAP_Cause_tag2el_1,
+ 7, /* Count of tags in the map */
+ 0,
+ 6 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Cause = {
+ "RANAP_Cause",
+ "RANAP_Cause",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_Cause_constr_1,
+ asn_MBR_RANAP_Cause_1,
+ 7, /* Elements count */
+ &asn_SPC_RANAP_Cause_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Cause.h b/src/ranap/RANAP_Cause.h
new file mode 100644
index 0000000..156504f
--- /dev/null
+++ b/src/ranap/RANAP_Cause.h
@@ -0,0 +1,69 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Cause_H_
+#define _RANAP_Cause_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_CauseRadioNetwork.h"
+#include "RANAP_CauseTransmissionNetwork.h"
+#include "RANAP_CauseNAS.h"
+#include "RANAP_CauseProtocol.h"
+#include "RANAP_CauseMisc.h"
+#include "RANAP_CauseNon-Standard.h"
+#include "RANAP_CauseRadioNetworkExtension.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_Cause_PR {
+ RANAP_Cause_PR_NOTHING, /* No components present */
+ RANAP_Cause_PR_radioNetwork,
+ RANAP_Cause_PR_transmissionNetwork,
+ RANAP_Cause_PR_nAS,
+ RANAP_Cause_PR_protocol,
+ RANAP_Cause_PR_misc,
+ RANAP_Cause_PR_non_Standard,
+ /* Extensions may appear below */
+ RANAP_Cause_PR_radioNetworkExtension
+} RANAP_Cause_PR;
+
+/* RANAP_Cause */
+typedef struct RANAP_Cause {
+ RANAP_Cause_PR present;
+ union RANAP_Cause_u {
+ RANAP_CauseRadioNetwork_t radioNetwork;
+ RANAP_CauseTransmissionNetwork_t transmissionNetwork;
+ RANAP_CauseNAS_t nAS;
+ RANAP_CauseProtocol_t protocol;
+ RANAP_CauseMisc_t misc;
+ RANAP_CauseNon_Standard_t non_Standard;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ RANAP_CauseRadioNetworkExtension_t radioNetworkExtension;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Cause_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Cause;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Cause_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CauseMisc.c b/src/ranap/RANAP_CauseMisc.c
new file mode 100644
index 0000000..9a8d7e3
--- /dev/null
+++ b/src/ranap/RANAP_CauseMisc.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_CauseMisc.h"
+
+int
+RANAP_CauseMisc_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 113l && value <= 128l)) {
+ /* 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 void
+RANAP_CauseMisc_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_CauseMisc_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_CauseMisc_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_CauseMisc_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CauseMisc_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CauseMisc_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_CauseMisc_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_CauseMisc_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CauseMisc_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CauseMisc_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_CauseMisc_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_CauseMisc_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CauseMisc_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CauseMisc_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CauseMisc_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_CauseMisc_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CauseMisc_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_CauseMisc_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CauseMisc_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_CauseMisc_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CauseMisc_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_CauseMisc_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 4, 4, 113l, 128l } /* (113..128) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_CauseMisc_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CauseMisc = {
+ "RANAP_CauseMisc",
+ "RANAP_CauseMisc",
+ RANAP_CauseMisc_free,
+ RANAP_CauseMisc_print,
+ RANAP_CauseMisc_constraint,
+ RANAP_CauseMisc_decode_ber,
+ RANAP_CauseMisc_encode_der,
+ RANAP_CauseMisc_decode_xer,
+ RANAP_CauseMisc_encode_xer,
+ RANAP_CauseMisc_decode_uper,
+ RANAP_CauseMisc_encode_uper,
+ RANAP_CauseMisc_decode_aper,
+ RANAP_CauseMisc_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CauseMisc_tags_1,
+ sizeof(asn_DEF_RANAP_CauseMisc_tags_1)
+ /sizeof(asn_DEF_RANAP_CauseMisc_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CauseMisc_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CauseMisc_tags_1)
+ /sizeof(asn_DEF_RANAP_CauseMisc_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_CauseMisc_constr_1,
+ 0, 0, /* Defined elsewhere */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_CauseMisc.h b/src/ranap/RANAP_CauseMisc.h
new file mode 100644
index 0000000..69ff507
--- /dev/null
+++ b/src/ranap/RANAP_CauseMisc.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_CauseMisc_H_
+#define _RANAP_CauseMisc_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_CauseMisc {
+ RANAP_CauseMisc_om_intervention = 113,
+ RANAP_CauseMisc_no_resource_available = 114,
+ RANAP_CauseMisc_unspecified_failure = 115,
+ RANAP_CauseMisc_network_optimisation = 116
+} e_RANAP_CauseMisc;
+
+/* RANAP_CauseMisc */
+typedef long RANAP_CauseMisc_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CauseMisc;
+asn_struct_free_f RANAP_CauseMisc_free;
+asn_struct_print_f RANAP_CauseMisc_print;
+asn_constr_check_f RANAP_CauseMisc_constraint;
+ber_type_decoder_f RANAP_CauseMisc_decode_ber;
+der_type_encoder_f RANAP_CauseMisc_encode_der;
+xer_type_decoder_f RANAP_CauseMisc_decode_xer;
+xer_type_encoder_f RANAP_CauseMisc_encode_xer;
+per_type_decoder_f RANAP_CauseMisc_decode_uper;
+per_type_encoder_f RANAP_CauseMisc_encode_uper;
+per_type_decoder_f RANAP_CauseMisc_decode_aper;
+per_type_encoder_f RANAP_CauseMisc_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CauseMisc_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CauseNAS.c b/src/ranap/RANAP_CauseNAS.c
new file mode 100644
index 0000000..7683cf1
--- /dev/null
+++ b/src/ranap/RANAP_CauseNAS.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_CauseNAS.h"
+
+int
+RANAP_CauseNAS_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 81l && value <= 96l)) {
+ /* 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 void
+RANAP_CauseNAS_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_CauseNAS_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_CauseNAS_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_CauseNAS_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CauseNAS_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CauseNAS_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_CauseNAS_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_CauseNAS_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CauseNAS_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CauseNAS_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_CauseNAS_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_CauseNAS_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CauseNAS_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CauseNAS_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CauseNAS_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_CauseNAS_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CauseNAS_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_CauseNAS_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CauseNAS_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_CauseNAS_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CauseNAS_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_CauseNAS_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 4, 4, 81l, 96l } /* (81..96) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_CauseNAS_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CauseNAS = {
+ "RANAP_CauseNAS",
+ "RANAP_CauseNAS",
+ RANAP_CauseNAS_free,
+ RANAP_CauseNAS_print,
+ RANAP_CauseNAS_constraint,
+ RANAP_CauseNAS_decode_ber,
+ RANAP_CauseNAS_encode_der,
+ RANAP_CauseNAS_decode_xer,
+ RANAP_CauseNAS_encode_xer,
+ RANAP_CauseNAS_decode_uper,
+ RANAP_CauseNAS_encode_uper,
+ RANAP_CauseNAS_decode_aper,
+ RANAP_CauseNAS_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CauseNAS_tags_1,
+ sizeof(asn_DEF_RANAP_CauseNAS_tags_1)
+ /sizeof(asn_DEF_RANAP_CauseNAS_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CauseNAS_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CauseNAS_tags_1)
+ /sizeof(asn_DEF_RANAP_CauseNAS_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_CauseNAS_constr_1,
+ 0, 0, /* Defined elsewhere */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_CauseNAS.h b/src/ranap/RANAP_CauseNAS.h
new file mode 100644
index 0000000..90f60a4
--- /dev/null
+++ b/src/ranap/RANAP_CauseNAS.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_CauseNAS_H_
+#define _RANAP_CauseNAS_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_CauseNAS {
+ RANAP_CauseNAS_user_restriction_start_indication = 81,
+ RANAP_CauseNAS_user_restriction_end_indication = 82,
+ RANAP_CauseNAS_normal_release = 83,
+ RANAP_CauseNAS_csg_subscription_expiry = 84
+} e_RANAP_CauseNAS;
+
+/* RANAP_CauseNAS */
+typedef long RANAP_CauseNAS_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CauseNAS;
+asn_struct_free_f RANAP_CauseNAS_free;
+asn_struct_print_f RANAP_CauseNAS_print;
+asn_constr_check_f RANAP_CauseNAS_constraint;
+ber_type_decoder_f RANAP_CauseNAS_decode_ber;
+der_type_encoder_f RANAP_CauseNAS_encode_der;
+xer_type_decoder_f RANAP_CauseNAS_decode_xer;
+xer_type_encoder_f RANAP_CauseNAS_encode_xer;
+per_type_decoder_f RANAP_CauseNAS_decode_uper;
+per_type_encoder_f RANAP_CauseNAS_encode_uper;
+per_type_decoder_f RANAP_CauseNAS_decode_aper;
+per_type_encoder_f RANAP_CauseNAS_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CauseNAS_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CauseNon-Standard.c b/src/ranap/RANAP_CauseNon-Standard.c
new file mode 100644
index 0000000..32ca44d
--- /dev/null
+++ b/src/ranap/RANAP_CauseNon-Standard.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_CauseNon-Standard.h"
+
+int
+RANAP_CauseNon_Standard_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 129l && value <= 256l)) {
+ /* 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 void
+RANAP_CauseNon_Standard_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_CauseNon_Standard_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_CauseNon_Standard_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_CauseNon_Standard_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CauseNon_Standard_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CauseNon_Standard_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_CauseNon_Standard_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_CauseNon_Standard_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CauseNon_Standard_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CauseNon_Standard_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_CauseNon_Standard_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_CauseNon_Standard_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CauseNon_Standard_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CauseNon_Standard_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CauseNon_Standard_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_CauseNon_Standard_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CauseNon_Standard_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_CauseNon_Standard_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CauseNon_Standard_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_CauseNon_Standard_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CauseNon_Standard_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_CauseNon_Standard_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 7, 7, 129l, 256l } /* (129..256) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_CauseNon_Standard_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CauseNon_Standard = {
+ "RANAP_CauseNon-Standard",
+ "RANAP_CauseNon-Standard",
+ RANAP_CauseNon_Standard_free,
+ RANAP_CauseNon_Standard_print,
+ RANAP_CauseNon_Standard_constraint,
+ RANAP_CauseNon_Standard_decode_ber,
+ RANAP_CauseNon_Standard_encode_der,
+ RANAP_CauseNon_Standard_decode_xer,
+ RANAP_CauseNon_Standard_encode_xer,
+ RANAP_CauseNon_Standard_decode_uper,
+ RANAP_CauseNon_Standard_encode_uper,
+ RANAP_CauseNon_Standard_decode_aper,
+ RANAP_CauseNon_Standard_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CauseNon_Standard_tags_1,
+ sizeof(asn_DEF_RANAP_CauseNon_Standard_tags_1)
+ /sizeof(asn_DEF_RANAP_CauseNon_Standard_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CauseNon_Standard_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CauseNon_Standard_tags_1)
+ /sizeof(asn_DEF_RANAP_CauseNon_Standard_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_CauseNon_Standard_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_CauseNon-Standard.h b/src/ranap/RANAP_CauseNon-Standard.h
new file mode 100644
index 0000000..22e85e4
--- /dev/null
+++ b/src/ranap/RANAP_CauseNon-Standard.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_CauseNon_Standard_H_
+#define _RANAP_CauseNon_Standard_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_CauseNon-Standard */
+typedef long RANAP_CauseNon_Standard_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CauseNon_Standard;
+asn_struct_free_f RANAP_CauseNon_Standard_free;
+asn_struct_print_f RANAP_CauseNon_Standard_print;
+asn_constr_check_f RANAP_CauseNon_Standard_constraint;
+ber_type_decoder_f RANAP_CauseNon_Standard_decode_ber;
+der_type_encoder_f RANAP_CauseNon_Standard_encode_der;
+xer_type_decoder_f RANAP_CauseNon_Standard_decode_xer;
+xer_type_encoder_f RANAP_CauseNon_Standard_encode_xer;
+per_type_decoder_f RANAP_CauseNon_Standard_decode_uper;
+per_type_encoder_f RANAP_CauseNon_Standard_encode_uper;
+per_type_decoder_f RANAP_CauseNon_Standard_decode_aper;
+per_type_encoder_f RANAP_CauseNon_Standard_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CauseNon_Standard_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CauseProtocol.c b/src/ranap/RANAP_CauseProtocol.c
new file mode 100644
index 0000000..3cf3bcb
--- /dev/null
+++ b/src/ranap/RANAP_CauseProtocol.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_CauseProtocol.h"
+
+int
+RANAP_CauseProtocol_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 97l && value <= 112l)) {
+ /* 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 void
+RANAP_CauseProtocol_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_CauseProtocol_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_CauseProtocol_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_CauseProtocol_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CauseProtocol_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CauseProtocol_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_CauseProtocol_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_CauseProtocol_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CauseProtocol_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CauseProtocol_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_CauseProtocol_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_CauseProtocol_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CauseProtocol_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CauseProtocol_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CauseProtocol_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_CauseProtocol_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CauseProtocol_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_CauseProtocol_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CauseProtocol_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_CauseProtocol_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CauseProtocol_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_CauseProtocol_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 4, 4, 97l, 112l } /* (97..112) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_CauseProtocol_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CauseProtocol = {
+ "RANAP_CauseProtocol",
+ "RANAP_CauseProtocol",
+ RANAP_CauseProtocol_free,
+ RANAP_CauseProtocol_print,
+ RANAP_CauseProtocol_constraint,
+ RANAP_CauseProtocol_decode_ber,
+ RANAP_CauseProtocol_encode_der,
+ RANAP_CauseProtocol_decode_xer,
+ RANAP_CauseProtocol_encode_xer,
+ RANAP_CauseProtocol_decode_uper,
+ RANAP_CauseProtocol_encode_uper,
+ RANAP_CauseProtocol_decode_aper,
+ RANAP_CauseProtocol_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CauseProtocol_tags_1,
+ sizeof(asn_DEF_RANAP_CauseProtocol_tags_1)
+ /sizeof(asn_DEF_RANAP_CauseProtocol_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CauseProtocol_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CauseProtocol_tags_1)
+ /sizeof(asn_DEF_RANAP_CauseProtocol_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_CauseProtocol_constr_1,
+ 0, 0, /* Defined elsewhere */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_CauseProtocol.h b/src/ranap/RANAP_CauseProtocol.h
new file mode 100644
index 0000000..d05f6e4
--- /dev/null
+++ b/src/ranap/RANAP_CauseProtocol.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_CauseProtocol_H_
+#define _RANAP_CauseProtocol_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_CauseProtocol {
+ RANAP_CauseProtocol_transfer_syntax_error = 97,
+ RANAP_CauseProtocol_semantic_error = 98,
+ RANAP_CauseProtocol_message_not_compatible_with_receiver_state = 99,
+ RANAP_CauseProtocol_abstract_syntax_error_reject = 100,
+ RANAP_CauseProtocol_abstract_syntax_error_ignore_and_notify = 101,
+ RANAP_CauseProtocol_abstract_syntax_error_falsely_constructed_message = 102
+} e_RANAP_CauseProtocol;
+
+/* RANAP_CauseProtocol */
+typedef long RANAP_CauseProtocol_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CauseProtocol;
+asn_struct_free_f RANAP_CauseProtocol_free;
+asn_struct_print_f RANAP_CauseProtocol_print;
+asn_constr_check_f RANAP_CauseProtocol_constraint;
+ber_type_decoder_f RANAP_CauseProtocol_decode_ber;
+der_type_encoder_f RANAP_CauseProtocol_encode_der;
+xer_type_decoder_f RANAP_CauseProtocol_decode_xer;
+xer_type_encoder_f RANAP_CauseProtocol_encode_xer;
+per_type_decoder_f RANAP_CauseProtocol_decode_uper;
+per_type_encoder_f RANAP_CauseProtocol_encode_uper;
+per_type_decoder_f RANAP_CauseProtocol_decode_aper;
+per_type_encoder_f RANAP_CauseProtocol_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CauseProtocol_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CauseRadioNetwork.c b/src/ranap/RANAP_CauseRadioNetwork.c
new file mode 100644
index 0000000..4f94812
--- /dev/null
+++ b/src/ranap/RANAP_CauseRadioNetwork.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_CauseRadioNetwork.h"
+
+int
+RANAP_CauseRadioNetwork_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1l && value <= 64l)) {
+ /* 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 void
+RANAP_CauseRadioNetwork_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_CauseRadioNetwork_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_CauseRadioNetwork_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_CauseRadioNetwork_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CauseRadioNetwork_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CauseRadioNetwork_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_CauseRadioNetwork_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_CauseRadioNetwork_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CauseRadioNetwork_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CauseRadioNetwork_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_CauseRadioNetwork_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_CauseRadioNetwork_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CauseRadioNetwork_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CauseRadioNetwork_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CauseRadioNetwork_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_CauseRadioNetwork_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CauseRadioNetwork_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_CauseRadioNetwork_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CauseRadioNetwork_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_CauseRadioNetwork_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CauseRadioNetwork_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_CauseRadioNetwork_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 6, 6, 1l, 64l } /* (1..64) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_CauseRadioNetwork_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CauseRadioNetwork = {
+ "RANAP_CauseRadioNetwork",
+ "RANAP_CauseRadioNetwork",
+ RANAP_CauseRadioNetwork_free,
+ RANAP_CauseRadioNetwork_print,
+ RANAP_CauseRadioNetwork_constraint,
+ RANAP_CauseRadioNetwork_decode_ber,
+ RANAP_CauseRadioNetwork_encode_der,
+ RANAP_CauseRadioNetwork_decode_xer,
+ RANAP_CauseRadioNetwork_encode_xer,
+ RANAP_CauseRadioNetwork_decode_uper,
+ RANAP_CauseRadioNetwork_encode_uper,
+ RANAP_CauseRadioNetwork_decode_aper,
+ RANAP_CauseRadioNetwork_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CauseRadioNetwork_tags_1,
+ sizeof(asn_DEF_RANAP_CauseRadioNetwork_tags_1)
+ /sizeof(asn_DEF_RANAP_CauseRadioNetwork_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CauseRadioNetwork_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CauseRadioNetwork_tags_1)
+ /sizeof(asn_DEF_RANAP_CauseRadioNetwork_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_CauseRadioNetwork_constr_1,
+ 0, 0, /* Defined elsewhere */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_CauseRadioNetwork.h b/src/ranap/RANAP_CauseRadioNetwork.h
new file mode 100644
index 0000000..5abcbc9
--- /dev/null
+++ b/src/ranap/RANAP_CauseRadioNetwork.h
@@ -0,0 +1,110 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_CauseRadioNetwork_H_
+#define _RANAP_CauseRadioNetwork_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_CauseRadioNetwork {
+ RANAP_CauseRadioNetwork_rab_pre_empted = 1,
+ RANAP_CauseRadioNetwork_trelocoverall_expiry = 2,
+ RANAP_CauseRadioNetwork_trelocprep_expiry = 3,
+ RANAP_CauseRadioNetwork_treloccomplete_expiry = 4,
+ RANAP_CauseRadioNetwork_tqueing_expiry = 5,
+ RANAP_CauseRadioNetwork_relocation_triggered = 6,
+ RANAP_CauseRadioNetwork_trellocalloc_expiry = 7,
+ RANAP_CauseRadioNetwork_unable_to_establish_during_relocation = 8,
+ RANAP_CauseRadioNetwork_unknown_target_rnc = 9,
+ RANAP_CauseRadioNetwork_relocation_cancelled = 10,
+ RANAP_CauseRadioNetwork_successful_relocation = 11,
+ RANAP_CauseRadioNetwork_requested_ciphering_and_or_integrity_protection_algorithms_not_supported = 12,
+ RANAP_CauseRadioNetwork_conflict_with_already_existing_integrity_protection_and_or_ciphering_information = 13,
+ RANAP_CauseRadioNetwork_failure_in_the_radio_interface_procedure = 14,
+ RANAP_CauseRadioNetwork_release_due_to_utran_generated_reason = 15,
+ RANAP_CauseRadioNetwork_user_inactivity = 16,
+ RANAP_CauseRadioNetwork_time_critical_relocation = 17,
+ RANAP_CauseRadioNetwork_requested_traffic_class_not_available = 18,
+ RANAP_CauseRadioNetwork_invalid_rab_parameters_value = 19,
+ RANAP_CauseRadioNetwork_requested_maximum_bit_rate_not_available = 20,
+ RANAP_CauseRadioNetwork_requested_guaranteed_bit_rate_not_available = 21,
+ RANAP_CauseRadioNetwork_requested_transfer_delay_not_achievable = 22,
+ RANAP_CauseRadioNetwork_invalid_rab_parameters_combination = 23,
+ RANAP_CauseRadioNetwork_condition_violation_for_sdu_parameters = 24,
+ RANAP_CauseRadioNetwork_condition_violation_for_traffic_handling_priority = 25,
+ RANAP_CauseRadioNetwork_condition_violation_for_guaranteed_bit_rate = 26,
+ RANAP_CauseRadioNetwork_user_plane_versions_not_supported = 27,
+ RANAP_CauseRadioNetwork_iu_up_failure = 28,
+ RANAP_CauseRadioNetwork_relocation_failure_in_target_CN_RNC_or_target_system = 29,
+ RANAP_CauseRadioNetwork_invalid_RAB_ID = 30,
+ RANAP_CauseRadioNetwork_no_remaining_rab = 31,
+ RANAP_CauseRadioNetwork_interaction_with_other_procedure = 32,
+ RANAP_CauseRadioNetwork_requested_maximum_bit_rate_for_dl_not_available = 33,
+ RANAP_CauseRadioNetwork_requested_maximum_bit_rate_for_ul_not_available = 34,
+ RANAP_CauseRadioNetwork_requested_guaranteed_bit_rate_for_dl_not_available = 35,
+ RANAP_CauseRadioNetwork_requested_guaranteed_bit_rate_for_ul_not_available = 36,
+ RANAP_CauseRadioNetwork_repeated_integrity_checking_failure = 37,
+ RANAP_CauseRadioNetwork_requested_request_type_not_supported = 38,
+ RANAP_CauseRadioNetwork_request_superseded = 39,
+ RANAP_CauseRadioNetwork_release_due_to_UE_generated_signalling_connection_release = 40,
+ RANAP_CauseRadioNetwork_resource_optimisation_relocation = 41,
+ RANAP_CauseRadioNetwork_requested_information_not_available = 42,
+ RANAP_CauseRadioNetwork_relocation_desirable_for_radio_reasons = 43,
+ RANAP_CauseRadioNetwork_relocation_not_supported_in_target_RNC_or_target_system = 44,
+ RANAP_CauseRadioNetwork_directed_retry = 45,
+ RANAP_CauseRadioNetwork_radio_connection_with_UE_Lost = 46,
+ RANAP_CauseRadioNetwork_rNC_unable_to_establish_all_RFCs = 47,
+ RANAP_CauseRadioNetwork_deciphering_keys_not_available = 48,
+ RANAP_CauseRadioNetwork_dedicated_assistance_data_not_available = 49,
+ RANAP_CauseRadioNetwork_relocation_target_not_allowed = 50,
+ RANAP_CauseRadioNetwork_location_reporting_congestion = 51,
+ RANAP_CauseRadioNetwork_reduce_load_in_serving_cell = 52,
+ RANAP_CauseRadioNetwork_no_radio_resources_available_in_target_cell = 53,
+ RANAP_CauseRadioNetwork_gERAN_Iumode_failure = 54,
+ RANAP_CauseRadioNetwork_access_restricted_due_to_shared_networks = 55,
+ RANAP_CauseRadioNetwork_incoming_relocation_not_supported_due_to_PUESBINE_feature = 56,
+ RANAP_CauseRadioNetwork_traffic_load_in_the_target_cell_higher_than_in_the_source_cell = 57,
+ RANAP_CauseRadioNetwork_mBMS_no_multicast_service_for_this_UE = 58,
+ RANAP_CauseRadioNetwork_mBMS_unknown_UE_ID = 59,
+ RANAP_CauseRadioNetwork_successful_MBMS_session_start_no_data_bearer_necessary = 60,
+ RANAP_CauseRadioNetwork_mBMS_superseded_due_to_NNSF = 61,
+ RANAP_CauseRadioNetwork_mBMS_UE_linking_already_done = 62,
+ RANAP_CauseRadioNetwork_mBMS_UE_de_linking_failure_no_existing_UE_linking = 63,
+ RANAP_CauseRadioNetwork_tMGI_unknown = 64
+} e_RANAP_CauseRadioNetwork;
+
+/* RANAP_CauseRadioNetwork */
+typedef long RANAP_CauseRadioNetwork_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CauseRadioNetwork;
+asn_struct_free_f RANAP_CauseRadioNetwork_free;
+asn_struct_print_f RANAP_CauseRadioNetwork_print;
+asn_constr_check_f RANAP_CauseRadioNetwork_constraint;
+ber_type_decoder_f RANAP_CauseRadioNetwork_decode_ber;
+der_type_encoder_f RANAP_CauseRadioNetwork_encode_der;
+xer_type_decoder_f RANAP_CauseRadioNetwork_decode_xer;
+xer_type_encoder_f RANAP_CauseRadioNetwork_encode_xer;
+per_type_decoder_f RANAP_CauseRadioNetwork_decode_uper;
+per_type_encoder_f RANAP_CauseRadioNetwork_encode_uper;
+per_type_decoder_f RANAP_CauseRadioNetwork_decode_aper;
+per_type_encoder_f RANAP_CauseRadioNetwork_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CauseRadioNetwork_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CauseRadioNetworkExtension.c b/src/ranap/RANAP_CauseRadioNetworkExtension.c
new file mode 100644
index 0000000..646ff23
--- /dev/null
+++ b/src/ranap/RANAP_CauseRadioNetworkExtension.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_CauseRadioNetworkExtension.h"
+
+int
+RANAP_CauseRadioNetworkExtension_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 257l && value <= 512l)) {
+ /* 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 void
+RANAP_CauseRadioNetworkExtension_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_CauseRadioNetworkExtension_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_CauseRadioNetworkExtension_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_CauseRadioNetworkExtension_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CauseRadioNetworkExtension_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CauseRadioNetworkExtension_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_CauseRadioNetworkExtension_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_CauseRadioNetworkExtension_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CauseRadioNetworkExtension_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CauseRadioNetworkExtension_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_CauseRadioNetworkExtension_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_CauseRadioNetworkExtension_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CauseRadioNetworkExtension_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CauseRadioNetworkExtension_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CauseRadioNetworkExtension_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_CauseRadioNetworkExtension_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CauseRadioNetworkExtension_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_CauseRadioNetworkExtension_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CauseRadioNetworkExtension_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_CauseRadioNetworkExtension_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CauseRadioNetworkExtension_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_CauseRadioNetworkExtension_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 8, 8, 257l, 512l } /* (257..512) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_CauseRadioNetworkExtension_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CauseRadioNetworkExtension = {
+ "RANAP_CauseRadioNetworkExtension",
+ "RANAP_CauseRadioNetworkExtension",
+ RANAP_CauseRadioNetworkExtension_free,
+ RANAP_CauseRadioNetworkExtension_print,
+ RANAP_CauseRadioNetworkExtension_constraint,
+ RANAP_CauseRadioNetworkExtension_decode_ber,
+ RANAP_CauseRadioNetworkExtension_encode_der,
+ RANAP_CauseRadioNetworkExtension_decode_xer,
+ RANAP_CauseRadioNetworkExtension_encode_xer,
+ RANAP_CauseRadioNetworkExtension_decode_uper,
+ RANAP_CauseRadioNetworkExtension_encode_uper,
+ RANAP_CauseRadioNetworkExtension_decode_aper,
+ RANAP_CauseRadioNetworkExtension_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CauseRadioNetworkExtension_tags_1,
+ sizeof(asn_DEF_RANAP_CauseRadioNetworkExtension_tags_1)
+ /sizeof(asn_DEF_RANAP_CauseRadioNetworkExtension_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CauseRadioNetworkExtension_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CauseRadioNetworkExtension_tags_1)
+ /sizeof(asn_DEF_RANAP_CauseRadioNetworkExtension_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_CauseRadioNetworkExtension_constr_1,
+ 0, 0, /* Defined elsewhere */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_CauseRadioNetworkExtension.h b/src/ranap/RANAP_CauseRadioNetworkExtension.h
new file mode 100644
index 0000000..b055f58
--- /dev/null
+++ b/src/ranap/RANAP_CauseRadioNetworkExtension.h
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_CauseRadioNetworkExtension_H_
+#define _RANAP_CauseRadioNetworkExtension_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_CauseRadioNetworkExtension {
+ RANAP_CauseRadioNetworkExtension_iP_multicast_address_and_APN_not_valid = 257,
+ RANAP_CauseRadioNetworkExtension_mBMS_de_registration_rejected_due_to_implicit_registration = 258,
+ RANAP_CauseRadioNetworkExtension_mBMS_request_superseded = 259,
+ RANAP_CauseRadioNetworkExtension_mBMS_de_registration_during_session_not_allowed = 260,
+ RANAP_CauseRadioNetworkExtension_mBMS_no_data_bearer_necessary = 261,
+ RANAP_CauseRadioNetworkExtension_periodicLocationInformationNotAvailable = 262,
+ RANAP_CauseRadioNetworkExtension_gTP_Resources_Unavailable = 263,
+ RANAP_CauseRadioNetworkExtension_tMGI_inUse_overlapping_MBMS_service_area = 264,
+ RANAP_CauseRadioNetworkExtension_mBMS_no_cell_in_MBMS_service_area = 265,
+ RANAP_CauseRadioNetworkExtension_no_Iu_CS_UP_relocation = 266,
+ RANAP_CauseRadioNetworkExtension_successful_MBMS_Session_Start_IP_Multicast_Bearer_established = 267,
+ RANAP_CauseRadioNetworkExtension_cS_fallback_triggered = 268,
+ RANAP_CauseRadioNetworkExtension_invalid_CSG_Id = 269
+} e_RANAP_CauseRadioNetworkExtension;
+
+/* RANAP_CauseRadioNetworkExtension */
+typedef long RANAP_CauseRadioNetworkExtension_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CauseRadioNetworkExtension;
+asn_struct_free_f RANAP_CauseRadioNetworkExtension_free;
+asn_struct_print_f RANAP_CauseRadioNetworkExtension_print;
+asn_constr_check_f RANAP_CauseRadioNetworkExtension_constraint;
+ber_type_decoder_f RANAP_CauseRadioNetworkExtension_decode_ber;
+der_type_encoder_f RANAP_CauseRadioNetworkExtension_encode_der;
+xer_type_decoder_f RANAP_CauseRadioNetworkExtension_decode_xer;
+xer_type_encoder_f RANAP_CauseRadioNetworkExtension_encode_xer;
+per_type_decoder_f RANAP_CauseRadioNetworkExtension_decode_uper;
+per_type_encoder_f RANAP_CauseRadioNetworkExtension_encode_uper;
+per_type_decoder_f RANAP_CauseRadioNetworkExtension_decode_aper;
+per_type_encoder_f RANAP_CauseRadioNetworkExtension_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CauseRadioNetworkExtension_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CauseTransmissionNetwork.c b/src/ranap/RANAP_CauseTransmissionNetwork.c
new file mode 100644
index 0000000..a5230e0
--- /dev/null
+++ b/src/ranap/RANAP_CauseTransmissionNetwork.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_CauseTransmissionNetwork.h"
+
+int
+RANAP_CauseTransmissionNetwork_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 65l && value <= 80l)) {
+ /* 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 void
+RANAP_CauseTransmissionNetwork_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_CauseTransmissionNetwork_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_CauseTransmissionNetwork_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_CauseTransmissionNetwork_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CauseTransmissionNetwork_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CauseTransmissionNetwork_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_CauseTransmissionNetwork_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_CauseTransmissionNetwork_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CauseTransmissionNetwork_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CauseTransmissionNetwork_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_CauseTransmissionNetwork_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_CauseTransmissionNetwork_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CauseTransmissionNetwork_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CauseTransmissionNetwork_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CauseTransmissionNetwork_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_CauseTransmissionNetwork_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CauseTransmissionNetwork_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_CauseTransmissionNetwork_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CauseTransmissionNetwork_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_CauseTransmissionNetwork_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CauseTransmissionNetwork_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_CauseTransmissionNetwork_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 4, 4, 65l, 80l } /* (65..80) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_CauseTransmissionNetwork_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CauseTransmissionNetwork = {
+ "RANAP_CauseTransmissionNetwork",
+ "RANAP_CauseTransmissionNetwork",
+ RANAP_CauseTransmissionNetwork_free,
+ RANAP_CauseTransmissionNetwork_print,
+ RANAP_CauseTransmissionNetwork_constraint,
+ RANAP_CauseTransmissionNetwork_decode_ber,
+ RANAP_CauseTransmissionNetwork_encode_der,
+ RANAP_CauseTransmissionNetwork_decode_xer,
+ RANAP_CauseTransmissionNetwork_encode_xer,
+ RANAP_CauseTransmissionNetwork_decode_uper,
+ RANAP_CauseTransmissionNetwork_encode_uper,
+ RANAP_CauseTransmissionNetwork_decode_aper,
+ RANAP_CauseTransmissionNetwork_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CauseTransmissionNetwork_tags_1,
+ sizeof(asn_DEF_RANAP_CauseTransmissionNetwork_tags_1)
+ /sizeof(asn_DEF_RANAP_CauseTransmissionNetwork_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CauseTransmissionNetwork_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CauseTransmissionNetwork_tags_1)
+ /sizeof(asn_DEF_RANAP_CauseTransmissionNetwork_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_CauseTransmissionNetwork_constr_1,
+ 0, 0, /* Defined elsewhere */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_CauseTransmissionNetwork.h b/src/ranap/RANAP_CauseTransmissionNetwork.h
new file mode 100644
index 0000000..9026c2c
--- /dev/null
+++ b/src/ranap/RANAP_CauseTransmissionNetwork.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_CauseTransmissionNetwork_H_
+#define _RANAP_CauseTransmissionNetwork_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_CauseTransmissionNetwork {
+ RANAP_CauseTransmissionNetwork_signalling_transport_resource_failure = 65,
+ RANAP_CauseTransmissionNetwork_iu_transport_connection_failed_to_establish = 66
+} e_RANAP_CauseTransmissionNetwork;
+
+/* RANAP_CauseTransmissionNetwork */
+typedef long RANAP_CauseTransmissionNetwork_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CauseTransmissionNetwork;
+asn_struct_free_f RANAP_CauseTransmissionNetwork_free;
+asn_struct_print_f RANAP_CauseTransmissionNetwork_print;
+asn_constr_check_f RANAP_CauseTransmissionNetwork_constraint;
+ber_type_decoder_f RANAP_CauseTransmissionNetwork_decode_ber;
+der_type_encoder_f RANAP_CauseTransmissionNetwork_encode_der;
+xer_type_decoder_f RANAP_CauseTransmissionNetwork_decode_xer;
+xer_type_encoder_f RANAP_CauseTransmissionNetwork_encode_xer;
+per_type_decoder_f RANAP_CauseTransmissionNetwork_decode_uper;
+per_type_encoder_f RANAP_CauseTransmissionNetwork_encode_uper;
+per_type_decoder_f RANAP_CauseTransmissionNetwork_decode_aper;
+per_type_encoder_f RANAP_CauseTransmissionNetwork_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CauseTransmissionNetwork_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Cell-Access-Mode.c b/src/ranap/RANAP_Cell-Access-Mode.c
new file mode 100644
index 0000000..9b9f880
--- /dev/null
+++ b/src/ranap/RANAP_Cell-Access-Mode.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Cell-Access-Mode.h"
+
+int
+RANAP_Cell_Access_Mode_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_Cell_Access_Mode_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_Cell_Access_Mode_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Cell_Access_Mode_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Cell_Access_Mode_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Cell_Access_Mode_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Cell_Access_Mode_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Cell_Access_Mode_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Cell_Access_Mode_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Cell_Access_Mode_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Cell_Access_Mode_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Cell_Access_Mode_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Cell_Access_Mode_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Cell_Access_Mode_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Cell_Access_Mode_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Cell_Access_Mode_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Cell_Access_Mode_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Cell_Access_Mode_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Cell_Access_Mode_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Cell_Access_Mode_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Cell_Access_Mode_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Cell_Access_Mode_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_Cell_Access_Mode_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_Cell_Access_Mode_value2enum_1[] = {
+ { 0, 6, "hybrid" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_Cell_Access_Mode_enum2value_1[] = {
+ 0 /* hybrid(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_Cell_Access_Mode_specs_1 = {
+ asn_MAP_RANAP_Cell_Access_Mode_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_Cell_Access_Mode_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_RANAP_Cell_Access_Mode_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Cell_Access_Mode = {
+ "RANAP_Cell-Access-Mode",
+ "RANAP_Cell-Access-Mode",
+ RANAP_Cell_Access_Mode_free,
+ RANAP_Cell_Access_Mode_print,
+ RANAP_Cell_Access_Mode_constraint,
+ RANAP_Cell_Access_Mode_decode_ber,
+ RANAP_Cell_Access_Mode_encode_der,
+ RANAP_Cell_Access_Mode_decode_xer,
+ RANAP_Cell_Access_Mode_encode_xer,
+ RANAP_Cell_Access_Mode_decode_uper,
+ RANAP_Cell_Access_Mode_encode_uper,
+ RANAP_Cell_Access_Mode_decode_aper,
+ RANAP_Cell_Access_Mode_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Cell_Access_Mode_tags_1,
+ sizeof(asn_DEF_RANAP_Cell_Access_Mode_tags_1)
+ /sizeof(asn_DEF_RANAP_Cell_Access_Mode_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Cell_Access_Mode_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Cell_Access_Mode_tags_1)
+ /sizeof(asn_DEF_RANAP_Cell_Access_Mode_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Cell_Access_Mode_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_Cell_Access_Mode_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Cell-Access-Mode.h b/src/ranap/RANAP_Cell-Access-Mode.h
new file mode 100644
index 0000000..e0389a9
--- /dev/null
+++ b/src/ranap/RANAP_Cell-Access-Mode.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Cell_Access_Mode_H_
+#define _RANAP_Cell_Access_Mode_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_Cell_Access_Mode {
+ RANAP_Cell_Access_Mode_hybrid = 0
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_Cell_Access_Mode;
+
+/* RANAP_Cell-Access-Mode */
+typedef long RANAP_Cell_Access_Mode_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Cell_Access_Mode;
+asn_struct_free_f RANAP_Cell_Access_Mode_free;
+asn_struct_print_f RANAP_Cell_Access_Mode_print;
+asn_constr_check_f RANAP_Cell_Access_Mode_constraint;
+ber_type_decoder_f RANAP_Cell_Access_Mode_decode_ber;
+der_type_encoder_f RANAP_Cell_Access_Mode_encode_der;
+xer_type_decoder_f RANAP_Cell_Access_Mode_decode_xer;
+xer_type_encoder_f RANAP_Cell_Access_Mode_encode_xer;
+per_type_decoder_f RANAP_Cell_Access_Mode_decode_uper;
+per_type_encoder_f RANAP_Cell_Access_Mode_encode_uper;
+per_type_decoder_f RANAP_Cell_Access_Mode_decode_aper;
+per_type_encoder_f RANAP_Cell_Access_Mode_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Cell_Access_Mode_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Cell-Capacity-Class-Value.c b/src/ranap/RANAP_Cell-Capacity-Class-Value.c
new file mode 100644
index 0000000..ee33b4a
--- /dev/null
+++ b/src/ranap/RANAP_Cell-Capacity-Class-Value.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Cell-Capacity-Class-Value.h"
+
+int
+RANAP_Cell_Capacity_Class_Value_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1l && value <= 100l)) {
+ /* 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 void
+RANAP_Cell_Capacity_Class_Value_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_Cell_Capacity_Class_Value_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Cell_Capacity_Class_Value_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Cell_Capacity_Class_Value_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Cell_Capacity_Class_Value_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Cell_Capacity_Class_Value_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Cell_Capacity_Class_Value_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Cell_Capacity_Class_Value_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Cell_Capacity_Class_Value_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Cell_Capacity_Class_Value_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Cell_Capacity_Class_Value_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Cell_Capacity_Class_Value_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Cell_Capacity_Class_Value_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Cell_Capacity_Class_Value_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Cell_Capacity_Class_Value_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Cell_Capacity_Class_Value_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Cell_Capacity_Class_Value_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Cell_Capacity_Class_Value_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Cell_Capacity_Class_Value_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Cell_Capacity_Class_Value_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Cell_Capacity_Class_Value_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_Cell_Capacity_Class_Value_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 7, 7, 1l, 100l } /* (1..100,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Cell_Capacity_Class_Value_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Cell_Capacity_Class_Value = {
+ "RANAP_Cell-Capacity-Class-Value",
+ "RANAP_Cell-Capacity-Class-Value",
+ RANAP_Cell_Capacity_Class_Value_free,
+ RANAP_Cell_Capacity_Class_Value_print,
+ RANAP_Cell_Capacity_Class_Value_constraint,
+ RANAP_Cell_Capacity_Class_Value_decode_ber,
+ RANAP_Cell_Capacity_Class_Value_encode_der,
+ RANAP_Cell_Capacity_Class_Value_decode_xer,
+ RANAP_Cell_Capacity_Class_Value_encode_xer,
+ RANAP_Cell_Capacity_Class_Value_decode_uper,
+ RANAP_Cell_Capacity_Class_Value_encode_uper,
+ RANAP_Cell_Capacity_Class_Value_decode_aper,
+ RANAP_Cell_Capacity_Class_Value_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Cell_Capacity_Class_Value_tags_1,
+ sizeof(asn_DEF_RANAP_Cell_Capacity_Class_Value_tags_1)
+ /sizeof(asn_DEF_RANAP_Cell_Capacity_Class_Value_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Cell_Capacity_Class_Value_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Cell_Capacity_Class_Value_tags_1)
+ /sizeof(asn_DEF_RANAP_Cell_Capacity_Class_Value_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Cell_Capacity_Class_Value_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_Cell-Capacity-Class-Value.h b/src/ranap/RANAP_Cell-Capacity-Class-Value.h
new file mode 100644
index 0000000..b414ad3
--- /dev/null
+++ b/src/ranap/RANAP_Cell-Capacity-Class-Value.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Cell_Capacity_Class_Value_H_
+#define _RANAP_Cell_Capacity_Class_Value_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Cell-Capacity-Class-Value */
+typedef long RANAP_Cell_Capacity_Class_Value_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Cell_Capacity_Class_Value;
+asn_struct_free_f RANAP_Cell_Capacity_Class_Value_free;
+asn_struct_print_f RANAP_Cell_Capacity_Class_Value_print;
+asn_constr_check_f RANAP_Cell_Capacity_Class_Value_constraint;
+ber_type_decoder_f RANAP_Cell_Capacity_Class_Value_decode_ber;
+der_type_encoder_f RANAP_Cell_Capacity_Class_Value_encode_der;
+xer_type_decoder_f RANAP_Cell_Capacity_Class_Value_decode_xer;
+xer_type_encoder_f RANAP_Cell_Capacity_Class_Value_encode_xer;
+per_type_decoder_f RANAP_Cell_Capacity_Class_Value_decode_uper;
+per_type_encoder_f RANAP_Cell_Capacity_Class_Value_encode_uper;
+per_type_decoder_f RANAP_Cell_Capacity_Class_Value_decode_aper;
+per_type_encoder_f RANAP_Cell_Capacity_Class_Value_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Cell_Capacity_Class_Value_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Cell-Id.c b/src/ranap/RANAP_Cell-Id.c
new file mode 100644
index 0000000..9ffda0a
--- /dev/null
+++ b/src/ranap/RANAP_Cell-Id.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Cell-Id.h"
+
+int
+RANAP_Cell_Id_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 268435455l)) {
+ /* 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 void
+RANAP_Cell_Id_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_Cell_Id_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Cell_Id_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Cell_Id_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Cell_Id_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Cell_Id_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Cell_Id_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Cell_Id_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Cell_Id_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Cell_Id_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Cell_Id_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Cell_Id_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Cell_Id_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Cell_Id_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Cell_Id_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Cell_Id_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Cell_Id_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Cell_Id_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Cell_Id_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Cell_Id_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Cell_Id_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_Cell_Id_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 28, -1, 0l, 268435455l } /* (0..268435455) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Cell_Id_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Cell_Id = {
+ "RANAP_Cell-Id",
+ "RANAP_Cell-Id",
+ RANAP_Cell_Id_free,
+ RANAP_Cell_Id_print,
+ RANAP_Cell_Id_constraint,
+ RANAP_Cell_Id_decode_ber,
+ RANAP_Cell_Id_encode_der,
+ RANAP_Cell_Id_decode_xer,
+ RANAP_Cell_Id_encode_xer,
+ RANAP_Cell_Id_decode_uper,
+ RANAP_Cell_Id_encode_uper,
+ RANAP_Cell_Id_decode_aper,
+ RANAP_Cell_Id_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Cell_Id_tags_1,
+ sizeof(asn_DEF_RANAP_Cell_Id_tags_1)
+ /sizeof(asn_DEF_RANAP_Cell_Id_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Cell_Id_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Cell_Id_tags_1)
+ /sizeof(asn_DEF_RANAP_Cell_Id_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Cell_Id_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_Cell-Id.h b/src/ranap/RANAP_Cell-Id.h
new file mode 100644
index 0000000..36aed83
--- /dev/null
+++ b/src/ranap/RANAP_Cell-Id.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Cell_Id_H_
+#define _RANAP_Cell_Id_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Cell-Id */
+typedef long RANAP_Cell_Id_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Cell_Id;
+asn_struct_free_f RANAP_Cell_Id_free;
+asn_struct_print_f RANAP_Cell_Id_print;
+asn_constr_check_f RANAP_Cell_Id_constraint;
+ber_type_decoder_f RANAP_Cell_Id_decode_ber;
+der_type_encoder_f RANAP_Cell_Id_encode_der;
+xer_type_decoder_f RANAP_Cell_Id_decode_xer;
+xer_type_encoder_f RANAP_Cell_Id_encode_xer;
+per_type_decoder_f RANAP_Cell_Id_decode_uper;
+per_type_encoder_f RANAP_Cell_Id_encode_uper;
+per_type_decoder_f RANAP_Cell_Id_decode_aper;
+per_type_encoder_f RANAP_Cell_Id_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Cell_Id_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CellBased.c b/src/ranap/RANAP_CellBased.c
new file mode 100644
index 0000000..57d26b3
--- /dev/null
+++ b/src/ranap/RANAP_CellBased.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_CellBased.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_CellBased_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_CellBased, cellIdList),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_CellIdList,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "cellIdList"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_CellBased, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_CellBased_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_RANAP_CellBased_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_CellBased_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellIdList */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_CellBased_specs_1 = {
+ sizeof(struct RANAP_CellBased),
+ offsetof(struct RANAP_CellBased, _asn_ctx),
+ asn_MAP_RANAP_CellBased_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_RANAP_CellBased_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 1, /* Start extensions */
+ 3 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CellBased = {
+ "RANAP_CellBased",
+ "RANAP_CellBased",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CellBased_tags_1,
+ sizeof(asn_DEF_RANAP_CellBased_tags_1)
+ /sizeof(asn_DEF_RANAP_CellBased_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CellBased_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CellBased_tags_1)
+ /sizeof(asn_DEF_RANAP_CellBased_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_CellBased_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_CellBased_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_CellBased.h b/src/ranap/RANAP_CellBased.h
new file mode 100644
index 0000000..4a42057
--- /dev/null
+++ b/src/ranap/RANAP_CellBased.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_CellBased_H_
+#define _RANAP_CellBased_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_CellIdList.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_CellBased */
+typedef struct RANAP_CellBased {
+ RANAP_CellIdList_t cellIdList;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_CellBased_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CellBased;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CellBased_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CellIdList.c b/src/ranap/RANAP_CellIdList.c
new file mode 100644
index 0000000..f5a9c74
--- /dev/null
+++ b/src/ranap/RANAP_CellIdList.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_CellIdList.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_CellIdList_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 5, 5, 1l, 32l } /* (SIZE(1..32)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_CellIdList_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_Cell_Id,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_CellIdList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_CellIdList_specs_1 = {
+ sizeof(struct RANAP_CellIdList),
+ offsetof(struct RANAP_CellIdList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CellIdList = {
+ "RANAP_CellIdList",
+ "RANAP_CellIdList",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CellIdList_tags_1,
+ sizeof(asn_DEF_RANAP_CellIdList_tags_1)
+ /sizeof(asn_DEF_RANAP_CellIdList_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CellIdList_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CellIdList_tags_1)
+ /sizeof(asn_DEF_RANAP_CellIdList_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_CellIdList_constr_1,
+ asn_MBR_RANAP_CellIdList_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_CellIdList_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_CellIdList.h b/src/ranap/RANAP_CellIdList.h
new file mode 100644
index 0000000..edde11e
--- /dev/null
+++ b/src/ranap/RANAP_CellIdList.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_CellIdList_H_
+#define _RANAP_CellIdList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_Cell-Id.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_CellIdList */
+typedef struct RANAP_CellIdList {
+ A_SEQUENCE_OF(RANAP_Cell_Id_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_CellIdList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CellIdList;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CellIdList_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CellLoadInformation.c b/src/ranap/RANAP_CellLoadInformation.c
new file mode 100644
index 0000000..e4aa67e
--- /dev/null
+++ b/src/ranap/RANAP_CellLoadInformation.c
@@ -0,0 +1,103 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_CellLoadInformation.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_CellLoadInformation_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_CellLoadInformation, cell_Capacity_Class_Value),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Cell_Capacity_Class_Value,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "cell-Capacity-Class-Value"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_CellLoadInformation, loadValue),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_LoadValue,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "loadValue"
+ },
+ { ATF_POINTER, 3, offsetof(struct RANAP_CellLoadInformation, rTLoadValue),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RTLoadValue,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rTLoadValue"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_CellLoadInformation, nRTLoadInformationValue),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_NRTLoadInformationValue,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "nRTLoadInformationValue"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_CellLoadInformation, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_CellLoadInformation_oms_1[] = { 2, 3, 4 };
+static const ber_tlv_tag_t asn_DEF_RANAP_CellLoadInformation_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_CellLoadInformation_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cell-Capacity-Class-Value */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* loadValue */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* rTLoadValue */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* nRTLoadInformationValue */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_CellLoadInformation_specs_1 = {
+ sizeof(struct RANAP_CellLoadInformation),
+ offsetof(struct RANAP_CellLoadInformation, _asn_ctx),
+ asn_MAP_RANAP_CellLoadInformation_tag2el_1,
+ 5, /* Count of tags in the map */
+ asn_MAP_RANAP_CellLoadInformation_oms_1, /* Optional members */
+ 3, 0, /* Root/Additions */
+ 4, /* Start extensions */
+ 6 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CellLoadInformation = {
+ "RANAP_CellLoadInformation",
+ "RANAP_CellLoadInformation",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CellLoadInformation_tags_1,
+ sizeof(asn_DEF_RANAP_CellLoadInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_CellLoadInformation_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CellLoadInformation_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CellLoadInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_CellLoadInformation_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_CellLoadInformation_1,
+ 5, /* Elements count */
+ &asn_SPC_RANAP_CellLoadInformation_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_CellLoadInformation.h b/src/ranap/RANAP_CellLoadInformation.h
new file mode 100644
index 0000000..085f791
--- /dev/null
+++ b/src/ranap/RANAP_CellLoadInformation.h
@@ -0,0 +1,49 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_CellLoadInformation_H_
+#define _RANAP_CellLoadInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_Cell-Capacity-Class-Value.h"
+#include "RANAP_LoadValue.h"
+#include "RANAP_RTLoadValue.h"
+#include "RANAP_NRTLoadInformationValue.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_CellLoadInformation */
+typedef struct RANAP_CellLoadInformation {
+ RANAP_Cell_Capacity_Class_Value_t cell_Capacity_Class_Value;
+ RANAP_LoadValue_t loadValue;
+ RANAP_RTLoadValue_t *rTLoadValue /* OPTIONAL */;
+ RANAP_NRTLoadInformationValue_t *nRTLoadInformationValue /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_CellLoadInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CellLoadInformation;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CellLoadInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CellLoadInformationGroup.c b/src/ranap/RANAP_CellLoadInformationGroup.c
new file mode 100644
index 0000000..1091b22
--- /dev/null
+++ b/src/ranap/RANAP_CellLoadInformationGroup.c
@@ -0,0 +1,93 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_CellLoadInformationGroup.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_CellLoadInformationGroup_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_CellLoadInformationGroup, sourceCellID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANAP_SourceCellID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "sourceCellID"
+ },
+ { ATF_POINTER, 3, offsetof(struct RANAP_CellLoadInformationGroup, uplinkCellLoadInformation),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_CellLoadInformation,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "uplinkCellLoadInformation"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_CellLoadInformationGroup, downlinkCellLoadInformation),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_CellLoadInformation,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "downlinkCellLoadInformation"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_CellLoadInformationGroup, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_CellLoadInformationGroup_oms_1[] = { 1, 2, 3 };
+static const ber_tlv_tag_t asn_DEF_RANAP_CellLoadInformationGroup_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_CellLoadInformationGroup_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sourceCellID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uplinkCellLoadInformation */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* downlinkCellLoadInformation */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_CellLoadInformationGroup_specs_1 = {
+ sizeof(struct RANAP_CellLoadInformationGroup),
+ offsetof(struct RANAP_CellLoadInformationGroup, _asn_ctx),
+ asn_MAP_RANAP_CellLoadInformationGroup_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_RANAP_CellLoadInformationGroup_oms_1, /* Optional members */
+ 3, 0, /* Root/Additions */
+ 3, /* Start extensions */
+ 5 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CellLoadInformationGroup = {
+ "RANAP_CellLoadInformationGroup",
+ "RANAP_CellLoadInformationGroup",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CellLoadInformationGroup_tags_1,
+ sizeof(asn_DEF_RANAP_CellLoadInformationGroup_tags_1)
+ /sizeof(asn_DEF_RANAP_CellLoadInformationGroup_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CellLoadInformationGroup_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CellLoadInformationGroup_tags_1)
+ /sizeof(asn_DEF_RANAP_CellLoadInformationGroup_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_CellLoadInformationGroup_1,
+ 4, /* Elements count */
+ &asn_SPC_RANAP_CellLoadInformationGroup_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_CellLoadInformationGroup.h b/src/ranap/RANAP_CellLoadInformationGroup.h
new file mode 100644
index 0000000..eb7c234
--- /dev/null
+++ b/src/ranap/RANAP_CellLoadInformationGroup.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_CellLoadInformationGroup_H_
+#define _RANAP_CellLoadInformationGroup_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_SourceCellID.h"
+#include "RANAP_CellLoadInformation.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_CellLoadInformationGroup */
+typedef struct RANAP_CellLoadInformationGroup {
+ RANAP_SourceCellID_t sourceCellID;
+ RANAP_CellLoadInformation_t *uplinkCellLoadInformation /* OPTIONAL */;
+ RANAP_CellLoadInformation_t *downlinkCellLoadInformation /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_CellLoadInformationGroup_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CellLoadInformationGroup;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CellLoadInformationGroup_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CellType.c b/src/ranap/RANAP_CellType.c
new file mode 100644
index 0000000..c12bedb
--- /dev/null
+++ b/src/ranap/RANAP_CellType.c
@@ -0,0 +1,171 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_CellType.h"
+
+int
+RANAP_CellType_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_CellType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_CellType_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_CellType_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_CellType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CellType_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CellType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_CellType_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_CellType_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CellType_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CellType_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_CellType_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_CellType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_CellType_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_CellType_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CellType_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_CellType_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CellType_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_CellType_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_CellType_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_CellType_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_CellType_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_CellType_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 3l } /* (0..3,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_CellType_value2enum_1[] = {
+ { 0, 5, "macro" },
+ { 1, 5, "micro" },
+ { 2, 4, "pico" },
+ { 3, 5, "femto" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_CellType_enum2value_1[] = {
+ 3, /* femto(3) */
+ 0, /* macro(0) */
+ 1, /* micro(1) */
+ 2 /* pico(2) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_CellType_specs_1 = {
+ asn_MAP_RANAP_CellType_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_CellType_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_RANAP_CellType_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CellType = {
+ "RANAP_CellType",
+ "RANAP_CellType",
+ RANAP_CellType_free,
+ RANAP_CellType_print,
+ RANAP_CellType_constraint,
+ RANAP_CellType_decode_ber,
+ RANAP_CellType_encode_der,
+ RANAP_CellType_decode_xer,
+ RANAP_CellType_encode_xer,
+ RANAP_CellType_decode_uper,
+ RANAP_CellType_encode_uper,
+ RANAP_CellType_decode_aper,
+ RANAP_CellType_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CellType_tags_1,
+ sizeof(asn_DEF_RANAP_CellType_tags_1)
+ /sizeof(asn_DEF_RANAP_CellType_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CellType_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CellType_tags_1)
+ /sizeof(asn_DEF_RANAP_CellType_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_CellType_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_CellType_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_CellType.h b/src/ranap/RANAP_CellType.h
new file mode 100644
index 0000000..6e47d31
--- /dev/null
+++ b/src/ranap/RANAP_CellType.h
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_CellType_H_
+#define _RANAP_CellType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_CellType {
+ RANAP_CellType_macro = 0,
+ RANAP_CellType_micro = 1,
+ RANAP_CellType_pico = 2,
+ RANAP_CellType_femto = 3
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_CellType;
+
+/* RANAP_CellType */
+typedef long RANAP_CellType_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CellType;
+asn_struct_free_f RANAP_CellType_free;
+asn_struct_print_f RANAP_CellType_print;
+asn_constr_check_f RANAP_CellType_constraint;
+ber_type_decoder_f RANAP_CellType_decode_ber;
+der_type_encoder_f RANAP_CellType_encode_der;
+xer_type_decoder_f RANAP_CellType_decode_xer;
+xer_type_encoder_f RANAP_CellType_encode_xer;
+per_type_decoder_f RANAP_CellType_decode_uper;
+per_type_encoder_f RANAP_CellType_encode_uper;
+per_type_decoder_f RANAP_CellType_decode_aper;
+per_type_encoder_f RANAP_CellType_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CellType_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ChosenEncryptionAlgorithm.c b/src/ranap/RANAP_ChosenEncryptionAlgorithm.c
new file mode 100644
index 0000000..2b1581f
--- /dev/null
+++ b/src/ranap/RANAP_ChosenEncryptionAlgorithm.c
@@ -0,0 +1,157 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_ChosenEncryptionAlgorithm.h"
+
+int
+RANAP_ChosenEncryptionAlgorithm_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_RANAP_EncryptionAlgorithm.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using RANAP_EncryptionAlgorithm,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_ChosenEncryptionAlgorithm_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_RANAP_EncryptionAlgorithm.free_struct;
+ td->print_struct = asn_DEF_RANAP_EncryptionAlgorithm.print_struct;
+ td->check_constraints = asn_DEF_RANAP_EncryptionAlgorithm.check_constraints;
+ td->ber_decoder = asn_DEF_RANAP_EncryptionAlgorithm.ber_decoder;
+ td->der_encoder = asn_DEF_RANAP_EncryptionAlgorithm.der_encoder;
+ td->xer_decoder = asn_DEF_RANAP_EncryptionAlgorithm.xer_decoder;
+ td->xer_encoder = asn_DEF_RANAP_EncryptionAlgorithm.xer_encoder;
+ td->uper_decoder = asn_DEF_RANAP_EncryptionAlgorithm.uper_decoder;
+ td->uper_encoder = asn_DEF_RANAP_EncryptionAlgorithm.uper_encoder;
+ td->aper_decoder = asn_DEF_RANAP_EncryptionAlgorithm.aper_decoder;
+ td->aper_encoder = asn_DEF_RANAP_EncryptionAlgorithm.aper_encoder;
+ /* The next four lines are here because of -fknown-extern-type */
+ td->tags = asn_DEF_RANAP_EncryptionAlgorithm.tags;
+ td->tags_count = asn_DEF_RANAP_EncryptionAlgorithm.tags_count;
+ td->all_tags = asn_DEF_RANAP_EncryptionAlgorithm.all_tags;
+ td->all_tags_count = asn_DEF_RANAP_EncryptionAlgorithm.all_tags_count;
+ /* End of these lines */
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_RANAP_EncryptionAlgorithm.per_constraints;
+ td->elements = asn_DEF_RANAP_EncryptionAlgorithm.elements;
+ td->elements_count = asn_DEF_RANAP_EncryptionAlgorithm.elements_count;
+ td->specifics = asn_DEF_RANAP_EncryptionAlgorithm.specifics;
+}
+
+void
+RANAP_ChosenEncryptionAlgorithm_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_ChosenEncryptionAlgorithm_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_ChosenEncryptionAlgorithm_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ChosenEncryptionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ChosenEncryptionAlgorithm_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_ChosenEncryptionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_ChosenEncryptionAlgorithm_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ChosenEncryptionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ChosenEncryptionAlgorithm_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_ChosenEncryptionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_ChosenEncryptionAlgorithm_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ChosenEncryptionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ChosenEncryptionAlgorithm_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ChosenEncryptionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_ChosenEncryptionAlgorithm_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ChosenEncryptionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_ChosenEncryptionAlgorithm_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ChosenEncryptionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_ChosenEncryptionAlgorithm_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ChosenEncryptionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_TYPE_descriptor_t asn_DEF_RANAP_ChosenEncryptionAlgorithm = {
+ "RANAP_ChosenEncryptionAlgorithm",
+ "RANAP_ChosenEncryptionAlgorithm",
+ RANAP_ChosenEncryptionAlgorithm_free,
+ RANAP_ChosenEncryptionAlgorithm_print,
+ RANAP_ChosenEncryptionAlgorithm_constraint,
+ RANAP_ChosenEncryptionAlgorithm_decode_ber,
+ RANAP_ChosenEncryptionAlgorithm_encode_der,
+ RANAP_ChosenEncryptionAlgorithm_decode_xer,
+ RANAP_ChosenEncryptionAlgorithm_encode_xer,
+ RANAP_ChosenEncryptionAlgorithm_decode_uper,
+ RANAP_ChosenEncryptionAlgorithm_encode_uper,
+ RANAP_ChosenEncryptionAlgorithm_decode_aper,
+ RANAP_ChosenEncryptionAlgorithm_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_ChosenEncryptionAlgorithm.h b/src/ranap/RANAP_ChosenEncryptionAlgorithm.h
new file mode 100644
index 0000000..190acf7
--- /dev/null
+++ b/src/ranap/RANAP_ChosenEncryptionAlgorithm.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+#include <constr_CHOICE.h>
+
+#ifndef _RANAP_ChosenEncryptionAlgorithm_H_
+#define _RANAP_ChosenEncryptionAlgorithm_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_EncryptionAlgorithm.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_ChosenEncryptionAlgorithm */
+typedef RANAP_EncryptionAlgorithm_t RANAP_ChosenEncryptionAlgorithm_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ChosenEncryptionAlgorithm;
+asn_struct_free_f RANAP_ChosenEncryptionAlgorithm_free;
+asn_struct_print_f RANAP_ChosenEncryptionAlgorithm_print;
+asn_constr_check_f RANAP_ChosenEncryptionAlgorithm_constraint;
+ber_type_decoder_f RANAP_ChosenEncryptionAlgorithm_decode_ber;
+der_type_encoder_f RANAP_ChosenEncryptionAlgorithm_encode_der;
+xer_type_decoder_f RANAP_ChosenEncryptionAlgorithm_decode_xer;
+xer_type_encoder_f RANAP_ChosenEncryptionAlgorithm_encode_xer;
+per_type_decoder_f RANAP_ChosenEncryptionAlgorithm_decode_uper;
+per_type_encoder_f RANAP_ChosenEncryptionAlgorithm_encode_uper;
+per_type_decoder_f RANAP_ChosenEncryptionAlgorithm_decode_aper;
+per_type_encoder_f RANAP_ChosenEncryptionAlgorithm_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ChosenEncryptionAlgorithm_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ChosenIntegrityProtectionAlgorithm.c b/src/ranap/RANAP_ChosenIntegrityProtectionAlgorithm.c
new file mode 100644
index 0000000..e38a640
--- /dev/null
+++ b/src/ranap/RANAP_ChosenIntegrityProtectionAlgorithm.c
@@ -0,0 +1,157 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_ChosenIntegrityProtectionAlgorithm.h"
+
+int
+RANAP_ChosenIntegrityProtectionAlgorithm_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_RANAP_IntegrityProtectionAlgorithm.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using RANAP_IntegrityProtectionAlgorithm,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_ChosenIntegrityProtectionAlgorithm_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_RANAP_IntegrityProtectionAlgorithm.free_struct;
+ td->print_struct = asn_DEF_RANAP_IntegrityProtectionAlgorithm.print_struct;
+ td->check_constraints = asn_DEF_RANAP_IntegrityProtectionAlgorithm.check_constraints;
+ td->ber_decoder = asn_DEF_RANAP_IntegrityProtectionAlgorithm.ber_decoder;
+ td->der_encoder = asn_DEF_RANAP_IntegrityProtectionAlgorithm.der_encoder;
+ td->xer_decoder = asn_DEF_RANAP_IntegrityProtectionAlgorithm.xer_decoder;
+ td->xer_encoder = asn_DEF_RANAP_IntegrityProtectionAlgorithm.xer_encoder;
+ td->uper_decoder = asn_DEF_RANAP_IntegrityProtectionAlgorithm.uper_decoder;
+ td->uper_encoder = asn_DEF_RANAP_IntegrityProtectionAlgorithm.uper_encoder;
+ td->aper_decoder = asn_DEF_RANAP_IntegrityProtectionAlgorithm.aper_decoder;
+ td->aper_encoder = asn_DEF_RANAP_IntegrityProtectionAlgorithm.aper_encoder;
+ /* The next four lines are here because of -fknown-extern-type */
+ td->tags = asn_DEF_RANAP_IntegrityProtectionAlgorithm.tags;
+ td->tags_count = asn_DEF_RANAP_IntegrityProtectionAlgorithm.tags_count;
+ td->all_tags = asn_DEF_RANAP_IntegrityProtectionAlgorithm.all_tags;
+ td->all_tags_count = asn_DEF_RANAP_IntegrityProtectionAlgorithm.all_tags_count;
+ /* End of these lines */
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_RANAP_IntegrityProtectionAlgorithm.per_constraints;
+ td->elements = asn_DEF_RANAP_IntegrityProtectionAlgorithm.elements;
+ td->elements_count = asn_DEF_RANAP_IntegrityProtectionAlgorithm.elements_count;
+ td->specifics = asn_DEF_RANAP_IntegrityProtectionAlgorithm.specifics;
+}
+
+void
+RANAP_ChosenIntegrityProtectionAlgorithm_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_ChosenIntegrityProtectionAlgorithm_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_ChosenIntegrityProtectionAlgorithm_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ChosenIntegrityProtectionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ChosenIntegrityProtectionAlgorithm_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_ChosenIntegrityProtectionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_ChosenIntegrityProtectionAlgorithm_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ChosenIntegrityProtectionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ChosenIntegrityProtectionAlgorithm_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_ChosenIntegrityProtectionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_ChosenIntegrityProtectionAlgorithm_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ChosenIntegrityProtectionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ChosenIntegrityProtectionAlgorithm_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ChosenIntegrityProtectionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_ChosenIntegrityProtectionAlgorithm_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ChosenIntegrityProtectionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_ChosenIntegrityProtectionAlgorithm_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ChosenIntegrityProtectionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_ChosenIntegrityProtectionAlgorithm_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ChosenIntegrityProtectionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_TYPE_descriptor_t asn_DEF_RANAP_ChosenIntegrityProtectionAlgorithm = {
+ "RANAP_ChosenIntegrityProtectionAlgorithm",
+ "RANAP_ChosenIntegrityProtectionAlgorithm",
+ RANAP_ChosenIntegrityProtectionAlgorithm_free,
+ RANAP_ChosenIntegrityProtectionAlgorithm_print,
+ RANAP_ChosenIntegrityProtectionAlgorithm_constraint,
+ RANAP_ChosenIntegrityProtectionAlgorithm_decode_ber,
+ RANAP_ChosenIntegrityProtectionAlgorithm_encode_der,
+ RANAP_ChosenIntegrityProtectionAlgorithm_decode_xer,
+ RANAP_ChosenIntegrityProtectionAlgorithm_encode_xer,
+ RANAP_ChosenIntegrityProtectionAlgorithm_decode_uper,
+ RANAP_ChosenIntegrityProtectionAlgorithm_encode_uper,
+ RANAP_ChosenIntegrityProtectionAlgorithm_decode_aper,
+ RANAP_ChosenIntegrityProtectionAlgorithm_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_ChosenIntegrityProtectionAlgorithm.h b/src/ranap/RANAP_ChosenIntegrityProtectionAlgorithm.h
new file mode 100644
index 0000000..09c9493
--- /dev/null
+++ b/src/ranap/RANAP_ChosenIntegrityProtectionAlgorithm.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+#include <constr_CHOICE.h>
+
+#ifndef _RANAP_ChosenIntegrityProtectionAlgorithm_H_
+#define _RANAP_ChosenIntegrityProtectionAlgorithm_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IntegrityProtectionAlgorithm.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_ChosenIntegrityProtectionAlgorithm */
+typedef RANAP_IntegrityProtectionAlgorithm_t RANAP_ChosenIntegrityProtectionAlgorithm_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ChosenIntegrityProtectionAlgorithm;
+asn_struct_free_f RANAP_ChosenIntegrityProtectionAlgorithm_free;
+asn_struct_print_f RANAP_ChosenIntegrityProtectionAlgorithm_print;
+asn_constr_check_f RANAP_ChosenIntegrityProtectionAlgorithm_constraint;
+ber_type_decoder_f RANAP_ChosenIntegrityProtectionAlgorithm_decode_ber;
+der_type_encoder_f RANAP_ChosenIntegrityProtectionAlgorithm_encode_der;
+xer_type_decoder_f RANAP_ChosenIntegrityProtectionAlgorithm_decode_xer;
+xer_type_encoder_f RANAP_ChosenIntegrityProtectionAlgorithm_encode_xer;
+per_type_decoder_f RANAP_ChosenIntegrityProtectionAlgorithm_decode_uper;
+per_type_encoder_f RANAP_ChosenIntegrityProtectionAlgorithm_encode_uper;
+per_type_decoder_f RANAP_ChosenIntegrityProtectionAlgorithm_decode_aper;
+per_type_encoder_f RANAP_ChosenIntegrityProtectionAlgorithm_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ChosenIntegrityProtectionAlgorithm_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ClassmarkInformation2.c b/src/ranap/RANAP_ClassmarkInformation2.c
new file mode 100644
index 0000000..fd6e41e
--- /dev/null
+++ b/src/ranap/RANAP_ClassmarkInformation2.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_ClassmarkInformation2.h"
+
+int
+RANAP_ClassmarkInformation2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_ClassmarkInformation2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_ClassmarkInformation2_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_ClassmarkInformation2_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_ClassmarkInformation2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ClassmarkInformation2_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ClassmarkInformation2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_ClassmarkInformation2_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_ClassmarkInformation2_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ClassmarkInformation2_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ClassmarkInformation2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_ClassmarkInformation2_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_ClassmarkInformation2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ClassmarkInformation2_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ClassmarkInformation2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ClassmarkInformation2_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_ClassmarkInformation2_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ClassmarkInformation2_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_ClassmarkInformation2_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ClassmarkInformation2_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_ClassmarkInformation2_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ClassmarkInformation2_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static const ber_tlv_tag_t asn_DEF_RANAP_ClassmarkInformation2_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ClassmarkInformation2 = {
+ "RANAP_ClassmarkInformation2",
+ "RANAP_ClassmarkInformation2",
+ RANAP_ClassmarkInformation2_free,
+ RANAP_ClassmarkInformation2_print,
+ RANAP_ClassmarkInformation2_constraint,
+ RANAP_ClassmarkInformation2_decode_ber,
+ RANAP_ClassmarkInformation2_encode_der,
+ RANAP_ClassmarkInformation2_decode_xer,
+ RANAP_ClassmarkInformation2_encode_xer,
+ RANAP_ClassmarkInformation2_decode_uper,
+ RANAP_ClassmarkInformation2_encode_uper,
+ RANAP_ClassmarkInformation2_decode_aper,
+ RANAP_ClassmarkInformation2_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ClassmarkInformation2_tags_1,
+ sizeof(asn_DEF_RANAP_ClassmarkInformation2_tags_1)
+ /sizeof(asn_DEF_RANAP_ClassmarkInformation2_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ClassmarkInformation2_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ClassmarkInformation2_tags_1)
+ /sizeof(asn_DEF_RANAP_ClassmarkInformation2_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_ClassmarkInformation2.h b/src/ranap/RANAP_ClassmarkInformation2.h
new file mode 100644
index 0000000..efab851
--- /dev/null
+++ b/src/ranap/RANAP_ClassmarkInformation2.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_ClassmarkInformation2_H_
+#define _RANAP_ClassmarkInformation2_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_ClassmarkInformation2 */
+typedef OCTET_STRING_t RANAP_ClassmarkInformation2_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ClassmarkInformation2;
+asn_struct_free_f RANAP_ClassmarkInformation2_free;
+asn_struct_print_f RANAP_ClassmarkInformation2_print;
+asn_constr_check_f RANAP_ClassmarkInformation2_constraint;
+ber_type_decoder_f RANAP_ClassmarkInformation2_decode_ber;
+der_type_encoder_f RANAP_ClassmarkInformation2_encode_der;
+xer_type_decoder_f RANAP_ClassmarkInformation2_decode_xer;
+xer_type_encoder_f RANAP_ClassmarkInformation2_encode_xer;
+per_type_decoder_f RANAP_ClassmarkInformation2_decode_uper;
+per_type_encoder_f RANAP_ClassmarkInformation2_encode_uper;
+per_type_decoder_f RANAP_ClassmarkInformation2_decode_aper;
+per_type_encoder_f RANAP_ClassmarkInformation2_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ClassmarkInformation2_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ClassmarkInformation3.c b/src/ranap/RANAP_ClassmarkInformation3.c
new file mode 100644
index 0000000..5523cee
--- /dev/null
+++ b/src/ranap/RANAP_ClassmarkInformation3.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_ClassmarkInformation3.h"
+
+int
+RANAP_ClassmarkInformation3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_ClassmarkInformation3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_ClassmarkInformation3_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_ClassmarkInformation3_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_ClassmarkInformation3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ClassmarkInformation3_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ClassmarkInformation3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_ClassmarkInformation3_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_ClassmarkInformation3_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ClassmarkInformation3_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ClassmarkInformation3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_ClassmarkInformation3_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_ClassmarkInformation3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ClassmarkInformation3_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ClassmarkInformation3_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ClassmarkInformation3_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_ClassmarkInformation3_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ClassmarkInformation3_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_ClassmarkInformation3_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ClassmarkInformation3_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_ClassmarkInformation3_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ClassmarkInformation3_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static const ber_tlv_tag_t asn_DEF_RANAP_ClassmarkInformation3_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ClassmarkInformation3 = {
+ "RANAP_ClassmarkInformation3",
+ "RANAP_ClassmarkInformation3",
+ RANAP_ClassmarkInformation3_free,
+ RANAP_ClassmarkInformation3_print,
+ RANAP_ClassmarkInformation3_constraint,
+ RANAP_ClassmarkInformation3_decode_ber,
+ RANAP_ClassmarkInformation3_encode_der,
+ RANAP_ClassmarkInformation3_decode_xer,
+ RANAP_ClassmarkInformation3_encode_xer,
+ RANAP_ClassmarkInformation3_decode_uper,
+ RANAP_ClassmarkInformation3_encode_uper,
+ RANAP_ClassmarkInformation3_decode_aper,
+ RANAP_ClassmarkInformation3_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ClassmarkInformation3_tags_1,
+ sizeof(asn_DEF_RANAP_ClassmarkInformation3_tags_1)
+ /sizeof(asn_DEF_RANAP_ClassmarkInformation3_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ClassmarkInformation3_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ClassmarkInformation3_tags_1)
+ /sizeof(asn_DEF_RANAP_ClassmarkInformation3_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_ClassmarkInformation3.h b/src/ranap/RANAP_ClassmarkInformation3.h
new file mode 100644
index 0000000..db377ff
--- /dev/null
+++ b/src/ranap/RANAP_ClassmarkInformation3.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_ClassmarkInformation3_H_
+#define _RANAP_ClassmarkInformation3_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_ClassmarkInformation3 */
+typedef OCTET_STRING_t RANAP_ClassmarkInformation3_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ClassmarkInformation3;
+asn_struct_free_f RANAP_ClassmarkInformation3_free;
+asn_struct_print_f RANAP_ClassmarkInformation3_print;
+asn_constr_check_f RANAP_ClassmarkInformation3_constraint;
+ber_type_decoder_f RANAP_ClassmarkInformation3_decode_ber;
+der_type_encoder_f RANAP_ClassmarkInformation3_encode_der;
+xer_type_decoder_f RANAP_ClassmarkInformation3_decode_xer;
+xer_type_encoder_f RANAP_ClassmarkInformation3_encode_xer;
+per_type_decoder_f RANAP_ClassmarkInformation3_decode_uper;
+per_type_encoder_f RANAP_ClassmarkInformation3_encode_uper;
+per_type_decoder_f RANAP_ClassmarkInformation3_decode_aper;
+per_type_encoder_f RANAP_ClassmarkInformation3_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ClassmarkInformation3_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ClientType.c b/src/ranap/RANAP_ClientType.c
new file mode 100644
index 0000000..0229654
--- /dev/null
+++ b/src/ranap/RANAP_ClientType.c
@@ -0,0 +1,179 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_ClientType.h"
+
+int
+RANAP_ClientType_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_ClientType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_ClientType_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_ClientType_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_ClientType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ClientType_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ClientType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_ClientType_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_ClientType_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ClientType_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ClientType_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_ClientType_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_ClientType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ClientType_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ClientType_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ClientType_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_ClientType_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ClientType_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_ClientType_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ClientType_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_ClientType_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ClientType_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_ClientType_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0l, 7l } /* (0..7,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_ClientType_value2enum_1[] = {
+ { 0, 18, "emergency-Services" },
+ { 1, 20, "value-Added-Services" },
+ { 2, 22, "pLMN-Operator-Services" },
+ { 3, 25, "lawful-Intercept-Services" },
+ { 4, 32, "pLMN-Operator-Broadcast-Services" },
+ { 5, 20, "pLMN-Operator-O-et-M" },
+ { 6, 34, "pLMN-Operator-Anonymous-Statistics" },
+ { 7, 39, "pLMN-Operator-Target-MS-Service-Support" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_ClientType_enum2value_1[] = {
+ 0, /* emergency-Services(0) */
+ 3, /* lawful-Intercept-Services(3) */
+ 6, /* pLMN-Operator-Anonymous-Statistics(6) */
+ 4, /* pLMN-Operator-Broadcast-Services(4) */
+ 5, /* pLMN-Operator-O-et-M(5) */
+ 2, /* pLMN-Operator-Services(2) */
+ 7, /* pLMN-Operator-Target-MS-Service-Support(7) */
+ 1 /* value-Added-Services(1) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_ClientType_specs_1 = {
+ asn_MAP_RANAP_ClientType_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_ClientType_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_RANAP_ClientType_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ClientType = {
+ "RANAP_ClientType",
+ "RANAP_ClientType",
+ RANAP_ClientType_free,
+ RANAP_ClientType_print,
+ RANAP_ClientType_constraint,
+ RANAP_ClientType_decode_ber,
+ RANAP_ClientType_encode_der,
+ RANAP_ClientType_decode_xer,
+ RANAP_ClientType_encode_xer,
+ RANAP_ClientType_decode_uper,
+ RANAP_ClientType_encode_uper,
+ RANAP_ClientType_decode_aper,
+ RANAP_ClientType_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ClientType_tags_1,
+ sizeof(asn_DEF_RANAP_ClientType_tags_1)
+ /sizeof(asn_DEF_RANAP_ClientType_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ClientType_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ClientType_tags_1)
+ /sizeof(asn_DEF_RANAP_ClientType_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_ClientType_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_ClientType_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_ClientType.h b/src/ranap/RANAP_ClientType.h
new file mode 100644
index 0000000..834cc0f
--- /dev/null
+++ b/src/ranap/RANAP_ClientType.h
@@ -0,0 +1,57 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_ClientType_H_
+#define _RANAP_ClientType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_ClientType {
+ RANAP_ClientType_emergency_Services = 0,
+ RANAP_ClientType_value_Added_Services = 1,
+ RANAP_ClientType_pLMN_Operator_Services = 2,
+ RANAP_ClientType_lawful_Intercept_Services = 3,
+ RANAP_ClientType_pLMN_Operator_Broadcast_Services = 4,
+ RANAP_ClientType_pLMN_Operator_O_et_M = 5,
+ RANAP_ClientType_pLMN_Operator_Anonymous_Statistics = 6,
+ RANAP_ClientType_pLMN_Operator_Target_MS_Service_Support = 7
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_ClientType;
+
+/* RANAP_ClientType */
+typedef long RANAP_ClientType_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ClientType;
+asn_struct_free_f RANAP_ClientType_free;
+asn_struct_print_f RANAP_ClientType_print;
+asn_constr_check_f RANAP_ClientType_constraint;
+ber_type_decoder_f RANAP_ClientType_decode_ber;
+der_type_encoder_f RANAP_ClientType_encode_der;
+xer_type_decoder_f RANAP_ClientType_decode_xer;
+xer_type_encoder_f RANAP_ClientType_encode_xer;
+per_type_decoder_f RANAP_ClientType_decode_uper;
+per_type_encoder_f RANAP_ClientType_encode_uper;
+per_type_decoder_f RANAP_ClientType_decode_aper;
+per_type_encoder_f RANAP_ClientType_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ClientType_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CommonID.c b/src/ranap/RANAP_CommonID.c
new file mode 100644
index 0000000..5507b9a
--- /dev/null
+++ b/src/ranap/RANAP_CommonID.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_CommonID.h"
+
+static int
+memb_commonID_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_commonID_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_commonID_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_commonID_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_commonID_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_commonID_ies_specs_2 = {
+ sizeof(struct commonID_ies),
+ offsetof(struct commonID_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_commonID_ies_2 = {
+ "commonID-ies",
+ "commonID-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_commonID_ies_tags_2,
+ sizeof(asn_DEF_commonID_ies_tags_2)
+ /sizeof(asn_DEF_commonID_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_commonID_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_commonID_ies_tags_2)
+ /sizeof(asn_DEF_commonID_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_commonID_ies_constr_2,
+ asn_MBR_commonID_ies_2,
+ 1, /* Single element */
+ &asn_SPC_commonID_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_CommonID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_CommonID, commonID_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_commonID_ies_2,
+ memb_commonID_ies_constraint_1,
+ &asn_PER_memb_commonID_ies_constr_2,
+ 0,
+ "commonID-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_CommonID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_CommonID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* commonID-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_CommonID_specs_1 = {
+ sizeof(struct RANAP_CommonID),
+ offsetof(struct RANAP_CommonID, _asn_ctx),
+ asn_MAP_RANAP_CommonID_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CommonID = {
+ "RANAP_CommonID",
+ "RANAP_CommonID",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CommonID_tags_1,
+ sizeof(asn_DEF_RANAP_CommonID_tags_1)
+ /sizeof(asn_DEF_RANAP_CommonID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CommonID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CommonID_tags_1)
+ /sizeof(asn_DEF_RANAP_CommonID_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_CommonID_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_CommonID_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_CommonID.h b/src/ranap/RANAP_CommonID.h
new file mode 100644
index 0000000..01c0116
--- /dev/null
+++ b/src/ranap/RANAP_CommonID.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_CommonID_H_
+#define _RANAP_CommonID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_CommonID */
+typedef struct RANAP_CommonID {
+ struct commonID_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } commonID_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_CommonID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CommonID;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CommonID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Correlation-ID.c b/src/ranap/RANAP_Correlation-ID.c
new file mode 100644
index 0000000..67fa503
--- /dev/null
+++ b/src/ranap/RANAP_Correlation-ID.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Correlation-ID.h"
+
+int
+RANAP_Correlation_ID_constraint(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 == 4l)) {
+ /* 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 void
+RANAP_Correlation_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_Correlation_ID_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Correlation_ID_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Correlation_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Correlation_ID_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Correlation_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Correlation_ID_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Correlation_ID_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Correlation_ID_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Correlation_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Correlation_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Correlation_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Correlation_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Correlation_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Correlation_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Correlation_ID_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Correlation_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Correlation_ID_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Correlation_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Correlation_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Correlation_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_Correlation_ID_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 4l, 4l } /* (SIZE(4..4)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Correlation_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Correlation_ID = {
+ "RANAP_Correlation-ID",
+ "RANAP_Correlation-ID",
+ RANAP_Correlation_ID_free,
+ RANAP_Correlation_ID_print,
+ RANAP_Correlation_ID_constraint,
+ RANAP_Correlation_ID_decode_ber,
+ RANAP_Correlation_ID_encode_der,
+ RANAP_Correlation_ID_decode_xer,
+ RANAP_Correlation_ID_encode_xer,
+ RANAP_Correlation_ID_decode_uper,
+ RANAP_Correlation_ID_encode_uper,
+ RANAP_Correlation_ID_decode_aper,
+ RANAP_Correlation_ID_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Correlation_ID_tags_1,
+ sizeof(asn_DEF_RANAP_Correlation_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_Correlation_ID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Correlation_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Correlation_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_Correlation_ID_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Correlation_ID_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_Correlation-ID.h b/src/ranap/RANAP_Correlation-ID.h
new file mode 100644
index 0000000..a47174a
--- /dev/null
+++ b/src/ranap/RANAP_Correlation-ID.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Correlation_ID_H_
+#define _RANAP_Correlation_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Correlation-ID */
+typedef OCTET_STRING_t RANAP_Correlation_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Correlation_ID;
+asn_struct_free_f RANAP_Correlation_ID_free;
+asn_struct_print_f RANAP_Correlation_ID_print;
+asn_constr_check_f RANAP_Correlation_ID_constraint;
+ber_type_decoder_f RANAP_Correlation_ID_decode_ber;
+der_type_encoder_f RANAP_Correlation_ID_encode_der;
+xer_type_decoder_f RANAP_Correlation_ID_decode_xer;
+xer_type_encoder_f RANAP_Correlation_ID_encode_xer;
+per_type_decoder_f RANAP_Correlation_ID_decode_uper;
+per_type_encoder_f RANAP_Correlation_ID_encode_uper;
+per_type_decoder_f RANAP_Correlation_ID_decode_aper;
+per_type_encoder_f RANAP_Correlation_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Correlation_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Criticality.c b/src/ranap/RANAP_Criticality.c
new file mode 100644
index 0000000..fec28f4
--- /dev/null
+++ b/src/ranap/RANAP_Criticality.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-CommonDataTypes"
+ * found in "../../asn1/ranap/RANAP-CommonDataTypes.asn"
+ */
+
+#include "RANAP_Criticality.h"
+
+int
+RANAP_Criticality_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_Criticality_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_Criticality_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Criticality_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Criticality_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Criticality_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Criticality_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Criticality_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Criticality_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Criticality_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Criticality_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Criticality_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Criticality_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Criticality_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Criticality_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Criticality_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Criticality_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Criticality_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Criticality_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Criticality_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Criticality_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Criticality_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_Criticality_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0l, 2l } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_Criticality_value2enum_1[] = {
+ { 0, 6, "reject" },
+ { 1, 6, "ignore" },
+ { 2, 6, "notify" }
+};
+static const unsigned int asn_MAP_RANAP_Criticality_enum2value_1[] = {
+ 1, /* ignore(1) */
+ 2, /* notify(2) */
+ 0 /* reject(0) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_Criticality_specs_1 = {
+ asn_MAP_RANAP_Criticality_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_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_RANAP_Criticality_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Criticality = {
+ "RANAP_Criticality",
+ "RANAP_Criticality",
+ RANAP_Criticality_free,
+ RANAP_Criticality_print,
+ RANAP_Criticality_constraint,
+ RANAP_Criticality_decode_ber,
+ RANAP_Criticality_encode_der,
+ RANAP_Criticality_decode_xer,
+ RANAP_Criticality_encode_xer,
+ RANAP_Criticality_decode_uper,
+ RANAP_Criticality_encode_uper,
+ RANAP_Criticality_decode_aper,
+ RANAP_Criticality_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Criticality_tags_1,
+ sizeof(asn_DEF_RANAP_Criticality_tags_1)
+ /sizeof(asn_DEF_RANAP_Criticality_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Criticality_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Criticality_tags_1)
+ /sizeof(asn_DEF_RANAP_Criticality_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Criticality_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_Criticality_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Criticality.h b/src/ranap/RANAP_Criticality.h
new file mode 100644
index 0000000..192cd8a
--- /dev/null
+++ b/src/ranap/RANAP_Criticality.h
@@ -0,0 +1,49 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-CommonDataTypes"
+ * found in "../../asn1/ranap/RANAP-CommonDataTypes.asn"
+ */
+
+#ifndef _RANAP_Criticality_H_
+#define _RANAP_Criticality_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_Criticality {
+ RANAP_Criticality_reject = 0,
+ RANAP_Criticality_ignore = 1,
+ RANAP_Criticality_notify = 2
+} e_RANAP_Criticality;
+
+/* RANAP_Criticality */
+typedef long RANAP_Criticality_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Criticality;
+asn_struct_free_f RANAP_Criticality_free;
+asn_struct_print_f RANAP_Criticality_print;
+asn_constr_check_f RANAP_Criticality_constraint;
+ber_type_decoder_f RANAP_Criticality_decode_ber;
+der_type_encoder_f RANAP_Criticality_encode_der;
+xer_type_decoder_f RANAP_Criticality_decode_xer;
+xer_type_encoder_f RANAP_Criticality_encode_xer;
+per_type_decoder_f RANAP_Criticality_decode_uper;
+per_type_encoder_f RANAP_Criticality_encode_uper;
+per_type_decoder_f RANAP_Criticality_decode_aper;
+per_type_encoder_f RANAP_Criticality_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Criticality_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CriticalityDiagnostics-IE-List.c b/src/ranap/RANAP_CriticalityDiagnostics-IE-List.c
new file mode 100644
index 0000000..4574a99
--- /dev/null
+++ b/src/ranap/RANAP_CriticalityDiagnostics-IE-List.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_CriticalityDiagnostics-IE-List.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_CriticalityDiagnostics_IE_List_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 8, 8, 1l, 256l } /* (SIZE(1..256)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_Member_2[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct Member, iECriticality),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Criticality,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iECriticality"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct Member, iE_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_ProtocolIE_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-ID"
+ },
+ { ATF_POINTER, 2, offsetof(struct Member, repetitionNumber),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RepetitionNumber0,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "repetitionNumber"
+ },
+ { ATF_POINTER, 1, offsetof(struct Member, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "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 }, /* iECriticality */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* iE-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* repetitionNumber */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
+ sizeof(struct Member),
+ offsetof(struct 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 */
+ 3, /* Start extensions */
+ 5 /* Stop extensions */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_Member_2 = {
+ "SEQUENCE",
+ "SEQUENCE",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ 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, /* No PER visible constraints */
+ asn_MBR_Member_2,
+ 4, /* Elements count */
+ &asn_SPC_Member_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_CriticalityDiagnostics_IE_List_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_Member_2,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_CriticalityDiagnostics_IE_List_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_CriticalityDiagnostics_IE_List_specs_1 = {
+ sizeof(struct RANAP_CriticalityDiagnostics_IE_List),
+ offsetof(struct RANAP_CriticalityDiagnostics_IE_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CriticalityDiagnostics_IE_List = {
+ "RANAP_CriticalityDiagnostics-IE-List",
+ "RANAP_CriticalityDiagnostics-IE-List",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CriticalityDiagnostics_IE_List_tags_1,
+ sizeof(asn_DEF_RANAP_CriticalityDiagnostics_IE_List_tags_1)
+ /sizeof(asn_DEF_RANAP_CriticalityDiagnostics_IE_List_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CriticalityDiagnostics_IE_List_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CriticalityDiagnostics_IE_List_tags_1)
+ /sizeof(asn_DEF_RANAP_CriticalityDiagnostics_IE_List_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_CriticalityDiagnostics_IE_List_constr_1,
+ asn_MBR_RANAP_CriticalityDiagnostics_IE_List_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_CriticalityDiagnostics_IE_List_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_CriticalityDiagnostics-IE-List.h b/src/ranap/RANAP_CriticalityDiagnostics-IE-List.h
new file mode 100644
index 0000000..cba5bbd
--- /dev/null
+++ b/src/ranap/RANAP_CriticalityDiagnostics-IE-List.h
@@ -0,0 +1,54 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_CriticalityDiagnostics_IE_List_H_
+#define _RANAP_CriticalityDiagnostics_IE_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include "RANAP_Criticality.h"
+#include "RANAP_ProtocolIE-ID.h"
+#include "RANAP_RepetitionNumber0.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_CriticalityDiagnostics-IE-List */
+typedef struct RANAP_CriticalityDiagnostics_IE_List {
+ A_SEQUENCE_OF(struct Member {
+ RANAP_Criticality_t iECriticality;
+ RANAP_ProtocolIE_ID_t iE_ID;
+ RANAP_RepetitionNumber0_t *repetitionNumber /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } ) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_CriticalityDiagnostics_IE_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CriticalityDiagnostics_IE_List;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CriticalityDiagnostics_IE_List_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_CriticalityDiagnostics.c b/src/ranap/RANAP_CriticalityDiagnostics.c
new file mode 100644
index 0000000..5004af6
--- /dev/null
+++ b/src/ranap/RANAP_CriticalityDiagnostics.c
@@ -0,0 +1,103 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_CriticalityDiagnostics.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_CriticalityDiagnostics_1[] = {
+ { ATF_POINTER, 5, offsetof(struct RANAP_CriticalityDiagnostics, procedureCode),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_ProcedureCode,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "procedureCode"
+ },
+ { ATF_POINTER, 4, offsetof(struct RANAP_CriticalityDiagnostics, triggeringMessage),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TriggeringMessage,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "triggeringMessage"
+ },
+ { ATF_POINTER, 3, offsetof(struct RANAP_CriticalityDiagnostics, procedureCriticality),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Criticality,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "procedureCriticality"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_CriticalityDiagnostics, iEsCriticalityDiagnostics),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_CriticalityDiagnostics_IE_List,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iEsCriticalityDiagnostics"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_CriticalityDiagnostics, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_CriticalityDiagnostics_oms_1[] = { 0, 1, 2, 3, 4 };
+static const ber_tlv_tag_t asn_DEF_RANAP_CriticalityDiagnostics_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_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_RANAP_CriticalityDiagnostics_specs_1 = {
+ sizeof(struct RANAP_CriticalityDiagnostics),
+ offsetof(struct RANAP_CriticalityDiagnostics, _asn_ctx),
+ asn_MAP_RANAP_CriticalityDiagnostics_tag2el_1,
+ 5, /* Count of tags in the map */
+ asn_MAP_RANAP_CriticalityDiagnostics_oms_1, /* Optional members */
+ 5, 0, /* Root/Additions */
+ 4, /* Start extensions */
+ 6 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_CriticalityDiagnostics = {
+ "RANAP_CriticalityDiagnostics",
+ "RANAP_CriticalityDiagnostics",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_CriticalityDiagnostics_tags_1,
+ sizeof(asn_DEF_RANAP_CriticalityDiagnostics_tags_1)
+ /sizeof(asn_DEF_RANAP_CriticalityDiagnostics_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_CriticalityDiagnostics_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_CriticalityDiagnostics_tags_1)
+ /sizeof(asn_DEF_RANAP_CriticalityDiagnostics_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_CriticalityDiagnostics_1,
+ 5, /* Elements count */
+ &asn_SPC_RANAP_CriticalityDiagnostics_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_CriticalityDiagnostics.h b/src/ranap/RANAP_CriticalityDiagnostics.h
new file mode 100644
index 0000000..0577204
--- /dev/null
+++ b/src/ranap/RANAP_CriticalityDiagnostics.h
@@ -0,0 +1,49 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_CriticalityDiagnostics_H_
+#define _RANAP_CriticalityDiagnostics_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_ProcedureCode.h"
+#include "RANAP_TriggeringMessage.h"
+#include "RANAP_Criticality.h"
+#include "RANAP_CriticalityDiagnostics-IE-List.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_CriticalityDiagnostics */
+typedef struct RANAP_CriticalityDiagnostics {
+ RANAP_ProcedureCode_t *procedureCode /* OPTIONAL */;
+ RANAP_TriggeringMessage_t *triggeringMessage /* OPTIONAL */;
+ RANAP_Criticality_t *procedureCriticality /* OPTIONAL */;
+ RANAP_CriticalityDiagnostics_IE_List_t *iEsCriticalityDiagnostics /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_CriticalityDiagnostics_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_CriticalityDiagnostics;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_CriticalityDiagnostics_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_D-RNTI.c b/src/ranap/RANAP_D-RNTI.c
new file mode 100644
index 0000000..2fa4ab2
--- /dev/null
+++ b/src/ranap/RANAP_D-RNTI.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_D-RNTI.h"
+
+int
+RANAP_D_RNTI_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 1048575l)) {
+ /* 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 void
+RANAP_D_RNTI_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_D_RNTI_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_D_RNTI_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_D_RNTI_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_D_RNTI_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_D_RNTI_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_D_RNTI_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_D_RNTI_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_D_RNTI_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_D_RNTI_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_D_RNTI_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_D_RNTI_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_D_RNTI_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_D_RNTI_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_D_RNTI_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_D_RNTI_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_D_RNTI_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_D_RNTI_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_D_RNTI_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_D_RNTI_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_D_RNTI_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_D_RNTI_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 20, -1, 0l, 1048575l } /* (0..1048575) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_D_RNTI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_D_RNTI = {
+ "RANAP_D-RNTI",
+ "RANAP_D-RNTI",
+ RANAP_D_RNTI_free,
+ RANAP_D_RNTI_print,
+ RANAP_D_RNTI_constraint,
+ RANAP_D_RNTI_decode_ber,
+ RANAP_D_RNTI_encode_der,
+ RANAP_D_RNTI_decode_xer,
+ RANAP_D_RNTI_encode_xer,
+ RANAP_D_RNTI_decode_uper,
+ RANAP_D_RNTI_encode_uper,
+ RANAP_D_RNTI_decode_aper,
+ RANAP_D_RNTI_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_D_RNTI_tags_1,
+ sizeof(asn_DEF_RANAP_D_RNTI_tags_1)
+ /sizeof(asn_DEF_RANAP_D_RNTI_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_D_RNTI_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_D_RNTI_tags_1)
+ /sizeof(asn_DEF_RANAP_D_RNTI_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_D_RNTI_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_D-RNTI.h b/src/ranap/RANAP_D-RNTI.h
new file mode 100644
index 0000000..4ede3e4
--- /dev/null
+++ b/src/ranap/RANAP_D-RNTI.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_D_RNTI_H_
+#define _RANAP_D_RNTI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_D-RNTI */
+typedef long RANAP_D_RNTI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_D_RNTI;
+asn_struct_free_f RANAP_D_RNTI_free;
+asn_struct_print_f RANAP_D_RNTI_print;
+asn_constr_check_f RANAP_D_RNTI_constraint;
+ber_type_decoder_f RANAP_D_RNTI_decode_ber;
+der_type_encoder_f RANAP_D_RNTI_encode_der;
+xer_type_decoder_f RANAP_D_RNTI_decode_xer;
+xer_type_encoder_f RANAP_D_RNTI_encode_xer;
+per_type_decoder_f RANAP_D_RNTI_decode_uper;
+per_type_encoder_f RANAP_D_RNTI_encode_uper;
+per_type_decoder_f RANAP_D_RNTI_decode_aper;
+per_type_encoder_f RANAP_D_RNTI_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_D_RNTI_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_DCH-ID.c b/src/ranap/RANAP_DCH-ID.c
new file mode 100644
index 0000000..a4aa1d8
--- /dev/null
+++ b/src/ranap/RANAP_DCH-ID.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_DCH-ID.h"
+
+int
+RANAP_DCH_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 255l)) {
+ /* 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 void
+RANAP_DCH_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_DCH_ID_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_DCH_ID_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_DCH_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DCH_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_DCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_DCH_ID_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DCH_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_DCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_DCH_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DCH_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_DCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_DCH_ID_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_DCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_DCH_ID_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_DCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_DCH_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_DCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_DCH_ID_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 8, 8, 0l, 255l } /* (0..255) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_DCH_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_DCH_ID = {
+ "RANAP_DCH-ID",
+ "RANAP_DCH-ID",
+ RANAP_DCH_ID_free,
+ RANAP_DCH_ID_print,
+ RANAP_DCH_ID_constraint,
+ RANAP_DCH_ID_decode_ber,
+ RANAP_DCH_ID_encode_der,
+ RANAP_DCH_ID_decode_xer,
+ RANAP_DCH_ID_encode_xer,
+ RANAP_DCH_ID_decode_uper,
+ RANAP_DCH_ID_encode_uper,
+ RANAP_DCH_ID_decode_aper,
+ RANAP_DCH_ID_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_DCH_ID_tags_1,
+ sizeof(asn_DEF_RANAP_DCH_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_DCH_ID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_DCH_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_DCH_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_DCH_ID_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_DCH_ID_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_DCH-ID.h b/src/ranap/RANAP_DCH-ID.h
new file mode 100644
index 0000000..756fd5d
--- /dev/null
+++ b/src/ranap/RANAP_DCH-ID.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_DCH_ID_H_
+#define _RANAP_DCH_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_DCH-ID */
+typedef long RANAP_DCH_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_DCH_ID;
+asn_struct_free_f RANAP_DCH_ID_free;
+asn_struct_print_f RANAP_DCH_ID_print;
+asn_constr_check_f RANAP_DCH_ID_constraint;
+ber_type_decoder_f RANAP_DCH_ID_decode_ber;
+der_type_encoder_f RANAP_DCH_ID_encode_der;
+xer_type_decoder_f RANAP_DCH_ID_decode_xer;
+xer_type_encoder_f RANAP_DCH_ID_encode_xer;
+per_type_decoder_f RANAP_DCH_ID_decode_uper;
+per_type_encoder_f RANAP_DCH_ID_encode_uper;
+per_type_decoder_f RANAP_DCH_ID_decode_aper;
+per_type_encoder_f RANAP_DCH_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_DCH_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_DL-GTP-PDU-SequenceNumber.c b/src/ranap/RANAP_DL-GTP-PDU-SequenceNumber.c
new file mode 100644
index 0000000..7321c32
--- /dev/null
+++ b/src/ranap/RANAP_DL-GTP-PDU-SequenceNumber.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_DL-GTP-PDU-SequenceNumber.h"
+
+int
+RANAP_DL_GTP_PDU_SequenceNumber_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 65535l)) {
+ /* 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 void
+RANAP_DL_GTP_PDU_SequenceNumber_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_DL_GTP_PDU_SequenceNumber_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_DL_GTP_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_DL_GTP_PDU_SequenceNumber_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DL_GTP_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DL_GTP_PDU_SequenceNumber_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_DL_GTP_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_DL_GTP_PDU_SequenceNumber_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DL_GTP_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DL_GTP_PDU_SequenceNumber_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_DL_GTP_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_DL_GTP_PDU_SequenceNumber_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DL_GTP_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DL_GTP_PDU_SequenceNumber_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_DL_GTP_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_DL_GTP_PDU_SequenceNumber_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_DL_GTP_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_DL_GTP_PDU_SequenceNumber_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_DL_GTP_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_DL_GTP_PDU_SequenceNumber_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_DL_GTP_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_DL_GTP_PDU_SequenceNumber_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_DL_GTP_PDU_SequenceNumber_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_DL_GTP_PDU_SequenceNumber = {
+ "RANAP_DL-GTP-PDU-SequenceNumber",
+ "RANAP_DL-GTP-PDU-SequenceNumber",
+ RANAP_DL_GTP_PDU_SequenceNumber_free,
+ RANAP_DL_GTP_PDU_SequenceNumber_print,
+ RANAP_DL_GTP_PDU_SequenceNumber_constraint,
+ RANAP_DL_GTP_PDU_SequenceNumber_decode_ber,
+ RANAP_DL_GTP_PDU_SequenceNumber_encode_der,
+ RANAP_DL_GTP_PDU_SequenceNumber_decode_xer,
+ RANAP_DL_GTP_PDU_SequenceNumber_encode_xer,
+ RANAP_DL_GTP_PDU_SequenceNumber_decode_uper,
+ RANAP_DL_GTP_PDU_SequenceNumber_encode_uper,
+ RANAP_DL_GTP_PDU_SequenceNumber_decode_aper,
+ RANAP_DL_GTP_PDU_SequenceNumber_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_DL_GTP_PDU_SequenceNumber_tags_1,
+ sizeof(asn_DEF_RANAP_DL_GTP_PDU_SequenceNumber_tags_1)
+ /sizeof(asn_DEF_RANAP_DL_GTP_PDU_SequenceNumber_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_DL_GTP_PDU_SequenceNumber_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_DL_GTP_PDU_SequenceNumber_tags_1)
+ /sizeof(asn_DEF_RANAP_DL_GTP_PDU_SequenceNumber_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_DL_GTP_PDU_SequenceNumber_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_DL-GTP-PDU-SequenceNumber.h b/src/ranap/RANAP_DL-GTP-PDU-SequenceNumber.h
new file mode 100644
index 0000000..94b1ad1
--- /dev/null
+++ b/src/ranap/RANAP_DL-GTP-PDU-SequenceNumber.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_DL_GTP_PDU_SequenceNumber_H_
+#define _RANAP_DL_GTP_PDU_SequenceNumber_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_DL-GTP-PDU-SequenceNumber */
+typedef long RANAP_DL_GTP_PDU_SequenceNumber_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_DL_GTP_PDU_SequenceNumber;
+asn_struct_free_f RANAP_DL_GTP_PDU_SequenceNumber_free;
+asn_struct_print_f RANAP_DL_GTP_PDU_SequenceNumber_print;
+asn_constr_check_f RANAP_DL_GTP_PDU_SequenceNumber_constraint;
+ber_type_decoder_f RANAP_DL_GTP_PDU_SequenceNumber_decode_ber;
+der_type_encoder_f RANAP_DL_GTP_PDU_SequenceNumber_encode_der;
+xer_type_decoder_f RANAP_DL_GTP_PDU_SequenceNumber_decode_xer;
+xer_type_encoder_f RANAP_DL_GTP_PDU_SequenceNumber_encode_xer;
+per_type_decoder_f RANAP_DL_GTP_PDU_SequenceNumber_decode_uper;
+per_type_encoder_f RANAP_DL_GTP_PDU_SequenceNumber_encode_uper;
+per_type_decoder_f RANAP_DL_GTP_PDU_SequenceNumber_decode_aper;
+per_type_encoder_f RANAP_DL_GTP_PDU_SequenceNumber_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_DL_GTP_PDU_SequenceNumber_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_DL-N-PDU-SequenceNumber.c b/src/ranap/RANAP_DL-N-PDU-SequenceNumber.c
new file mode 100644
index 0000000..68bf7c5
--- /dev/null
+++ b/src/ranap/RANAP_DL-N-PDU-SequenceNumber.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_DL-N-PDU-SequenceNumber.h"
+
+int
+RANAP_DL_N_PDU_SequenceNumber_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 65535l)) {
+ /* 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 void
+RANAP_DL_N_PDU_SequenceNumber_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_DL_N_PDU_SequenceNumber_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_DL_N_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_DL_N_PDU_SequenceNumber_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DL_N_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DL_N_PDU_SequenceNumber_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_DL_N_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_DL_N_PDU_SequenceNumber_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DL_N_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DL_N_PDU_SequenceNumber_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_DL_N_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_DL_N_PDU_SequenceNumber_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DL_N_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DL_N_PDU_SequenceNumber_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_DL_N_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_DL_N_PDU_SequenceNumber_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_DL_N_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_DL_N_PDU_SequenceNumber_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_DL_N_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_DL_N_PDU_SequenceNumber_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_DL_N_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_DL_N_PDU_SequenceNumber_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_DL_N_PDU_SequenceNumber_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_DL_N_PDU_SequenceNumber = {
+ "RANAP_DL-N-PDU-SequenceNumber",
+ "RANAP_DL-N-PDU-SequenceNumber",
+ RANAP_DL_N_PDU_SequenceNumber_free,
+ RANAP_DL_N_PDU_SequenceNumber_print,
+ RANAP_DL_N_PDU_SequenceNumber_constraint,
+ RANAP_DL_N_PDU_SequenceNumber_decode_ber,
+ RANAP_DL_N_PDU_SequenceNumber_encode_der,
+ RANAP_DL_N_PDU_SequenceNumber_decode_xer,
+ RANAP_DL_N_PDU_SequenceNumber_encode_xer,
+ RANAP_DL_N_PDU_SequenceNumber_decode_uper,
+ RANAP_DL_N_PDU_SequenceNumber_encode_uper,
+ RANAP_DL_N_PDU_SequenceNumber_decode_aper,
+ RANAP_DL_N_PDU_SequenceNumber_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_DL_N_PDU_SequenceNumber_tags_1,
+ sizeof(asn_DEF_RANAP_DL_N_PDU_SequenceNumber_tags_1)
+ /sizeof(asn_DEF_RANAP_DL_N_PDU_SequenceNumber_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_DL_N_PDU_SequenceNumber_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_DL_N_PDU_SequenceNumber_tags_1)
+ /sizeof(asn_DEF_RANAP_DL_N_PDU_SequenceNumber_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_DL_N_PDU_SequenceNumber_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_DL-N-PDU-SequenceNumber.h b/src/ranap/RANAP_DL-N-PDU-SequenceNumber.h
new file mode 100644
index 0000000..1b4d062
--- /dev/null
+++ b/src/ranap/RANAP_DL-N-PDU-SequenceNumber.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_DL_N_PDU_SequenceNumber_H_
+#define _RANAP_DL_N_PDU_SequenceNumber_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_DL-N-PDU-SequenceNumber */
+typedef long RANAP_DL_N_PDU_SequenceNumber_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_DL_N_PDU_SequenceNumber;
+asn_struct_free_f RANAP_DL_N_PDU_SequenceNumber_free;
+asn_struct_print_f RANAP_DL_N_PDU_SequenceNumber_print;
+asn_constr_check_f RANAP_DL_N_PDU_SequenceNumber_constraint;
+ber_type_decoder_f RANAP_DL_N_PDU_SequenceNumber_decode_ber;
+der_type_encoder_f RANAP_DL_N_PDU_SequenceNumber_encode_der;
+xer_type_decoder_f RANAP_DL_N_PDU_SequenceNumber_decode_xer;
+xer_type_encoder_f RANAP_DL_N_PDU_SequenceNumber_encode_xer;
+per_type_decoder_f RANAP_DL_N_PDU_SequenceNumber_decode_uper;
+per_type_encoder_f RANAP_DL_N_PDU_SequenceNumber_encode_uper;
+per_type_decoder_f RANAP_DL_N_PDU_SequenceNumber_decode_aper;
+per_type_encoder_f RANAP_DL_N_PDU_SequenceNumber_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_DL_N_PDU_SequenceNumber_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_DRX-CycleLengthCoefficient.c b/src/ranap/RANAP_DRX-CycleLengthCoefficient.c
new file mode 100644
index 0000000..031e163
--- /dev/null
+++ b/src/ranap/RANAP_DRX-CycleLengthCoefficient.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_DRX-CycleLengthCoefficient.h"
+
+int
+RANAP_DRX_CycleLengthCoefficient_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 6l && value <= 9l)) {
+ /* 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 void
+RANAP_DRX_CycleLengthCoefficient_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_DRX_CycleLengthCoefficient_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_DRX_CycleLengthCoefficient_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_DRX_CycleLengthCoefficient_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DRX_CycleLengthCoefficient_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DRX_CycleLengthCoefficient_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_DRX_CycleLengthCoefficient_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_DRX_CycleLengthCoefficient_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DRX_CycleLengthCoefficient_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DRX_CycleLengthCoefficient_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_DRX_CycleLengthCoefficient_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_DRX_CycleLengthCoefficient_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DRX_CycleLengthCoefficient_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DRX_CycleLengthCoefficient_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_DRX_CycleLengthCoefficient_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_DRX_CycleLengthCoefficient_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_DRX_CycleLengthCoefficient_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_DRX_CycleLengthCoefficient_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_DRX_CycleLengthCoefficient_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_DRX_CycleLengthCoefficient_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_DRX_CycleLengthCoefficient_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_DRX_CycleLengthCoefficient_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 6l, 9l } /* (6..9) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_DRX_CycleLengthCoefficient_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_DRX_CycleLengthCoefficient = {
+ "RANAP_DRX-CycleLengthCoefficient",
+ "RANAP_DRX-CycleLengthCoefficient",
+ RANAP_DRX_CycleLengthCoefficient_free,
+ RANAP_DRX_CycleLengthCoefficient_print,
+ RANAP_DRX_CycleLengthCoefficient_constraint,
+ RANAP_DRX_CycleLengthCoefficient_decode_ber,
+ RANAP_DRX_CycleLengthCoefficient_encode_der,
+ RANAP_DRX_CycleLengthCoefficient_decode_xer,
+ RANAP_DRX_CycleLengthCoefficient_encode_xer,
+ RANAP_DRX_CycleLengthCoefficient_decode_uper,
+ RANAP_DRX_CycleLengthCoefficient_encode_uper,
+ RANAP_DRX_CycleLengthCoefficient_decode_aper,
+ RANAP_DRX_CycleLengthCoefficient_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_DRX_CycleLengthCoefficient_tags_1,
+ sizeof(asn_DEF_RANAP_DRX_CycleLengthCoefficient_tags_1)
+ /sizeof(asn_DEF_RANAP_DRX_CycleLengthCoefficient_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_DRX_CycleLengthCoefficient_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_DRX_CycleLengthCoefficient_tags_1)
+ /sizeof(asn_DEF_RANAP_DRX_CycleLengthCoefficient_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_DRX_CycleLengthCoefficient_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_DRX-CycleLengthCoefficient.h b/src/ranap/RANAP_DRX-CycleLengthCoefficient.h
new file mode 100644
index 0000000..f1af3ed
--- /dev/null
+++ b/src/ranap/RANAP_DRX-CycleLengthCoefficient.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_DRX_CycleLengthCoefficient_H_
+#define _RANAP_DRX_CycleLengthCoefficient_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_DRX-CycleLengthCoefficient */
+typedef long RANAP_DRX_CycleLengthCoefficient_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_DRX_CycleLengthCoefficient;
+asn_struct_free_f RANAP_DRX_CycleLengthCoefficient_free;
+asn_struct_print_f RANAP_DRX_CycleLengthCoefficient_print;
+asn_constr_check_f RANAP_DRX_CycleLengthCoefficient_constraint;
+ber_type_decoder_f RANAP_DRX_CycleLengthCoefficient_decode_ber;
+der_type_encoder_f RANAP_DRX_CycleLengthCoefficient_encode_der;
+xer_type_decoder_f RANAP_DRX_CycleLengthCoefficient_decode_xer;
+xer_type_encoder_f RANAP_DRX_CycleLengthCoefficient_encode_xer;
+per_type_decoder_f RANAP_DRX_CycleLengthCoefficient_decode_uper;
+per_type_encoder_f RANAP_DRX_CycleLengthCoefficient_encode_uper;
+per_type_decoder_f RANAP_DRX_CycleLengthCoefficient_decode_aper;
+per_type_encoder_f RANAP_DRX_CycleLengthCoefficient_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_DRX_CycleLengthCoefficient_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_DSCH-ID.c b/src/ranap/RANAP_DSCH-ID.c
new file mode 100644
index 0000000..23996d5
--- /dev/null
+++ b/src/ranap/RANAP_DSCH-ID.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_DSCH-ID.h"
+
+int
+RANAP_DSCH_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 255l)) {
+ /* 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 void
+RANAP_DSCH_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_DSCH_ID_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_DSCH_ID_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_DSCH_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DSCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DSCH_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_DSCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_DSCH_ID_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DSCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DSCH_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_DSCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_DSCH_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DSCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DSCH_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_DSCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_DSCH_ID_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_DSCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_DSCH_ID_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_DSCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_DSCH_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_DSCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_DSCH_ID_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 8, 8, 0l, 255l } /* (0..255) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_DSCH_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_DSCH_ID = {
+ "RANAP_DSCH-ID",
+ "RANAP_DSCH-ID",
+ RANAP_DSCH_ID_free,
+ RANAP_DSCH_ID_print,
+ RANAP_DSCH_ID_constraint,
+ RANAP_DSCH_ID_decode_ber,
+ RANAP_DSCH_ID_encode_der,
+ RANAP_DSCH_ID_decode_xer,
+ RANAP_DSCH_ID_encode_xer,
+ RANAP_DSCH_ID_decode_uper,
+ RANAP_DSCH_ID_encode_uper,
+ RANAP_DSCH_ID_decode_aper,
+ RANAP_DSCH_ID_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_DSCH_ID_tags_1,
+ sizeof(asn_DEF_RANAP_DSCH_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_DSCH_ID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_DSCH_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_DSCH_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_DSCH_ID_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_DSCH_ID_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_DSCH-ID.h b/src/ranap/RANAP_DSCH-ID.h
new file mode 100644
index 0000000..54e678b
--- /dev/null
+++ b/src/ranap/RANAP_DSCH-ID.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_DSCH_ID_H_
+#define _RANAP_DSCH_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_DSCH-ID */
+typedef long RANAP_DSCH_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_DSCH_ID;
+asn_struct_free_f RANAP_DSCH_ID_free;
+asn_struct_print_f RANAP_DSCH_ID_print;
+asn_constr_check_f RANAP_DSCH_ID_constraint;
+ber_type_decoder_f RANAP_DSCH_ID_decode_ber;
+der_type_encoder_f RANAP_DSCH_ID_encode_der;
+xer_type_decoder_f RANAP_DSCH_ID_decode_xer;
+xer_type_encoder_f RANAP_DSCH_ID_encode_xer;
+per_type_decoder_f RANAP_DSCH_ID_decode_uper;
+per_type_encoder_f RANAP_DSCH_ID_encode_uper;
+per_type_decoder_f RANAP_DSCH_ID_decode_aper;
+per_type_encoder_f RANAP_DSCH_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_DSCH_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_DataPDUType.c b/src/ranap/RANAP_DataPDUType.c
new file mode 100644
index 0000000..d960a4d
--- /dev/null
+++ b/src/ranap/RANAP_DataPDUType.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_DataPDUType.h"
+
+int
+RANAP_DataPDUType_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_DataPDUType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_DataPDUType_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_DataPDUType_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_DataPDUType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DataPDUType_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DataPDUType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_DataPDUType_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_DataPDUType_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DataPDUType_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DataPDUType_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_DataPDUType_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_DataPDUType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DataPDUType_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DataPDUType_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_DataPDUType_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_DataPDUType_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_DataPDUType_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_DataPDUType_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_DataPDUType_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_DataPDUType_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_DataPDUType_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_DataPDUType_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_DataPDUType_value2enum_1[] = {
+ { 0, 8, "pDUtype0" },
+ { 1, 8, "pDUtype1" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_DataPDUType_enum2value_1[] = {
+ 0, /* pDUtype0(0) */
+ 1 /* pDUtype1(1) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_DataPDUType_specs_1 = {
+ asn_MAP_RANAP_DataPDUType_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_DataPDUType_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_RANAP_DataPDUType_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_DataPDUType = {
+ "RANAP_DataPDUType",
+ "RANAP_DataPDUType",
+ RANAP_DataPDUType_free,
+ RANAP_DataPDUType_print,
+ RANAP_DataPDUType_constraint,
+ RANAP_DataPDUType_decode_ber,
+ RANAP_DataPDUType_encode_der,
+ RANAP_DataPDUType_decode_xer,
+ RANAP_DataPDUType_encode_xer,
+ RANAP_DataPDUType_decode_uper,
+ RANAP_DataPDUType_encode_uper,
+ RANAP_DataPDUType_decode_aper,
+ RANAP_DataPDUType_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_DataPDUType_tags_1,
+ sizeof(asn_DEF_RANAP_DataPDUType_tags_1)
+ /sizeof(asn_DEF_RANAP_DataPDUType_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_DataPDUType_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_DataPDUType_tags_1)
+ /sizeof(asn_DEF_RANAP_DataPDUType_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_DataPDUType_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_DataPDUType_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_DataPDUType.h b/src/ranap/RANAP_DataPDUType.h
new file mode 100644
index 0000000..f732d62
--- /dev/null
+++ b/src/ranap/RANAP_DataPDUType.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_DataPDUType_H_
+#define _RANAP_DataPDUType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_DataPDUType {
+ RANAP_DataPDUType_pDUtype0 = 0,
+ RANAP_DataPDUType_pDUtype1 = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_DataPDUType;
+
+/* RANAP_DataPDUType */
+typedef long RANAP_DataPDUType_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_DataPDUType;
+asn_struct_free_f RANAP_DataPDUType_free;
+asn_struct_print_f RANAP_DataPDUType_print;
+asn_constr_check_f RANAP_DataPDUType_constraint;
+ber_type_decoder_f RANAP_DataPDUType_decode_ber;
+der_type_encoder_f RANAP_DataPDUType_encode_der;
+xer_type_decoder_f RANAP_DataPDUType_decode_xer;
+xer_type_encoder_f RANAP_DataPDUType_encode_xer;
+per_type_decoder_f RANAP_DataPDUType_decode_uper;
+per_type_encoder_f RANAP_DataPDUType_encode_uper;
+per_type_decoder_f RANAP_DataPDUType_decode_aper;
+per_type_encoder_f RANAP_DataPDUType_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_DataPDUType_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_DataVolumeReference.c b/src/ranap/RANAP_DataVolumeReference.c
new file mode 100644
index 0000000..dc8daa9
--- /dev/null
+++ b/src/ranap/RANAP_DataVolumeReference.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_DataVolumeReference.h"
+
+int
+RANAP_DataVolumeReference_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 255l)) {
+ /* 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 void
+RANAP_DataVolumeReference_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_DataVolumeReference_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_DataVolumeReference_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_DataVolumeReference_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DataVolumeReference_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DataVolumeReference_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_DataVolumeReference_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_DataVolumeReference_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DataVolumeReference_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DataVolumeReference_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_DataVolumeReference_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_DataVolumeReference_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DataVolumeReference_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DataVolumeReference_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_DataVolumeReference_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_DataVolumeReference_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_DataVolumeReference_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_DataVolumeReference_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_DataVolumeReference_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_DataVolumeReference_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_DataVolumeReference_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_DataVolumeReference_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 8, 8, 0l, 255l } /* (0..255) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_DataVolumeReference_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_DataVolumeReference = {
+ "RANAP_DataVolumeReference",
+ "RANAP_DataVolumeReference",
+ RANAP_DataVolumeReference_free,
+ RANAP_DataVolumeReference_print,
+ RANAP_DataVolumeReference_constraint,
+ RANAP_DataVolumeReference_decode_ber,
+ RANAP_DataVolumeReference_encode_der,
+ RANAP_DataVolumeReference_decode_xer,
+ RANAP_DataVolumeReference_encode_xer,
+ RANAP_DataVolumeReference_decode_uper,
+ RANAP_DataVolumeReference_encode_uper,
+ RANAP_DataVolumeReference_decode_aper,
+ RANAP_DataVolumeReference_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_DataVolumeReference_tags_1,
+ sizeof(asn_DEF_RANAP_DataVolumeReference_tags_1)
+ /sizeof(asn_DEF_RANAP_DataVolumeReference_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_DataVolumeReference_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_DataVolumeReference_tags_1)
+ /sizeof(asn_DEF_RANAP_DataVolumeReference_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_DataVolumeReference_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_DataVolumeReference.h b/src/ranap/RANAP_DataVolumeReference.h
new file mode 100644
index 0000000..693de2b
--- /dev/null
+++ b/src/ranap/RANAP_DataVolumeReference.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_DataVolumeReference_H_
+#define _RANAP_DataVolumeReference_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_DataVolumeReference */
+typedef long RANAP_DataVolumeReference_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_DataVolumeReference;
+asn_struct_free_f RANAP_DataVolumeReference_free;
+asn_struct_print_f RANAP_DataVolumeReference_print;
+asn_constr_check_f RANAP_DataVolumeReference_constraint;
+ber_type_decoder_f RANAP_DataVolumeReference_decode_ber;
+der_type_encoder_f RANAP_DataVolumeReference_encode_der;
+xer_type_decoder_f RANAP_DataVolumeReference_decode_xer;
+xer_type_encoder_f RANAP_DataVolumeReference_encode_xer;
+per_type_decoder_f RANAP_DataVolumeReference_decode_uper;
+per_type_encoder_f RANAP_DataVolumeReference_encode_uper;
+per_type_decoder_f RANAP_DataVolumeReference_decode_aper;
+per_type_encoder_f RANAP_DataVolumeReference_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_DataVolumeReference_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_DataVolumeReport.c b/src/ranap/RANAP_DataVolumeReport.c
new file mode 100644
index 0000000..e89948f
--- /dev/null
+++ b/src/ranap/RANAP_DataVolumeReport.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_DataVolumeReport.h"
+
+static int
+memb_dataVolumeReport_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_dataVolumeReport_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_dataVolumeReport_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_dataVolumeReport_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_dataVolumeReport_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_dataVolumeReport_ies_specs_2 = {
+ sizeof(struct dataVolumeReport_ies),
+ offsetof(struct dataVolumeReport_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_dataVolumeReport_ies_2 = {
+ "dataVolumeReport-ies",
+ "dataVolumeReport-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_dataVolumeReport_ies_tags_2,
+ sizeof(asn_DEF_dataVolumeReport_ies_tags_2)
+ /sizeof(asn_DEF_dataVolumeReport_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_dataVolumeReport_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_dataVolumeReport_ies_tags_2)
+ /sizeof(asn_DEF_dataVolumeReport_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_dataVolumeReport_ies_constr_2,
+ asn_MBR_dataVolumeReport_ies_2,
+ 1, /* Single element */
+ &asn_SPC_dataVolumeReport_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_DataVolumeReport_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_DataVolumeReport, dataVolumeReport_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_dataVolumeReport_ies_2,
+ memb_dataVolumeReport_ies_constraint_1,
+ &asn_PER_memb_dataVolumeReport_ies_constr_2,
+ 0,
+ "dataVolumeReport-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_DataVolumeReport_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_DataVolumeReport_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* dataVolumeReport-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_DataVolumeReport_specs_1 = {
+ sizeof(struct RANAP_DataVolumeReport),
+ offsetof(struct RANAP_DataVolumeReport, _asn_ctx),
+ asn_MAP_RANAP_DataVolumeReport_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_DataVolumeReport = {
+ "RANAP_DataVolumeReport",
+ "RANAP_DataVolumeReport",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_DataVolumeReport_tags_1,
+ sizeof(asn_DEF_RANAP_DataVolumeReport_tags_1)
+ /sizeof(asn_DEF_RANAP_DataVolumeReport_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_DataVolumeReport_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_DataVolumeReport_tags_1)
+ /sizeof(asn_DEF_RANAP_DataVolumeReport_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_DataVolumeReport_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_DataVolumeReport_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_DataVolumeReport.h b/src/ranap/RANAP_DataVolumeReport.h
new file mode 100644
index 0000000..c0e2a9d
--- /dev/null
+++ b/src/ranap/RANAP_DataVolumeReport.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_DataVolumeReport_H_
+#define _RANAP_DataVolumeReport_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_DataVolumeReport */
+typedef struct RANAP_DataVolumeReport {
+ struct dataVolumeReport_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } dataVolumeReport_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_DataVolumeReport_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_DataVolumeReport;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_DataVolumeReport_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_DataVolumeReportRequest.c b/src/ranap/RANAP_DataVolumeReportRequest.c
new file mode 100644
index 0000000..b69246e
--- /dev/null
+++ b/src/ranap/RANAP_DataVolumeReportRequest.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_DataVolumeReportRequest.h"
+
+static int
+memb_dataVolumeReportRequest_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_dataVolumeReportRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_dataVolumeReportRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_dataVolumeReportRequest_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_dataVolumeReportRequest_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_dataVolumeReportRequest_ies_specs_2 = {
+ sizeof(struct dataVolumeReportRequest_ies),
+ offsetof(struct dataVolumeReportRequest_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_dataVolumeReportRequest_ies_2 = {
+ "dataVolumeReportRequest-ies",
+ "dataVolumeReportRequest-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_dataVolumeReportRequest_ies_tags_2,
+ sizeof(asn_DEF_dataVolumeReportRequest_ies_tags_2)
+ /sizeof(asn_DEF_dataVolumeReportRequest_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_dataVolumeReportRequest_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_dataVolumeReportRequest_ies_tags_2)
+ /sizeof(asn_DEF_dataVolumeReportRequest_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_dataVolumeReportRequest_ies_constr_2,
+ asn_MBR_dataVolumeReportRequest_ies_2,
+ 1, /* Single element */
+ &asn_SPC_dataVolumeReportRequest_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_DataVolumeReportRequest_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_DataVolumeReportRequest, dataVolumeReportRequest_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_dataVolumeReportRequest_ies_2,
+ memb_dataVolumeReportRequest_ies_constraint_1,
+ &asn_PER_memb_dataVolumeReportRequest_ies_constr_2,
+ 0,
+ "dataVolumeReportRequest-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_DataVolumeReportRequest_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_DataVolumeReportRequest_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* dataVolumeReportRequest-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_DataVolumeReportRequest_specs_1 = {
+ sizeof(struct RANAP_DataVolumeReportRequest),
+ offsetof(struct RANAP_DataVolumeReportRequest, _asn_ctx),
+ asn_MAP_RANAP_DataVolumeReportRequest_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_DataVolumeReportRequest = {
+ "RANAP_DataVolumeReportRequest",
+ "RANAP_DataVolumeReportRequest",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_DataVolumeReportRequest_tags_1,
+ sizeof(asn_DEF_RANAP_DataVolumeReportRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_DataVolumeReportRequest_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_DataVolumeReportRequest_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_DataVolumeReportRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_DataVolumeReportRequest_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_DataVolumeReportRequest_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_DataVolumeReportRequest_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_DataVolumeReportRequest.h b/src/ranap/RANAP_DataVolumeReportRequest.h
new file mode 100644
index 0000000..bec017f
--- /dev/null
+++ b/src/ranap/RANAP_DataVolumeReportRequest.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_DataVolumeReportRequest_H_
+#define _RANAP_DataVolumeReportRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_DataVolumeReportRequest */
+typedef struct RANAP_DataVolumeReportRequest {
+ struct dataVolumeReportRequest_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } dataVolumeReportRequest_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_DataVolumeReportRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_DataVolumeReportRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_DataVolumeReportRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_DataVolumeReportingIndication.c b/src/ranap/RANAP_DataVolumeReportingIndication.c
new file mode 100644
index 0000000..9f9e684
--- /dev/null
+++ b/src/ranap/RANAP_DataVolumeReportingIndication.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_DataVolumeReportingIndication.h"
+
+int
+RANAP_DataVolumeReportingIndication_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_DataVolumeReportingIndication_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_DataVolumeReportingIndication_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_DataVolumeReportingIndication_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_DataVolumeReportingIndication_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DataVolumeReportingIndication_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DataVolumeReportingIndication_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_DataVolumeReportingIndication_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_DataVolumeReportingIndication_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DataVolumeReportingIndication_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DataVolumeReportingIndication_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_DataVolumeReportingIndication_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_DataVolumeReportingIndication_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DataVolumeReportingIndication_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DataVolumeReportingIndication_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_DataVolumeReportingIndication_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_DataVolumeReportingIndication_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_DataVolumeReportingIndication_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_DataVolumeReportingIndication_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_DataVolumeReportingIndication_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_DataVolumeReportingIndication_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_DataVolumeReportingIndication_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_DataVolumeReportingIndication_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_DataVolumeReportingIndication_value2enum_1[] = {
+ { 0, 9, "do-report" },
+ { 1, 13, "do-not-report" }
+};
+static const unsigned int asn_MAP_RANAP_DataVolumeReportingIndication_enum2value_1[] = {
+ 1, /* do-not-report(1) */
+ 0 /* do-report(0) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_DataVolumeReportingIndication_specs_1 = {
+ asn_MAP_RANAP_DataVolumeReportingIndication_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_DataVolumeReportingIndication_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_RANAP_DataVolumeReportingIndication_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_DataVolumeReportingIndication = {
+ "RANAP_DataVolumeReportingIndication",
+ "RANAP_DataVolumeReportingIndication",
+ RANAP_DataVolumeReportingIndication_free,
+ RANAP_DataVolumeReportingIndication_print,
+ RANAP_DataVolumeReportingIndication_constraint,
+ RANAP_DataVolumeReportingIndication_decode_ber,
+ RANAP_DataVolumeReportingIndication_encode_der,
+ RANAP_DataVolumeReportingIndication_decode_xer,
+ RANAP_DataVolumeReportingIndication_encode_xer,
+ RANAP_DataVolumeReportingIndication_decode_uper,
+ RANAP_DataVolumeReportingIndication_encode_uper,
+ RANAP_DataVolumeReportingIndication_decode_aper,
+ RANAP_DataVolumeReportingIndication_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_DataVolumeReportingIndication_tags_1,
+ sizeof(asn_DEF_RANAP_DataVolumeReportingIndication_tags_1)
+ /sizeof(asn_DEF_RANAP_DataVolumeReportingIndication_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_DataVolumeReportingIndication_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_DataVolumeReportingIndication_tags_1)
+ /sizeof(asn_DEF_RANAP_DataVolumeReportingIndication_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_DataVolumeReportingIndication_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_DataVolumeReportingIndication_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_DataVolumeReportingIndication.h b/src/ranap/RANAP_DataVolumeReportingIndication.h
new file mode 100644
index 0000000..feaa072
--- /dev/null
+++ b/src/ranap/RANAP_DataVolumeReportingIndication.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_DataVolumeReportingIndication_H_
+#define _RANAP_DataVolumeReportingIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_DataVolumeReportingIndication {
+ RANAP_DataVolumeReportingIndication_do_report = 0,
+ RANAP_DataVolumeReportingIndication_do_not_report = 1
+} e_RANAP_DataVolumeReportingIndication;
+
+/* RANAP_DataVolumeReportingIndication */
+typedef long RANAP_DataVolumeReportingIndication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_DataVolumeReportingIndication;
+asn_struct_free_f RANAP_DataVolumeReportingIndication_free;
+asn_struct_print_f RANAP_DataVolumeReportingIndication_print;
+asn_constr_check_f RANAP_DataVolumeReportingIndication_constraint;
+ber_type_decoder_f RANAP_DataVolumeReportingIndication_decode_ber;
+der_type_encoder_f RANAP_DataVolumeReportingIndication_encode_der;
+xer_type_decoder_f RANAP_DataVolumeReportingIndication_decode_xer;
+xer_type_encoder_f RANAP_DataVolumeReportingIndication_encode_xer;
+per_type_decoder_f RANAP_DataVolumeReportingIndication_decode_uper;
+per_type_encoder_f RANAP_DataVolumeReportingIndication_encode_uper;
+per_type_decoder_f RANAP_DataVolumeReportingIndication_decode_aper;
+per_type_encoder_f RANAP_DataVolumeReportingIndication_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_DataVolumeReportingIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_DeliveryOfErroneousSDU.c b/src/ranap/RANAP_DeliveryOfErroneousSDU.c
new file mode 100644
index 0000000..6319390
--- /dev/null
+++ b/src/ranap/RANAP_DeliveryOfErroneousSDU.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_DeliveryOfErroneousSDU.h"
+
+int
+RANAP_DeliveryOfErroneousSDU_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_DeliveryOfErroneousSDU_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_DeliveryOfErroneousSDU_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_DeliveryOfErroneousSDU_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_DeliveryOfErroneousSDU_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DeliveryOfErroneousSDU_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DeliveryOfErroneousSDU_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_DeliveryOfErroneousSDU_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_DeliveryOfErroneousSDU_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DeliveryOfErroneousSDU_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DeliveryOfErroneousSDU_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_DeliveryOfErroneousSDU_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_DeliveryOfErroneousSDU_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DeliveryOfErroneousSDU_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DeliveryOfErroneousSDU_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_DeliveryOfErroneousSDU_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_DeliveryOfErroneousSDU_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_DeliveryOfErroneousSDU_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_DeliveryOfErroneousSDU_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_DeliveryOfErroneousSDU_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_DeliveryOfErroneousSDU_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_DeliveryOfErroneousSDU_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_DeliveryOfErroneousSDU_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0l, 2l } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_DeliveryOfErroneousSDU_value2enum_1[] = {
+ { 0, 3, "yes" },
+ { 1, 2, "no" },
+ { 2, 32, "no-error-detection-consideration" }
+};
+static const unsigned int asn_MAP_RANAP_DeliveryOfErroneousSDU_enum2value_1[] = {
+ 1, /* no(1) */
+ 2, /* no-error-detection-consideration(2) */
+ 0 /* yes(0) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_DeliveryOfErroneousSDU_specs_1 = {
+ asn_MAP_RANAP_DeliveryOfErroneousSDU_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_DeliveryOfErroneousSDU_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_RANAP_DeliveryOfErroneousSDU_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_DeliveryOfErroneousSDU = {
+ "RANAP_DeliveryOfErroneousSDU",
+ "RANAP_DeliveryOfErroneousSDU",
+ RANAP_DeliveryOfErroneousSDU_free,
+ RANAP_DeliveryOfErroneousSDU_print,
+ RANAP_DeliveryOfErroneousSDU_constraint,
+ RANAP_DeliveryOfErroneousSDU_decode_ber,
+ RANAP_DeliveryOfErroneousSDU_encode_der,
+ RANAP_DeliveryOfErroneousSDU_decode_xer,
+ RANAP_DeliveryOfErroneousSDU_encode_xer,
+ RANAP_DeliveryOfErroneousSDU_decode_uper,
+ RANAP_DeliveryOfErroneousSDU_encode_uper,
+ RANAP_DeliveryOfErroneousSDU_decode_aper,
+ RANAP_DeliveryOfErroneousSDU_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_DeliveryOfErroneousSDU_tags_1,
+ sizeof(asn_DEF_RANAP_DeliveryOfErroneousSDU_tags_1)
+ /sizeof(asn_DEF_RANAP_DeliveryOfErroneousSDU_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_DeliveryOfErroneousSDU_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_DeliveryOfErroneousSDU_tags_1)
+ /sizeof(asn_DEF_RANAP_DeliveryOfErroneousSDU_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_DeliveryOfErroneousSDU_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_DeliveryOfErroneousSDU_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_DeliveryOfErroneousSDU.h b/src/ranap/RANAP_DeliveryOfErroneousSDU.h
new file mode 100644
index 0000000..6e95465
--- /dev/null
+++ b/src/ranap/RANAP_DeliveryOfErroneousSDU.h
@@ -0,0 +1,49 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_DeliveryOfErroneousSDU_H_
+#define _RANAP_DeliveryOfErroneousSDU_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_DeliveryOfErroneousSDU {
+ RANAP_DeliveryOfErroneousSDU_yes = 0,
+ RANAP_DeliveryOfErroneousSDU_no = 1,
+ RANAP_DeliveryOfErroneousSDU_no_error_detection_consideration = 2
+} e_RANAP_DeliveryOfErroneousSDU;
+
+/* RANAP_DeliveryOfErroneousSDU */
+typedef long RANAP_DeliveryOfErroneousSDU_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_DeliveryOfErroneousSDU;
+asn_struct_free_f RANAP_DeliveryOfErroneousSDU_free;
+asn_struct_print_f RANAP_DeliveryOfErroneousSDU_print;
+asn_constr_check_f RANAP_DeliveryOfErroneousSDU_constraint;
+ber_type_decoder_f RANAP_DeliveryOfErroneousSDU_decode_ber;
+der_type_encoder_f RANAP_DeliveryOfErroneousSDU_encode_der;
+xer_type_decoder_f RANAP_DeliveryOfErroneousSDU_decode_xer;
+xer_type_encoder_f RANAP_DeliveryOfErroneousSDU_encode_xer;
+per_type_decoder_f RANAP_DeliveryOfErroneousSDU_decode_uper;
+per_type_encoder_f RANAP_DeliveryOfErroneousSDU_encode_uper;
+per_type_decoder_f RANAP_DeliveryOfErroneousSDU_decode_aper;
+per_type_encoder_f RANAP_DeliveryOfErroneousSDU_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_DeliveryOfErroneousSDU_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_DeliveryOrder.c b/src/ranap/RANAP_DeliveryOrder.c
new file mode 100644
index 0000000..3f089d2
--- /dev/null
+++ b/src/ranap/RANAP_DeliveryOrder.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_DeliveryOrder.h"
+
+int
+RANAP_DeliveryOrder_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_DeliveryOrder_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_DeliveryOrder_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_DeliveryOrder_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_DeliveryOrder_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DeliveryOrder_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DeliveryOrder_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_DeliveryOrder_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_DeliveryOrder_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DeliveryOrder_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DeliveryOrder_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_DeliveryOrder_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_DeliveryOrder_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DeliveryOrder_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DeliveryOrder_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_DeliveryOrder_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_DeliveryOrder_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_DeliveryOrder_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_DeliveryOrder_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_DeliveryOrder_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_DeliveryOrder_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_DeliveryOrder_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_DeliveryOrder_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_DeliveryOrder_value2enum_1[] = {
+ { 0, 24, "delivery-order-requested" },
+ { 1, 28, "delivery-order-not-requested" }
+};
+static const unsigned int asn_MAP_RANAP_DeliveryOrder_enum2value_1[] = {
+ 1, /* delivery-order-not-requested(1) */
+ 0 /* delivery-order-requested(0) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_DeliveryOrder_specs_1 = {
+ asn_MAP_RANAP_DeliveryOrder_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_DeliveryOrder_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_RANAP_DeliveryOrder_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_DeliveryOrder = {
+ "RANAP_DeliveryOrder",
+ "RANAP_DeliveryOrder",
+ RANAP_DeliveryOrder_free,
+ RANAP_DeliveryOrder_print,
+ RANAP_DeliveryOrder_constraint,
+ RANAP_DeliveryOrder_decode_ber,
+ RANAP_DeliveryOrder_encode_der,
+ RANAP_DeliveryOrder_decode_xer,
+ RANAP_DeliveryOrder_encode_xer,
+ RANAP_DeliveryOrder_decode_uper,
+ RANAP_DeliveryOrder_encode_uper,
+ RANAP_DeliveryOrder_decode_aper,
+ RANAP_DeliveryOrder_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_DeliveryOrder_tags_1,
+ sizeof(asn_DEF_RANAP_DeliveryOrder_tags_1)
+ /sizeof(asn_DEF_RANAP_DeliveryOrder_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_DeliveryOrder_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_DeliveryOrder_tags_1)
+ /sizeof(asn_DEF_RANAP_DeliveryOrder_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_DeliveryOrder_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_DeliveryOrder_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_DeliveryOrder.h b/src/ranap/RANAP_DeliveryOrder.h
new file mode 100644
index 0000000..8968908
--- /dev/null
+++ b/src/ranap/RANAP_DeliveryOrder.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_DeliveryOrder_H_
+#define _RANAP_DeliveryOrder_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_DeliveryOrder {
+ RANAP_DeliveryOrder_delivery_order_requested = 0,
+ RANAP_DeliveryOrder_delivery_order_not_requested = 1
+} e_RANAP_DeliveryOrder;
+
+/* RANAP_DeliveryOrder */
+typedef long RANAP_DeliveryOrder_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_DeliveryOrder;
+asn_struct_free_f RANAP_DeliveryOrder_free;
+asn_struct_print_f RANAP_DeliveryOrder_print;
+asn_constr_check_f RANAP_DeliveryOrder_constraint;
+ber_type_decoder_f RANAP_DeliveryOrder_decode_ber;
+der_type_encoder_f RANAP_DeliveryOrder_encode_der;
+xer_type_decoder_f RANAP_DeliveryOrder_decode_xer;
+xer_type_encoder_f RANAP_DeliveryOrder_encode_xer;
+per_type_decoder_f RANAP_DeliveryOrder_decode_uper;
+per_type_encoder_f RANAP_DeliveryOrder_encode_uper;
+per_type_decoder_f RANAP_DeliveryOrder_decode_aper;
+per_type_encoder_f RANAP_DeliveryOrder_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_DeliveryOrder_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_DeltaRAListofIdleModeUEs.c b/src/ranap/RANAP_DeltaRAListofIdleModeUEs.c
new file mode 100644
index 0000000..0e89cbb
--- /dev/null
+++ b/src/ranap/RANAP_DeltaRAListofIdleModeUEs.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_DeltaRAListofIdleModeUEs.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_DeltaRAListofIdleModeUEs_1[] = {
+ { ATF_POINTER, 3, offsetof(struct RANAP_DeltaRAListofIdleModeUEs, newRAListofIdleModeUEs),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_NewRAListofIdleModeUEs,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "newRAListofIdleModeUEs"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_DeltaRAListofIdleModeUEs, rAListwithNoIdleModeUEsAnyMore),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RAListwithNoIdleModeUEsAnyMore,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rAListwithNoIdleModeUEsAnyMore"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_DeltaRAListofIdleModeUEs, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_DeltaRAListofIdleModeUEs_oms_1[] = { 0, 1, 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_DeltaRAListofIdleModeUEs_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_DeltaRAListofIdleModeUEs_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* newRAListofIdleModeUEs */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rAListwithNoIdleModeUEsAnyMore */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_DeltaRAListofIdleModeUEs_specs_1 = {
+ sizeof(struct RANAP_DeltaRAListofIdleModeUEs),
+ offsetof(struct RANAP_DeltaRAListofIdleModeUEs, _asn_ctx),
+ asn_MAP_RANAP_DeltaRAListofIdleModeUEs_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_DeltaRAListofIdleModeUEs_oms_1, /* Optional members */
+ 3, 0, /* Root/Additions */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_DeltaRAListofIdleModeUEs = {
+ "RANAP_DeltaRAListofIdleModeUEs",
+ "RANAP_DeltaRAListofIdleModeUEs",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_DeltaRAListofIdleModeUEs_tags_1,
+ sizeof(asn_DEF_RANAP_DeltaRAListofIdleModeUEs_tags_1)
+ /sizeof(asn_DEF_RANAP_DeltaRAListofIdleModeUEs_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_DeltaRAListofIdleModeUEs_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_DeltaRAListofIdleModeUEs_tags_1)
+ /sizeof(asn_DEF_RANAP_DeltaRAListofIdleModeUEs_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_DeltaRAListofIdleModeUEs_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_DeltaRAListofIdleModeUEs_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_DeltaRAListofIdleModeUEs.h b/src/ranap/RANAP_DeltaRAListofIdleModeUEs.h
new file mode 100644
index 0000000..209c2c5
--- /dev/null
+++ b/src/ranap/RANAP_DeltaRAListofIdleModeUEs.h
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_DeltaRAListofIdleModeUEs_H_
+#define _RANAP_DeltaRAListofIdleModeUEs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_NewRAListofIdleModeUEs.h"
+#include "RANAP_RAListwithNoIdleModeUEsAnyMore.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_DeltaRAListofIdleModeUEs */
+typedef struct RANAP_DeltaRAListofIdleModeUEs {
+ RANAP_NewRAListofIdleModeUEs_t *newRAListofIdleModeUEs /* OPTIONAL */;
+ RANAP_RAListwithNoIdleModeUEsAnyMore_t *rAListwithNoIdleModeUEsAnyMore /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_DeltaRAListofIdleModeUEs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_DeltaRAListofIdleModeUEs;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_DeltaRAListofIdleModeUEs_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_DirectInformationTransfer.c b/src/ranap/RANAP_DirectInformationTransfer.c
new file mode 100644
index 0000000..06444c3
--- /dev/null
+++ b/src/ranap/RANAP_DirectInformationTransfer.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_DirectInformationTransfer.h"
+
+static int
+memb_directInformationTransfer_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_directInformationTransfer_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_directInformationTransfer_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_directInformationTransfer_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_directInformationTransfer_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_directInformationTransfer_ies_specs_2 = {
+ sizeof(struct directInformationTransfer_ies),
+ offsetof(struct directInformationTransfer_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_directInformationTransfer_ies_2 = {
+ "directInformationTransfer-ies",
+ "directInformationTransfer-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_directInformationTransfer_ies_tags_2,
+ sizeof(asn_DEF_directInformationTransfer_ies_tags_2)
+ /sizeof(asn_DEF_directInformationTransfer_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_directInformationTransfer_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_directInformationTransfer_ies_tags_2)
+ /sizeof(asn_DEF_directInformationTransfer_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_directInformationTransfer_ies_constr_2,
+ asn_MBR_directInformationTransfer_ies_2,
+ 1, /* Single element */
+ &asn_SPC_directInformationTransfer_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_DirectInformationTransfer_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_DirectInformationTransfer, directInformationTransfer_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_directInformationTransfer_ies_2,
+ memb_directInformationTransfer_ies_constraint_1,
+ &asn_PER_memb_directInformationTransfer_ies_constr_2,
+ 0,
+ "directInformationTransfer-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_DirectInformationTransfer_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_DirectInformationTransfer_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* directInformationTransfer-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_DirectInformationTransfer_specs_1 = {
+ sizeof(struct RANAP_DirectInformationTransfer),
+ offsetof(struct RANAP_DirectInformationTransfer, _asn_ctx),
+ asn_MAP_RANAP_DirectInformationTransfer_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_DirectInformationTransfer = {
+ "RANAP_DirectInformationTransfer",
+ "RANAP_DirectInformationTransfer",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_DirectInformationTransfer_tags_1,
+ sizeof(asn_DEF_RANAP_DirectInformationTransfer_tags_1)
+ /sizeof(asn_DEF_RANAP_DirectInformationTransfer_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_DirectInformationTransfer_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_DirectInformationTransfer_tags_1)
+ /sizeof(asn_DEF_RANAP_DirectInformationTransfer_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_DirectInformationTransfer_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_DirectInformationTransfer_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_DirectInformationTransfer.h b/src/ranap/RANAP_DirectInformationTransfer.h
new file mode 100644
index 0000000..bc2b851
--- /dev/null
+++ b/src/ranap/RANAP_DirectInformationTransfer.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_DirectInformationTransfer_H_
+#define _RANAP_DirectInformationTransfer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_DirectInformationTransfer */
+typedef struct RANAP_DirectInformationTransfer {
+ struct directInformationTransfer_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } directInformationTransfer_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_DirectInformationTransfer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_DirectInformationTransfer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_DirectInformationTransfer_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_DirectReportingIndicator.c b/src/ranap/RANAP_DirectReportingIndicator.c
new file mode 100644
index 0000000..27a798f
--- /dev/null
+++ b/src/ranap/RANAP_DirectReportingIndicator.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_DirectReportingIndicator.h"
+
+int
+RANAP_DirectReportingIndicator_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_DirectReportingIndicator_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_DirectReportingIndicator_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_DirectReportingIndicator_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_DirectReportingIndicator_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DirectReportingIndicator_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DirectReportingIndicator_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_DirectReportingIndicator_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_DirectReportingIndicator_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DirectReportingIndicator_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DirectReportingIndicator_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_DirectReportingIndicator_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_DirectReportingIndicator_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_DirectReportingIndicator_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_DirectReportingIndicator_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_DirectReportingIndicator_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_DirectReportingIndicator_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_DirectReportingIndicator_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_DirectReportingIndicator_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_DirectReportingIndicator_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_DirectReportingIndicator_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_DirectReportingIndicator_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_DirectReportingIndicator_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_DirectReportingIndicator_value2enum_1[] = {
+ { 0, 9, "directSAI" },
+ { 1, 9, "directGeo" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_DirectReportingIndicator_enum2value_1[] = {
+ 1, /* directGeo(1) */
+ 0 /* directSAI(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_DirectReportingIndicator_specs_1 = {
+ asn_MAP_RANAP_DirectReportingIndicator_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_DirectReportingIndicator_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_RANAP_DirectReportingIndicator_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_DirectReportingIndicator = {
+ "RANAP_DirectReportingIndicator",
+ "RANAP_DirectReportingIndicator",
+ RANAP_DirectReportingIndicator_free,
+ RANAP_DirectReportingIndicator_print,
+ RANAP_DirectReportingIndicator_constraint,
+ RANAP_DirectReportingIndicator_decode_ber,
+ RANAP_DirectReportingIndicator_encode_der,
+ RANAP_DirectReportingIndicator_decode_xer,
+ RANAP_DirectReportingIndicator_encode_xer,
+ RANAP_DirectReportingIndicator_decode_uper,
+ RANAP_DirectReportingIndicator_encode_uper,
+ RANAP_DirectReportingIndicator_decode_aper,
+ RANAP_DirectReportingIndicator_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_DirectReportingIndicator_tags_1,
+ sizeof(asn_DEF_RANAP_DirectReportingIndicator_tags_1)
+ /sizeof(asn_DEF_RANAP_DirectReportingIndicator_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_DirectReportingIndicator_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_DirectReportingIndicator_tags_1)
+ /sizeof(asn_DEF_RANAP_DirectReportingIndicator_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_DirectReportingIndicator_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_DirectReportingIndicator_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_DirectReportingIndicator.h b/src/ranap/RANAP_DirectReportingIndicator.h
new file mode 100644
index 0000000..8636557
--- /dev/null
+++ b/src/ranap/RANAP_DirectReportingIndicator.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_DirectReportingIndicator_H_
+#define _RANAP_DirectReportingIndicator_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_DirectReportingIndicator {
+ RANAP_DirectReportingIndicator_directSAI = 0,
+ RANAP_DirectReportingIndicator_directGeo = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_DirectReportingIndicator;
+
+/* RANAP_DirectReportingIndicator */
+typedef long RANAP_DirectReportingIndicator_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_DirectReportingIndicator;
+asn_struct_free_f RANAP_DirectReportingIndicator_free;
+asn_struct_print_f RANAP_DirectReportingIndicator_print;
+asn_constr_check_f RANAP_DirectReportingIndicator_constraint;
+ber_type_decoder_f RANAP_DirectReportingIndicator_decode_ber;
+der_type_encoder_f RANAP_DirectReportingIndicator_encode_der;
+xer_type_decoder_f RANAP_DirectReportingIndicator_decode_xer;
+xer_type_encoder_f RANAP_DirectReportingIndicator_encode_xer;
+per_type_decoder_f RANAP_DirectReportingIndicator_decode_uper;
+per_type_encoder_f RANAP_DirectReportingIndicator_encode_uper;
+per_type_decoder_f RANAP_DirectReportingIndicator_decode_aper;
+per_type_encoder_f RANAP_DirectReportingIndicator_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_DirectReportingIndicator_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_DirectTransfer.c b/src/ranap/RANAP_DirectTransfer.c
new file mode 100644
index 0000000..44ce20d
--- /dev/null
+++ b/src/ranap/RANAP_DirectTransfer.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_DirectTransfer.h"
+
+static int
+memb_directTransfer_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_directTransfer_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_directTransfer_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_directTransfer_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_directTransfer_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_directTransfer_ies_specs_2 = {
+ sizeof(struct directTransfer_ies),
+ offsetof(struct directTransfer_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_directTransfer_ies_2 = {
+ "directTransfer-ies",
+ "directTransfer-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_directTransfer_ies_tags_2,
+ sizeof(asn_DEF_directTransfer_ies_tags_2)
+ /sizeof(asn_DEF_directTransfer_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_directTransfer_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_directTransfer_ies_tags_2)
+ /sizeof(asn_DEF_directTransfer_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_directTransfer_ies_constr_2,
+ asn_MBR_directTransfer_ies_2,
+ 1, /* Single element */
+ &asn_SPC_directTransfer_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_DirectTransfer_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_DirectTransfer, directTransfer_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_directTransfer_ies_2,
+ memb_directTransfer_ies_constraint_1,
+ &asn_PER_memb_directTransfer_ies_constr_2,
+ 0,
+ "directTransfer-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_DirectTransfer_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_DirectTransfer_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* directTransfer-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_DirectTransfer_specs_1 = {
+ sizeof(struct RANAP_DirectTransfer),
+ offsetof(struct RANAP_DirectTransfer, _asn_ctx),
+ asn_MAP_RANAP_DirectTransfer_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_DirectTransfer = {
+ "RANAP_DirectTransfer",
+ "RANAP_DirectTransfer",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_DirectTransfer_tags_1,
+ sizeof(asn_DEF_RANAP_DirectTransfer_tags_1)
+ /sizeof(asn_DEF_RANAP_DirectTransfer_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_DirectTransfer_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_DirectTransfer_tags_1)
+ /sizeof(asn_DEF_RANAP_DirectTransfer_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_DirectTransfer_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_DirectTransfer_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_DirectTransfer.h b/src/ranap/RANAP_DirectTransfer.h
new file mode 100644
index 0000000..7258755
--- /dev/null
+++ b/src/ranap/RANAP_DirectTransfer.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_DirectTransfer_H_
+#define _RANAP_DirectTransfer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_DirectTransfer */
+typedef struct RANAP_DirectTransfer {
+ struct directTransfer_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } directTransfer_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_DirectTransfer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_DirectTransfer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_DirectTransfer_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_E-DCH-MAC-d-Flow-ID.c b/src/ranap/RANAP_E-DCH-MAC-d-Flow-ID.c
new file mode 100644
index 0000000..cbd9fee
--- /dev/null
+++ b/src/ranap/RANAP_E-DCH-MAC-d-Flow-ID.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_E-DCH-MAC-d-Flow-ID.h"
+
+int
+RANAP_E_DCH_MAC_d_Flow_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 7l)) {
+ /* 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 void
+RANAP_E_DCH_MAC_d_Flow_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_E_DCH_MAC_d_Flow_ID_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_E_DCH_MAC_d_Flow_ID_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_E_DCH_MAC_d_Flow_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_E_DCH_MAC_d_Flow_ID_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_E_DCH_MAC_d_Flow_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_E_DCH_MAC_d_Flow_ID_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_E_DCH_MAC_d_Flow_ID_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_E_DCH_MAC_d_Flow_ID_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_E_DCH_MAC_d_Flow_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_E_DCH_MAC_d_Flow_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_E_DCH_MAC_d_Flow_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_E_DCH_MAC_d_Flow_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_E_DCH_MAC_d_Flow_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_E_DCH_MAC_d_Flow_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_E_DCH_MAC_d_Flow_ID_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_E_DCH_MAC_d_Flow_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_E_DCH_MAC_d_Flow_ID_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_E_DCH_MAC_d_Flow_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_E_DCH_MAC_d_Flow_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_E_DCH_MAC_d_Flow_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_E_DCH_MAC_d_Flow_ID_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 3, 3, 0l, 7l } /* (0..7) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_E_DCH_MAC_d_Flow_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_E_DCH_MAC_d_Flow_ID = {
+ "RANAP_E-DCH-MAC-d-Flow-ID",
+ "RANAP_E-DCH-MAC-d-Flow-ID",
+ RANAP_E_DCH_MAC_d_Flow_ID_free,
+ RANAP_E_DCH_MAC_d_Flow_ID_print,
+ RANAP_E_DCH_MAC_d_Flow_ID_constraint,
+ RANAP_E_DCH_MAC_d_Flow_ID_decode_ber,
+ RANAP_E_DCH_MAC_d_Flow_ID_encode_der,
+ RANAP_E_DCH_MAC_d_Flow_ID_decode_xer,
+ RANAP_E_DCH_MAC_d_Flow_ID_encode_xer,
+ RANAP_E_DCH_MAC_d_Flow_ID_decode_uper,
+ RANAP_E_DCH_MAC_d_Flow_ID_encode_uper,
+ RANAP_E_DCH_MAC_d_Flow_ID_decode_aper,
+ RANAP_E_DCH_MAC_d_Flow_ID_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_E_DCH_MAC_d_Flow_ID_tags_1,
+ sizeof(asn_DEF_RANAP_E_DCH_MAC_d_Flow_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_E_DCH_MAC_d_Flow_ID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_E_DCH_MAC_d_Flow_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_E_DCH_MAC_d_Flow_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_E_DCH_MAC_d_Flow_ID_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_E_DCH_MAC_d_Flow_ID_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_E-DCH-MAC-d-Flow-ID.h b/src/ranap/RANAP_E-DCH-MAC-d-Flow-ID.h
new file mode 100644
index 0000000..6fc0fda
--- /dev/null
+++ b/src/ranap/RANAP_E-DCH-MAC-d-Flow-ID.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_E_DCH_MAC_d_Flow_ID_H_
+#define _RANAP_E_DCH_MAC_d_Flow_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_E-DCH-MAC-d-Flow-ID */
+typedef long RANAP_E_DCH_MAC_d_Flow_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_E_DCH_MAC_d_Flow_ID;
+asn_struct_free_f RANAP_E_DCH_MAC_d_Flow_ID_free;
+asn_struct_print_f RANAP_E_DCH_MAC_d_Flow_ID_print;
+asn_constr_check_f RANAP_E_DCH_MAC_d_Flow_ID_constraint;
+ber_type_decoder_f RANAP_E_DCH_MAC_d_Flow_ID_decode_ber;
+der_type_encoder_f RANAP_E_DCH_MAC_d_Flow_ID_encode_der;
+xer_type_decoder_f RANAP_E_DCH_MAC_d_Flow_ID_decode_xer;
+xer_type_encoder_f RANAP_E_DCH_MAC_d_Flow_ID_encode_xer;
+per_type_decoder_f RANAP_E_DCH_MAC_d_Flow_ID_decode_uper;
+per_type_encoder_f RANAP_E_DCH_MAC_d_Flow_ID_encode_uper;
+per_type_decoder_f RANAP_E_DCH_MAC_d_Flow_ID_decode_aper;
+per_type_encoder_f RANAP_E_DCH_MAC_d_Flow_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_E_DCH_MAC_d_Flow_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_E-UTRAN-Service-Handover.c b/src/ranap/RANAP_E-UTRAN-Service-Handover.c
new file mode 100644
index 0000000..0eb7a82
--- /dev/null
+++ b/src/ranap/RANAP_E-UTRAN-Service-Handover.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_E-UTRAN-Service-Handover.h"
+
+int
+RANAP_E_UTRAN_Service_Handover_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_E_UTRAN_Service_Handover_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_E_UTRAN_Service_Handover_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_E_UTRAN_Service_Handover_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_E_UTRAN_Service_Handover_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_E_UTRAN_Service_Handover_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_E_UTRAN_Service_Handover_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_E_UTRAN_Service_Handover_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_E_UTRAN_Service_Handover_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_E_UTRAN_Service_Handover_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_E_UTRAN_Service_Handover_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_E_UTRAN_Service_Handover_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_E_UTRAN_Service_Handover_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_E_UTRAN_Service_Handover_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_E_UTRAN_Service_Handover_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_E_UTRAN_Service_Handover_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_E_UTRAN_Service_Handover_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_E_UTRAN_Service_Handover_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_E_UTRAN_Service_Handover_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_E_UTRAN_Service_Handover_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_E_UTRAN_Service_Handover_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_E_UTRAN_Service_Handover_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_E_UTRAN_Service_Handover_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_E_UTRAN_Service_Handover_value2enum_1[] = {
+ { 0, 42, "handover-to-E-UTRAN-shall-not-be-performed" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_E_UTRAN_Service_Handover_enum2value_1[] = {
+ 0 /* handover-to-E-UTRAN-shall-not-be-performed(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_E_UTRAN_Service_Handover_specs_1 = {
+ asn_MAP_RANAP_E_UTRAN_Service_Handover_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_E_UTRAN_Service_Handover_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_RANAP_E_UTRAN_Service_Handover_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_E_UTRAN_Service_Handover = {
+ "RANAP_E-UTRAN-Service-Handover",
+ "RANAP_E-UTRAN-Service-Handover",
+ RANAP_E_UTRAN_Service_Handover_free,
+ RANAP_E_UTRAN_Service_Handover_print,
+ RANAP_E_UTRAN_Service_Handover_constraint,
+ RANAP_E_UTRAN_Service_Handover_decode_ber,
+ RANAP_E_UTRAN_Service_Handover_encode_der,
+ RANAP_E_UTRAN_Service_Handover_decode_xer,
+ RANAP_E_UTRAN_Service_Handover_encode_xer,
+ RANAP_E_UTRAN_Service_Handover_decode_uper,
+ RANAP_E_UTRAN_Service_Handover_encode_uper,
+ RANAP_E_UTRAN_Service_Handover_decode_aper,
+ RANAP_E_UTRAN_Service_Handover_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_E_UTRAN_Service_Handover_tags_1,
+ sizeof(asn_DEF_RANAP_E_UTRAN_Service_Handover_tags_1)
+ /sizeof(asn_DEF_RANAP_E_UTRAN_Service_Handover_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_E_UTRAN_Service_Handover_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_E_UTRAN_Service_Handover_tags_1)
+ /sizeof(asn_DEF_RANAP_E_UTRAN_Service_Handover_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_E_UTRAN_Service_Handover_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_E_UTRAN_Service_Handover_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_E-UTRAN-Service-Handover.h b/src/ranap/RANAP_E-UTRAN-Service-Handover.h
new file mode 100644
index 0000000..689c743
--- /dev/null
+++ b/src/ranap/RANAP_E-UTRAN-Service-Handover.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_E_UTRAN_Service_Handover_H_
+#define _RANAP_E_UTRAN_Service_Handover_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_E_UTRAN_Service_Handover {
+ RANAP_E_UTRAN_Service_Handover_handover_to_E_UTRAN_shall_not_be_performed = 0
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_E_UTRAN_Service_Handover;
+
+/* RANAP_E-UTRAN-Service-Handover */
+typedef long RANAP_E_UTRAN_Service_Handover_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_E_UTRAN_Service_Handover;
+asn_struct_free_f RANAP_E_UTRAN_Service_Handover_free;
+asn_struct_print_f RANAP_E_UTRAN_Service_Handover_print;
+asn_constr_check_f RANAP_E_UTRAN_Service_Handover_constraint;
+ber_type_decoder_f RANAP_E_UTRAN_Service_Handover_decode_ber;
+der_type_encoder_f RANAP_E_UTRAN_Service_Handover_encode_der;
+xer_type_decoder_f RANAP_E_UTRAN_Service_Handover_decode_xer;
+xer_type_encoder_f RANAP_E_UTRAN_Service_Handover_encode_xer;
+per_type_decoder_f RANAP_E_UTRAN_Service_Handover_decode_uper;
+per_type_encoder_f RANAP_E_UTRAN_Service_Handover_encode_uper;
+per_type_decoder_f RANAP_E_UTRAN_Service_Handover_decode_aper;
+per_type_encoder_f RANAP_E_UTRAN_Service_Handover_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_E_UTRAN_Service_Handover_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_EARFCN-Extended.c b/src/ranap/RANAP_EARFCN-Extended.c
new file mode 100644
index 0000000..c1888b5
--- /dev/null
+++ b/src/ranap/RANAP_EARFCN-Extended.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_EARFCN-Extended.h"
+
+int
+RANAP_EARFCN_Extended_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 65536l && value <= 262143l)) {
+ /* 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 void
+RANAP_EARFCN_Extended_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_EARFCN_Extended_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_EARFCN_Extended_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_EARFCN_Extended_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_EARFCN_Extended_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_EARFCN_Extended_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_EARFCN_Extended_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_EARFCN_Extended_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_EARFCN_Extended_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_EARFCN_Extended_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_EARFCN_Extended_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_EARFCN_Extended_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_EARFCN_Extended_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_EARFCN_Extended_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_EARFCN_Extended_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_EARFCN_Extended_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_EARFCN_Extended_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_EARFCN_Extended_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_EARFCN_Extended_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_EARFCN_Extended_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_EARFCN_Extended_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_EARFCN_Extended_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 18, -1, 65536l, 262143l } /* (65536..262143,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_EARFCN_Extended_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_EARFCN_Extended = {
+ "RANAP_EARFCN-Extended",
+ "RANAP_EARFCN-Extended",
+ RANAP_EARFCN_Extended_free,
+ RANAP_EARFCN_Extended_print,
+ RANAP_EARFCN_Extended_constraint,
+ RANAP_EARFCN_Extended_decode_ber,
+ RANAP_EARFCN_Extended_encode_der,
+ RANAP_EARFCN_Extended_decode_xer,
+ RANAP_EARFCN_Extended_encode_xer,
+ RANAP_EARFCN_Extended_decode_uper,
+ RANAP_EARFCN_Extended_encode_uper,
+ RANAP_EARFCN_Extended_decode_aper,
+ RANAP_EARFCN_Extended_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_EARFCN_Extended_tags_1,
+ sizeof(asn_DEF_RANAP_EARFCN_Extended_tags_1)
+ /sizeof(asn_DEF_RANAP_EARFCN_Extended_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_EARFCN_Extended_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_EARFCN_Extended_tags_1)
+ /sizeof(asn_DEF_RANAP_EARFCN_Extended_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_EARFCN_Extended_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_EARFCN-Extended.h b/src/ranap/RANAP_EARFCN-Extended.h
new file mode 100644
index 0000000..9b84df4
--- /dev/null
+++ b/src/ranap/RANAP_EARFCN-Extended.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_EARFCN_Extended_H_
+#define _RANAP_EARFCN_Extended_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_EARFCN-Extended */
+typedef long RANAP_EARFCN_Extended_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_EARFCN_Extended;
+asn_struct_free_f RANAP_EARFCN_Extended_free;
+asn_struct_print_f RANAP_EARFCN_Extended_print;
+asn_constr_check_f RANAP_EARFCN_Extended_constraint;
+ber_type_decoder_f RANAP_EARFCN_Extended_decode_ber;
+der_type_encoder_f RANAP_EARFCN_Extended_encode_der;
+xer_type_decoder_f RANAP_EARFCN_Extended_decode_xer;
+xer_type_encoder_f RANAP_EARFCN_Extended_encode_xer;
+per_type_decoder_f RANAP_EARFCN_Extended_decode_uper;
+per_type_encoder_f RANAP_EARFCN_Extended_encode_uper;
+per_type_decoder_f RANAP_EARFCN_Extended_decode_aper;
+per_type_encoder_f RANAP_EARFCN_Extended_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_EARFCN_Extended_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ENB-ID.c b/src/ranap/RANAP_ENB-ID.c
new file mode 100644
index 0000000..67859b3
--- /dev/null
+++ b/src/ranap/RANAP_ENB-ID.c
@@ -0,0 +1,144 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_ENB-ID.h"
+
+static int
+memb_macroENB_ID_constraint_1(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 == 20l)) {
+ /* 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_homeENB_ID_constraint_1(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 == 28l)) {
+ /* Constraint 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_macroENB_ID_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 20l, 20l } /* (SIZE(20..20)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_homeENB_ID_constr_3 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 28l, 28l } /* (SIZE(28..28)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_type_RANAP_ENB_ID_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_ENB_ID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_ENB_ID, choice.macroENB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BIT_STRING,
+ memb_macroENB_ID_constraint_1,
+ &asn_PER_memb_macroENB_ID_constr_2,
+ 0,
+ "macroENB-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_ENB_ID, choice.homeENB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BIT_STRING,
+ memb_homeENB_ID_constraint_1,
+ &asn_PER_memb_homeENB_ID_constr_3,
+ 0,
+ "homeENB-ID"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_ENB_ID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* macroENB-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* homeENB-ID */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_ENB_ID_specs_1 = {
+ sizeof(struct RANAP_ENB_ID),
+ offsetof(struct RANAP_ENB_ID, _asn_ctx),
+ offsetof(struct RANAP_ENB_ID, present),
+ sizeof(((struct RANAP_ENB_ID *)0)->present),
+ asn_MAP_RANAP_ENB_ID_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ENB_ID = {
+ "RANAP_ENB-ID",
+ "RANAP_ENB-ID",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_ENB_ID_constr_1,
+ asn_MBR_RANAP_ENB_ID_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_ENB_ID_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_ENB-ID.h b/src/ranap/RANAP_ENB-ID.h
new file mode 100644
index 0000000..4a0a3c6
--- /dev/null
+++ b/src/ranap/RANAP_ENB-ID.h
@@ -0,0 +1,54 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_ENB_ID_H_
+#define _RANAP_ENB_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_ENB_ID_PR {
+ RANAP_ENB_ID_PR_NOTHING, /* No components present */
+ RANAP_ENB_ID_PR_macroENB_ID,
+ RANAP_ENB_ID_PR_homeENB_ID,
+ /* Extensions may appear below */
+
+} RANAP_ENB_ID_PR;
+
+/* RANAP_ENB-ID */
+typedef struct RANAP_ENB_ID {
+ RANAP_ENB_ID_PR present;
+ union RANAP_ENB_ID_u {
+ BIT_STRING_t macroENB_ID;
+ BIT_STRING_t homeENB_ID;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_ENB_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ENB_ID;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ENB_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_EUTRANFrequencies.c b/src/ranap/RANAP_EUTRANFrequencies.c
new file mode 100644
index 0000000..2420cd7
--- /dev/null
+++ b/src/ranap/RANAP_EUTRANFrequencies.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_EUTRANFrequencies.h"
+
+static int
+memb_earfcn_constraint_2(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 65535l)) {
+ /* Constraint 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_earfcn_constr_3 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_type_RANAP_EUTRANFrequencies_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 3, 3, 1l, 8l } /* (SIZE(1..8)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_Member_2[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct Member, earfcn),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_earfcn_constraint_2,
+ &asn_PER_memb_earfcn_constr_3,
+ 0,
+ "earfcn"
+ },
+ { ATF_POINTER, 2, offsetof(struct Member, measBand),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_MeasBand,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "measBand"
+ },
+ { ATF_POINTER, 1, offsetof(struct Member, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "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 }, /* earfcn */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* measBand */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
+ sizeof(struct Member),
+ offsetof(struct 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 */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_Member_2 = {
+ "SEQUENCE",
+ "SEQUENCE",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ 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, /* No PER visible constraints */
+ asn_MBR_Member_2,
+ 3, /* Elements count */
+ &asn_SPC_Member_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_EUTRANFrequencies_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_Member_2,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_EUTRANFrequencies_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_EUTRANFrequencies_specs_1 = {
+ sizeof(struct RANAP_EUTRANFrequencies),
+ offsetof(struct RANAP_EUTRANFrequencies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_EUTRANFrequencies = {
+ "RANAP_EUTRANFrequencies",
+ "RANAP_EUTRANFrequencies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_EUTRANFrequencies_tags_1,
+ sizeof(asn_DEF_RANAP_EUTRANFrequencies_tags_1)
+ /sizeof(asn_DEF_RANAP_EUTRANFrequencies_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_EUTRANFrequencies_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_EUTRANFrequencies_tags_1)
+ /sizeof(asn_DEF_RANAP_EUTRANFrequencies_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_EUTRANFrequencies_constr_1,
+ asn_MBR_RANAP_EUTRANFrequencies_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_EUTRANFrequencies_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_EUTRANFrequencies.h b/src/ranap/RANAP_EUTRANFrequencies.h
new file mode 100644
index 0000000..cc7588c
--- /dev/null
+++ b/src/ranap/RANAP_EUTRANFrequencies.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_EUTRANFrequencies_H_
+#define _RANAP_EUTRANFrequencies_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include <NativeInteger.h>
+#include "RANAP_MeasBand.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_EUTRANFrequencies */
+typedef struct RANAP_EUTRANFrequencies {
+ A_SEQUENCE_OF(struct Member {
+ long earfcn;
+ RANAP_MeasBand_t *measBand /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } ) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_EUTRANFrequencies_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_EUTRANFrequencies;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_EUTRANFrequencies_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_EncryptionAlgorithm.c b/src/ranap/RANAP_EncryptionAlgorithm.c
new file mode 100644
index 0000000..aa24b16
--- /dev/null
+++ b/src/ranap/RANAP_EncryptionAlgorithm.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_EncryptionAlgorithm.h"
+
+int
+RANAP_EncryptionAlgorithm_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 15l)) {
+ /* 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 void
+RANAP_EncryptionAlgorithm_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_EncryptionAlgorithm_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_EncryptionAlgorithm_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_EncryptionAlgorithm_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_EncryptionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_EncryptionAlgorithm_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_EncryptionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_EncryptionAlgorithm_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_EncryptionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_EncryptionAlgorithm_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_EncryptionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_EncryptionAlgorithm_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_EncryptionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_EncryptionAlgorithm_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_EncryptionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_EncryptionAlgorithm_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_EncryptionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_EncryptionAlgorithm_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_EncryptionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_EncryptionAlgorithm_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_EncryptionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_EncryptionAlgorithm_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 4, 4, 0l, 15l } /* (0..15) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_EncryptionAlgorithm_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_EncryptionAlgorithm = {
+ "RANAP_EncryptionAlgorithm",
+ "RANAP_EncryptionAlgorithm",
+ RANAP_EncryptionAlgorithm_free,
+ RANAP_EncryptionAlgorithm_print,
+ RANAP_EncryptionAlgorithm_constraint,
+ RANAP_EncryptionAlgorithm_decode_ber,
+ RANAP_EncryptionAlgorithm_encode_der,
+ RANAP_EncryptionAlgorithm_decode_xer,
+ RANAP_EncryptionAlgorithm_encode_xer,
+ RANAP_EncryptionAlgorithm_decode_uper,
+ RANAP_EncryptionAlgorithm_encode_uper,
+ RANAP_EncryptionAlgorithm_decode_aper,
+ RANAP_EncryptionAlgorithm_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_EncryptionAlgorithm_tags_1,
+ sizeof(asn_DEF_RANAP_EncryptionAlgorithm_tags_1)
+ /sizeof(asn_DEF_RANAP_EncryptionAlgorithm_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_EncryptionAlgorithm_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_EncryptionAlgorithm_tags_1)
+ /sizeof(asn_DEF_RANAP_EncryptionAlgorithm_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_EncryptionAlgorithm_constr_1,
+ 0, 0, /* Defined elsewhere */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_EncryptionAlgorithm.h b/src/ranap/RANAP_EncryptionAlgorithm.h
new file mode 100644
index 0000000..99f5b62
--- /dev/null
+++ b/src/ranap/RANAP_EncryptionAlgorithm.h
@@ -0,0 +1,49 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_EncryptionAlgorithm_H_
+#define _RANAP_EncryptionAlgorithm_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_EncryptionAlgorithm {
+ RANAP_EncryptionAlgorithm_no_encryption = 0,
+ RANAP_EncryptionAlgorithm_standard_UMTS_encryption_algorith_UEA1 = 1,
+ RANAP_EncryptionAlgorithm_standard_UMTS_encryption_algorithm_UEA2 = 2
+} e_RANAP_EncryptionAlgorithm;
+
+/* RANAP_EncryptionAlgorithm */
+typedef long RANAP_EncryptionAlgorithm_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_EncryptionAlgorithm;
+asn_struct_free_f RANAP_EncryptionAlgorithm_free;
+asn_struct_print_f RANAP_EncryptionAlgorithm_print;
+asn_constr_check_f RANAP_EncryptionAlgorithm_constraint;
+ber_type_decoder_f RANAP_EncryptionAlgorithm_decode_ber;
+der_type_encoder_f RANAP_EncryptionAlgorithm_encode_der;
+xer_type_decoder_f RANAP_EncryptionAlgorithm_decode_xer;
+xer_type_encoder_f RANAP_EncryptionAlgorithm_encode_xer;
+per_type_decoder_f RANAP_EncryptionAlgorithm_decode_uper;
+per_type_encoder_f RANAP_EncryptionAlgorithm_encode_uper;
+per_type_decoder_f RANAP_EncryptionAlgorithm_decode_aper;
+per_type_encoder_f RANAP_EncryptionAlgorithm_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_EncryptionAlgorithm_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_EncryptionInformation.c b/src/ranap/RANAP_EncryptionInformation.c
new file mode 100644
index 0000000..6d586bb
--- /dev/null
+++ b/src/ranap/RANAP_EncryptionInformation.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_EncryptionInformation.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_EncryptionInformation_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_EncryptionInformation, permittedAlgorithms),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PermittedEncryptionAlgorithms,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "permittedAlgorithms"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_EncryptionInformation, key),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_EncryptionKey,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "key"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_EncryptionInformation, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_EncryptionInformation_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_EncryptionInformation_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_EncryptionInformation_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* permittedAlgorithms */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* key */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_EncryptionInformation_specs_1 = {
+ sizeof(struct RANAP_EncryptionInformation),
+ offsetof(struct RANAP_EncryptionInformation, _asn_ctx),
+ asn_MAP_RANAP_EncryptionInformation_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_EncryptionInformation_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_EncryptionInformation = {
+ "RANAP_EncryptionInformation",
+ "RANAP_EncryptionInformation",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_EncryptionInformation_tags_1,
+ sizeof(asn_DEF_RANAP_EncryptionInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_EncryptionInformation_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_EncryptionInformation_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_EncryptionInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_EncryptionInformation_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_EncryptionInformation_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_EncryptionInformation_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_EncryptionInformation.h b/src/ranap/RANAP_EncryptionInformation.h
new file mode 100644
index 0000000..942108d
--- /dev/null
+++ b/src/ranap/RANAP_EncryptionInformation.h
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_EncryptionInformation_H_
+#define _RANAP_EncryptionInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_PermittedEncryptionAlgorithms.h"
+#include "RANAP_EncryptionKey.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_EncryptionInformation */
+typedef struct RANAP_EncryptionInformation {
+ RANAP_PermittedEncryptionAlgorithms_t permittedAlgorithms;
+ RANAP_EncryptionKey_t key;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_EncryptionInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_EncryptionInformation;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_EncryptionInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_EncryptionKey.c b/src/ranap/RANAP_EncryptionKey.c
new file mode 100644
index 0000000..fc8dc45
--- /dev/null
+++ b/src/ranap/RANAP_EncryptionKey.c
@@ -0,0 +1,171 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_EncryptionKey.h"
+
+int
+RANAP_EncryptionKey_constraint(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 == 128l)) {
+ /* 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 void
+RANAP_EncryptionKey_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_BIT_STRING.free_struct;
+ td->print_struct = asn_DEF_BIT_STRING.print_struct;
+ td->check_constraints = asn_DEF_BIT_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_BIT_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_BIT_STRING.per_constraints;
+ td->elements = asn_DEF_BIT_STRING.elements;
+ td->elements_count = asn_DEF_BIT_STRING.elements_count;
+ td->specifics = asn_DEF_BIT_STRING.specifics;
+}
+
+void
+RANAP_EncryptionKey_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_EncryptionKey_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_EncryptionKey_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_EncryptionKey_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_EncryptionKey_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_EncryptionKey_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_EncryptionKey_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_EncryptionKey_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_EncryptionKey_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_EncryptionKey_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_EncryptionKey_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_EncryptionKey_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_EncryptionKey_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_EncryptionKey_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_EncryptionKey_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_EncryptionKey_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_EncryptionKey_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_EncryptionKey_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_EncryptionKey_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_EncryptionKey_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_EncryptionKey_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 128l, 128l } /* (SIZE(128..128)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_EncryptionKey_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_EncryptionKey = {
+ "RANAP_EncryptionKey",
+ "RANAP_EncryptionKey",
+ RANAP_EncryptionKey_free,
+ RANAP_EncryptionKey_print,
+ RANAP_EncryptionKey_constraint,
+ RANAP_EncryptionKey_decode_ber,
+ RANAP_EncryptionKey_encode_der,
+ RANAP_EncryptionKey_decode_xer,
+ RANAP_EncryptionKey_encode_xer,
+ RANAP_EncryptionKey_decode_uper,
+ RANAP_EncryptionKey_encode_uper,
+ RANAP_EncryptionKey_decode_aper,
+ RANAP_EncryptionKey_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_EncryptionKey_tags_1,
+ sizeof(asn_DEF_RANAP_EncryptionKey_tags_1)
+ /sizeof(asn_DEF_RANAP_EncryptionKey_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_EncryptionKey_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_EncryptionKey_tags_1)
+ /sizeof(asn_DEF_RANAP_EncryptionKey_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_EncryptionKey_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_EncryptionKey.h b/src/ranap/RANAP_EncryptionKey.h
new file mode 100644
index 0000000..7173803
--- /dev/null
+++ b/src/ranap/RANAP_EncryptionKey.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_EncryptionKey_H_
+#define _RANAP_EncryptionKey_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_EncryptionKey */
+typedef BIT_STRING_t RANAP_EncryptionKey_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_EncryptionKey;
+asn_struct_free_f RANAP_EncryptionKey_free;
+asn_struct_print_f RANAP_EncryptionKey_print;
+asn_constr_check_f RANAP_EncryptionKey_constraint;
+ber_type_decoder_f RANAP_EncryptionKey_decode_ber;
+der_type_encoder_f RANAP_EncryptionKey_encode_der;
+xer_type_decoder_f RANAP_EncryptionKey_decode_xer;
+xer_type_encoder_f RANAP_EncryptionKey_encode_xer;
+per_type_decoder_f RANAP_EncryptionKey_decode_uper;
+per_type_encoder_f RANAP_EncryptionKey_encode_uper;
+per_type_decoder_f RANAP_EncryptionKey_decode_aper;
+per_type_encoder_f RANAP_EncryptionKey_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_EncryptionKey_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_End-Of-CSFB.c b/src/ranap/RANAP_End-Of-CSFB.c
new file mode 100644
index 0000000..534fb5a
--- /dev/null
+++ b/src/ranap/RANAP_End-Of-CSFB.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_End-Of-CSFB.h"
+
+int
+RANAP_End_Of_CSFB_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_End_Of_CSFB_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_End_Of_CSFB_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_End_Of_CSFB_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_End_Of_CSFB_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_End_Of_CSFB_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_End_Of_CSFB_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_End_Of_CSFB_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_End_Of_CSFB_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_End_Of_CSFB_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_End_Of_CSFB_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_End_Of_CSFB_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_End_Of_CSFB_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_End_Of_CSFB_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_End_Of_CSFB_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_End_Of_CSFB_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_End_Of_CSFB_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_End_Of_CSFB_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_End_Of_CSFB_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_End_Of_CSFB_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_End_Of_CSFB_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_End_Of_CSFB_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_End_Of_CSFB_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_End_Of_CSFB_value2enum_1[] = {
+ { 0, 11, "end-of-CSFB" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_End_Of_CSFB_enum2value_1[] = {
+ 0 /* end-of-CSFB(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_End_Of_CSFB_specs_1 = {
+ asn_MAP_RANAP_End_Of_CSFB_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_End_Of_CSFB_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_RANAP_End_Of_CSFB_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_End_Of_CSFB = {
+ "RANAP_End-Of-CSFB",
+ "RANAP_End-Of-CSFB",
+ RANAP_End_Of_CSFB_free,
+ RANAP_End_Of_CSFB_print,
+ RANAP_End_Of_CSFB_constraint,
+ RANAP_End_Of_CSFB_decode_ber,
+ RANAP_End_Of_CSFB_encode_der,
+ RANAP_End_Of_CSFB_decode_xer,
+ RANAP_End_Of_CSFB_encode_xer,
+ RANAP_End_Of_CSFB_decode_uper,
+ RANAP_End_Of_CSFB_encode_uper,
+ RANAP_End_Of_CSFB_decode_aper,
+ RANAP_End_Of_CSFB_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_End_Of_CSFB_tags_1,
+ sizeof(asn_DEF_RANAP_End_Of_CSFB_tags_1)
+ /sizeof(asn_DEF_RANAP_End_Of_CSFB_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_End_Of_CSFB_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_End_Of_CSFB_tags_1)
+ /sizeof(asn_DEF_RANAP_End_Of_CSFB_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_End_Of_CSFB_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_End_Of_CSFB_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_End-Of-CSFB.h b/src/ranap/RANAP_End-Of-CSFB.h
new file mode 100644
index 0000000..b992889
--- /dev/null
+++ b/src/ranap/RANAP_End-Of-CSFB.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_End_Of_CSFB_H_
+#define _RANAP_End_Of_CSFB_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_End_Of_CSFB {
+ RANAP_End_Of_CSFB_end_of_CSFB = 0
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_End_Of_CSFB;
+
+/* RANAP_End-Of-CSFB */
+typedef long RANAP_End_Of_CSFB_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_End_Of_CSFB;
+asn_struct_free_f RANAP_End_Of_CSFB_free;
+asn_struct_print_f RANAP_End_Of_CSFB_print;
+asn_constr_check_f RANAP_End_Of_CSFB_constraint;
+ber_type_decoder_f RANAP_End_Of_CSFB_decode_ber;
+der_type_encoder_f RANAP_End_Of_CSFB_encode_der;
+xer_type_decoder_f RANAP_End_Of_CSFB_decode_xer;
+xer_type_encoder_f RANAP_End_Of_CSFB_encode_xer;
+per_type_decoder_f RANAP_End_Of_CSFB_decode_uper;
+per_type_encoder_f RANAP_End_Of_CSFB_encode_uper;
+per_type_decoder_f RANAP_End_Of_CSFB_decode_aper;
+per_type_encoder_f RANAP_End_Of_CSFB_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_End_Of_CSFB_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_EnhancedRelocationCompleteConfirm.c b/src/ranap/RANAP_EnhancedRelocationCompleteConfirm.c
new file mode 100644
index 0000000..fcdd3d3
--- /dev/null
+++ b/src/ranap/RANAP_EnhancedRelocationCompleteConfirm.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_EnhancedRelocationCompleteConfirm.h"
+
+static int
+memb_enhancedRelocationCompleteConfirm_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_enhancedRelocationCompleteConfirm_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_enhancedRelocationCompleteConfirm_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_enhancedRelocationCompleteConfirm_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_enhancedRelocationCompleteConfirm_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_enhancedRelocationCompleteConfirm_ies_specs_2 = {
+ sizeof(struct enhancedRelocationCompleteConfirm_ies),
+ offsetof(struct enhancedRelocationCompleteConfirm_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_enhancedRelocationCompleteConfirm_ies_2 = {
+ "enhancedRelocationCompleteConfirm-ies",
+ "enhancedRelocationCompleteConfirm-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_enhancedRelocationCompleteConfirm_ies_tags_2,
+ sizeof(asn_DEF_enhancedRelocationCompleteConfirm_ies_tags_2)
+ /sizeof(asn_DEF_enhancedRelocationCompleteConfirm_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_enhancedRelocationCompleteConfirm_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_enhancedRelocationCompleteConfirm_ies_tags_2)
+ /sizeof(asn_DEF_enhancedRelocationCompleteConfirm_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_enhancedRelocationCompleteConfirm_ies_constr_2,
+ asn_MBR_enhancedRelocationCompleteConfirm_ies_2,
+ 1, /* Single element */
+ &asn_SPC_enhancedRelocationCompleteConfirm_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_EnhancedRelocationCompleteConfirm_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_EnhancedRelocationCompleteConfirm, enhancedRelocationCompleteConfirm_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_enhancedRelocationCompleteConfirm_ies_2,
+ memb_enhancedRelocationCompleteConfirm_ies_constraint_1,
+ &asn_PER_memb_enhancedRelocationCompleteConfirm_ies_constr_2,
+ 0,
+ "enhancedRelocationCompleteConfirm-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_EnhancedRelocationCompleteConfirm_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_EnhancedRelocationCompleteConfirm_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* enhancedRelocationCompleteConfirm-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_EnhancedRelocationCompleteConfirm_specs_1 = {
+ sizeof(struct RANAP_EnhancedRelocationCompleteConfirm),
+ offsetof(struct RANAP_EnhancedRelocationCompleteConfirm, _asn_ctx),
+ asn_MAP_RANAP_EnhancedRelocationCompleteConfirm_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_EnhancedRelocationCompleteConfirm = {
+ "RANAP_EnhancedRelocationCompleteConfirm",
+ "RANAP_EnhancedRelocationCompleteConfirm",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_EnhancedRelocationCompleteConfirm_tags_1,
+ sizeof(asn_DEF_RANAP_EnhancedRelocationCompleteConfirm_tags_1)
+ /sizeof(asn_DEF_RANAP_EnhancedRelocationCompleteConfirm_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_EnhancedRelocationCompleteConfirm_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_EnhancedRelocationCompleteConfirm_tags_1)
+ /sizeof(asn_DEF_RANAP_EnhancedRelocationCompleteConfirm_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_EnhancedRelocationCompleteConfirm_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_EnhancedRelocationCompleteConfirm_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_EnhancedRelocationCompleteConfirm.h b/src/ranap/RANAP_EnhancedRelocationCompleteConfirm.h
new file mode 100644
index 0000000..5891f03
--- /dev/null
+++ b/src/ranap/RANAP_EnhancedRelocationCompleteConfirm.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_EnhancedRelocationCompleteConfirm_H_
+#define _RANAP_EnhancedRelocationCompleteConfirm_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_EnhancedRelocationCompleteConfirm */
+typedef struct RANAP_EnhancedRelocationCompleteConfirm {
+ struct enhancedRelocationCompleteConfirm_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } enhancedRelocationCompleteConfirm_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_EnhancedRelocationCompleteConfirm_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_EnhancedRelocationCompleteConfirm;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_EnhancedRelocationCompleteConfirm_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_EnhancedRelocationCompleteFailure.c b/src/ranap/RANAP_EnhancedRelocationCompleteFailure.c
new file mode 100644
index 0000000..b50b0bf
--- /dev/null
+++ b/src/ranap/RANAP_EnhancedRelocationCompleteFailure.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_EnhancedRelocationCompleteFailure.h"
+
+static int
+memb_enhancedRelocationCompleteFailure_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_enhancedRelocationCompleteFailure_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_enhancedRelocationCompleteFailure_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_enhancedRelocationCompleteFailure_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_enhancedRelocationCompleteFailure_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_enhancedRelocationCompleteFailure_ies_specs_2 = {
+ sizeof(struct enhancedRelocationCompleteFailure_ies),
+ offsetof(struct enhancedRelocationCompleteFailure_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_enhancedRelocationCompleteFailure_ies_2 = {
+ "enhancedRelocationCompleteFailure-ies",
+ "enhancedRelocationCompleteFailure-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_enhancedRelocationCompleteFailure_ies_tags_2,
+ sizeof(asn_DEF_enhancedRelocationCompleteFailure_ies_tags_2)
+ /sizeof(asn_DEF_enhancedRelocationCompleteFailure_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_enhancedRelocationCompleteFailure_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_enhancedRelocationCompleteFailure_ies_tags_2)
+ /sizeof(asn_DEF_enhancedRelocationCompleteFailure_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_enhancedRelocationCompleteFailure_ies_constr_2,
+ asn_MBR_enhancedRelocationCompleteFailure_ies_2,
+ 1, /* Single element */
+ &asn_SPC_enhancedRelocationCompleteFailure_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_EnhancedRelocationCompleteFailure_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_EnhancedRelocationCompleteFailure, enhancedRelocationCompleteFailure_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_enhancedRelocationCompleteFailure_ies_2,
+ memb_enhancedRelocationCompleteFailure_ies_constraint_1,
+ &asn_PER_memb_enhancedRelocationCompleteFailure_ies_constr_2,
+ 0,
+ "enhancedRelocationCompleteFailure-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_EnhancedRelocationCompleteFailure_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_EnhancedRelocationCompleteFailure_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* enhancedRelocationCompleteFailure-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_EnhancedRelocationCompleteFailure_specs_1 = {
+ sizeof(struct RANAP_EnhancedRelocationCompleteFailure),
+ offsetof(struct RANAP_EnhancedRelocationCompleteFailure, _asn_ctx),
+ asn_MAP_RANAP_EnhancedRelocationCompleteFailure_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_EnhancedRelocationCompleteFailure = {
+ "RANAP_EnhancedRelocationCompleteFailure",
+ "RANAP_EnhancedRelocationCompleteFailure",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_EnhancedRelocationCompleteFailure_tags_1,
+ sizeof(asn_DEF_RANAP_EnhancedRelocationCompleteFailure_tags_1)
+ /sizeof(asn_DEF_RANAP_EnhancedRelocationCompleteFailure_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_EnhancedRelocationCompleteFailure_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_EnhancedRelocationCompleteFailure_tags_1)
+ /sizeof(asn_DEF_RANAP_EnhancedRelocationCompleteFailure_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_EnhancedRelocationCompleteFailure_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_EnhancedRelocationCompleteFailure_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_EnhancedRelocationCompleteFailure.h b/src/ranap/RANAP_EnhancedRelocationCompleteFailure.h
new file mode 100644
index 0000000..0d055e2
--- /dev/null
+++ b/src/ranap/RANAP_EnhancedRelocationCompleteFailure.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_EnhancedRelocationCompleteFailure_H_
+#define _RANAP_EnhancedRelocationCompleteFailure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_EnhancedRelocationCompleteFailure */
+typedef struct RANAP_EnhancedRelocationCompleteFailure {
+ struct enhancedRelocationCompleteFailure_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } enhancedRelocationCompleteFailure_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_EnhancedRelocationCompleteFailure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_EnhancedRelocationCompleteFailure;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_EnhancedRelocationCompleteFailure_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_EnhancedRelocationCompleteRequest.c b/src/ranap/RANAP_EnhancedRelocationCompleteRequest.c
new file mode 100644
index 0000000..a7addd4
--- /dev/null
+++ b/src/ranap/RANAP_EnhancedRelocationCompleteRequest.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_EnhancedRelocationCompleteRequest.h"
+
+static int
+memb_enhancedRelocationCompleteRequest_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_enhancedRelocationCompleteRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_enhancedRelocationCompleteRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_enhancedRelocationCompleteRequest_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_enhancedRelocationCompleteRequest_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_enhancedRelocationCompleteRequest_ies_specs_2 = {
+ sizeof(struct enhancedRelocationCompleteRequest_ies),
+ offsetof(struct enhancedRelocationCompleteRequest_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_enhancedRelocationCompleteRequest_ies_2 = {
+ "enhancedRelocationCompleteRequest-ies",
+ "enhancedRelocationCompleteRequest-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_enhancedRelocationCompleteRequest_ies_tags_2,
+ sizeof(asn_DEF_enhancedRelocationCompleteRequest_ies_tags_2)
+ /sizeof(asn_DEF_enhancedRelocationCompleteRequest_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_enhancedRelocationCompleteRequest_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_enhancedRelocationCompleteRequest_ies_tags_2)
+ /sizeof(asn_DEF_enhancedRelocationCompleteRequest_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_enhancedRelocationCompleteRequest_ies_constr_2,
+ asn_MBR_enhancedRelocationCompleteRequest_ies_2,
+ 1, /* Single element */
+ &asn_SPC_enhancedRelocationCompleteRequest_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_EnhancedRelocationCompleteRequest_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_EnhancedRelocationCompleteRequest, enhancedRelocationCompleteRequest_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_enhancedRelocationCompleteRequest_ies_2,
+ memb_enhancedRelocationCompleteRequest_ies_constraint_1,
+ &asn_PER_memb_enhancedRelocationCompleteRequest_ies_constr_2,
+ 0,
+ "enhancedRelocationCompleteRequest-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_EnhancedRelocationCompleteRequest_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_EnhancedRelocationCompleteRequest_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* enhancedRelocationCompleteRequest-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_EnhancedRelocationCompleteRequest_specs_1 = {
+ sizeof(struct RANAP_EnhancedRelocationCompleteRequest),
+ offsetof(struct RANAP_EnhancedRelocationCompleteRequest, _asn_ctx),
+ asn_MAP_RANAP_EnhancedRelocationCompleteRequest_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_EnhancedRelocationCompleteRequest = {
+ "RANAP_EnhancedRelocationCompleteRequest",
+ "RANAP_EnhancedRelocationCompleteRequest",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_EnhancedRelocationCompleteRequest_tags_1,
+ sizeof(asn_DEF_RANAP_EnhancedRelocationCompleteRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_EnhancedRelocationCompleteRequest_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_EnhancedRelocationCompleteRequest_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_EnhancedRelocationCompleteRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_EnhancedRelocationCompleteRequest_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_EnhancedRelocationCompleteRequest_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_EnhancedRelocationCompleteRequest_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_EnhancedRelocationCompleteRequest.h b/src/ranap/RANAP_EnhancedRelocationCompleteRequest.h
new file mode 100644
index 0000000..ba398bf
--- /dev/null
+++ b/src/ranap/RANAP_EnhancedRelocationCompleteRequest.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_EnhancedRelocationCompleteRequest_H_
+#define _RANAP_EnhancedRelocationCompleteRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_EnhancedRelocationCompleteRequest */
+typedef struct RANAP_EnhancedRelocationCompleteRequest {
+ struct enhancedRelocationCompleteRequest_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } enhancedRelocationCompleteRequest_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_EnhancedRelocationCompleteRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_EnhancedRelocationCompleteRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_EnhancedRelocationCompleteRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_EnhancedRelocationCompleteResponse.c b/src/ranap/RANAP_EnhancedRelocationCompleteResponse.c
new file mode 100644
index 0000000..6d5e63b
--- /dev/null
+++ b/src/ranap/RANAP_EnhancedRelocationCompleteResponse.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_EnhancedRelocationCompleteResponse.h"
+
+static int
+memb_enhancedRelocationCompleteResponse_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_enhancedRelocationCompleteResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_enhancedRelocationCompleteResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_enhancedRelocationCompleteResponse_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_enhancedRelocationCompleteResponse_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_enhancedRelocationCompleteResponse_ies_specs_2 = {
+ sizeof(struct enhancedRelocationCompleteResponse_ies),
+ offsetof(struct enhancedRelocationCompleteResponse_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_enhancedRelocationCompleteResponse_ies_2 = {
+ "enhancedRelocationCompleteResponse-ies",
+ "enhancedRelocationCompleteResponse-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_enhancedRelocationCompleteResponse_ies_tags_2,
+ sizeof(asn_DEF_enhancedRelocationCompleteResponse_ies_tags_2)
+ /sizeof(asn_DEF_enhancedRelocationCompleteResponse_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_enhancedRelocationCompleteResponse_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_enhancedRelocationCompleteResponse_ies_tags_2)
+ /sizeof(asn_DEF_enhancedRelocationCompleteResponse_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_enhancedRelocationCompleteResponse_ies_constr_2,
+ asn_MBR_enhancedRelocationCompleteResponse_ies_2,
+ 1, /* Single element */
+ &asn_SPC_enhancedRelocationCompleteResponse_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_EnhancedRelocationCompleteResponse_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_EnhancedRelocationCompleteResponse, enhancedRelocationCompleteResponse_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_enhancedRelocationCompleteResponse_ies_2,
+ memb_enhancedRelocationCompleteResponse_ies_constraint_1,
+ &asn_PER_memb_enhancedRelocationCompleteResponse_ies_constr_2,
+ 0,
+ "enhancedRelocationCompleteResponse-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_EnhancedRelocationCompleteResponse_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_EnhancedRelocationCompleteResponse_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* enhancedRelocationCompleteResponse-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_EnhancedRelocationCompleteResponse_specs_1 = {
+ sizeof(struct RANAP_EnhancedRelocationCompleteResponse),
+ offsetof(struct RANAP_EnhancedRelocationCompleteResponse, _asn_ctx),
+ asn_MAP_RANAP_EnhancedRelocationCompleteResponse_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_EnhancedRelocationCompleteResponse = {
+ "RANAP_EnhancedRelocationCompleteResponse",
+ "RANAP_EnhancedRelocationCompleteResponse",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_EnhancedRelocationCompleteResponse_tags_1,
+ sizeof(asn_DEF_RANAP_EnhancedRelocationCompleteResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_EnhancedRelocationCompleteResponse_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_EnhancedRelocationCompleteResponse_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_EnhancedRelocationCompleteResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_EnhancedRelocationCompleteResponse_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_EnhancedRelocationCompleteResponse_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_EnhancedRelocationCompleteResponse_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_EnhancedRelocationCompleteResponse.h b/src/ranap/RANAP_EnhancedRelocationCompleteResponse.h
new file mode 100644
index 0000000..7691d79
--- /dev/null
+++ b/src/ranap/RANAP_EnhancedRelocationCompleteResponse.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_EnhancedRelocationCompleteResponse_H_
+#define _RANAP_EnhancedRelocationCompleteResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_EnhancedRelocationCompleteResponse */
+typedef struct RANAP_EnhancedRelocationCompleteResponse {
+ struct enhancedRelocationCompleteResponse_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } enhancedRelocationCompleteResponse_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_EnhancedRelocationCompleteResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_EnhancedRelocationCompleteResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_EnhancedRelocationCompleteResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_EquipmentsToBeTraced.c b/src/ranap/RANAP_EquipmentsToBeTraced.c
new file mode 100644
index 0000000..c22da5d
--- /dev/null
+++ b/src/ranap/RANAP_EquipmentsToBeTraced.c
@@ -0,0 +1,92 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_EquipmentsToBeTraced.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_EquipmentsToBeTraced_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 3l } /* (0..3,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_EquipmentsToBeTraced_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_EquipmentsToBeTraced, choice.iMEIlist),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IMEIList,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iMEIlist"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_EquipmentsToBeTraced, choice.iMEISVlist),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IMEISVList,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iMEISVlist"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_EquipmentsToBeTraced, choice.iMEIgroup),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IMEIGroup,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iMEIgroup"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_EquipmentsToBeTraced, choice.iMEISVgroup),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IMEISVGroup,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iMEISVgroup"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_EquipmentsToBeTraced_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* iMEIlist */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* iMEISVlist */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* iMEIgroup */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iMEISVgroup */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_EquipmentsToBeTraced_specs_1 = {
+ sizeof(struct RANAP_EquipmentsToBeTraced),
+ offsetof(struct RANAP_EquipmentsToBeTraced, _asn_ctx),
+ offsetof(struct RANAP_EquipmentsToBeTraced, present),
+ sizeof(((struct RANAP_EquipmentsToBeTraced *)0)->present),
+ asn_MAP_RANAP_EquipmentsToBeTraced_tag2el_1,
+ 4, /* Count of tags in the map */
+ 0,
+ 4 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_EquipmentsToBeTraced = {
+ "RANAP_EquipmentsToBeTraced",
+ "RANAP_EquipmentsToBeTraced",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_EquipmentsToBeTraced_constr_1,
+ asn_MBR_RANAP_EquipmentsToBeTraced_1,
+ 4, /* Elements count */
+ &asn_SPC_RANAP_EquipmentsToBeTraced_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_EquipmentsToBeTraced.h b/src/ranap/RANAP_EquipmentsToBeTraced.h
new file mode 100644
index 0000000..01478db
--- /dev/null
+++ b/src/ranap/RANAP_EquipmentsToBeTraced.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_EquipmentsToBeTraced_H_
+#define _RANAP_EquipmentsToBeTraced_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IMEIList.h"
+#include "RANAP_IMEISVList.h"
+#include "RANAP_IMEIGroup.h"
+#include "RANAP_IMEISVGroup.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_EquipmentsToBeTraced_PR {
+ RANAP_EquipmentsToBeTraced_PR_NOTHING, /* No components present */
+ RANAP_EquipmentsToBeTraced_PR_iMEIlist,
+ RANAP_EquipmentsToBeTraced_PR_iMEISVlist,
+ RANAP_EquipmentsToBeTraced_PR_iMEIgroup,
+ RANAP_EquipmentsToBeTraced_PR_iMEISVgroup,
+ /* Extensions may appear below */
+
+} RANAP_EquipmentsToBeTraced_PR;
+
+/* RANAP_EquipmentsToBeTraced */
+typedef struct RANAP_EquipmentsToBeTraced {
+ RANAP_EquipmentsToBeTraced_PR present;
+ union RANAP_EquipmentsToBeTraced_u {
+ RANAP_IMEIList_t iMEIlist;
+ RANAP_IMEISVList_t iMEISVlist;
+ RANAP_IMEIGroup_t iMEIgroup;
+ RANAP_IMEISVGroup_t iMEISVgroup;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_EquipmentsToBeTraced_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_EquipmentsToBeTraced;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_EquipmentsToBeTraced_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ErrorIndication.c b/src/ranap/RANAP_ErrorIndication.c
new file mode 100644
index 0000000..6cc3fbe
--- /dev/null
+++ b/src/ranap/RANAP_ErrorIndication.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_ErrorIndication.h"
+
+static int
+memb_errorIndication_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_errorIndication_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_errorIndication_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_errorIndication_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_errorIndication_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_errorIndication_ies_specs_2 = {
+ sizeof(struct errorIndication_ies),
+ offsetof(struct errorIndication_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_errorIndication_ies_2 = {
+ "errorIndication-ies",
+ "errorIndication-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_errorIndication_ies_tags_2,
+ sizeof(asn_DEF_errorIndication_ies_tags_2)
+ /sizeof(asn_DEF_errorIndication_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_errorIndication_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_errorIndication_ies_tags_2)
+ /sizeof(asn_DEF_errorIndication_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_errorIndication_ies_constr_2,
+ asn_MBR_errorIndication_ies_2,
+ 1, /* Single element */
+ &asn_SPC_errorIndication_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_ErrorIndication_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_ErrorIndication, errorIndication_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_errorIndication_ies_2,
+ memb_errorIndication_ies_constraint_1,
+ &asn_PER_memb_errorIndication_ies_constr_2,
+ 0,
+ "errorIndication-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_ErrorIndication_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_ErrorIndication_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* errorIndication-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_ErrorIndication_specs_1 = {
+ sizeof(struct RANAP_ErrorIndication),
+ offsetof(struct RANAP_ErrorIndication, _asn_ctx),
+ asn_MAP_RANAP_ErrorIndication_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ErrorIndication = {
+ "RANAP_ErrorIndication",
+ "RANAP_ErrorIndication",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ErrorIndication_tags_1,
+ sizeof(asn_DEF_RANAP_ErrorIndication_tags_1)
+ /sizeof(asn_DEF_RANAP_ErrorIndication_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ErrorIndication_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ErrorIndication_tags_1)
+ /sizeof(asn_DEF_RANAP_ErrorIndication_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_ErrorIndication_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_ErrorIndication_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_ErrorIndication.h b/src/ranap/RANAP_ErrorIndication.h
new file mode 100644
index 0000000..ea84d58
--- /dev/null
+++ b/src/ranap/RANAP_ErrorIndication.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_ErrorIndication_H_
+#define _RANAP_ErrorIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_ErrorIndication */
+typedef struct RANAP_ErrorIndication {
+ struct errorIndication_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } errorIndication_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_ErrorIndication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ErrorIndication;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ErrorIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Event.c b/src/ranap/RANAP_Event.c
new file mode 100644
index 0000000..17b6fcf
--- /dev/null
+++ b/src/ranap/RANAP_Event.c
@@ -0,0 +1,175 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Event.h"
+
+int
+RANAP_Event_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_Event_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_Event_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Event_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Event_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Event_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Event_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Event_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Event_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Event_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Event_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Event_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Event_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Event_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Event_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Event_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Event_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Event_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Event_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Event_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Event_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Event_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_Event_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 2l } /* (0..2,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_Event_value2enum_1[] = {
+ { 0, 27, "stop-change-of-service-area" },
+ { 1, 6, "direct" },
+ { 2, 21, "change-of-servicearea" },
+ { 3, 11, "stop-direct" },
+ { 4, 8, "periodic" },
+ { 5, 13, "stop-periodic" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_Event_enum2value_1[] = {
+ 2, /* change-of-servicearea(2) */
+ 1, /* direct(1) */
+ 4, /* periodic(4) */
+ 0, /* stop-change-of-service-area(0) */
+ 3, /* stop-direct(3) */
+ 5 /* stop-periodic(5) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_Event_specs_1 = {
+ asn_MAP_RANAP_Event_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_Event_enum2value_1, /* N => "tag"; sorted by N */
+ 6, /* 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_RANAP_Event_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Event = {
+ "RANAP_Event",
+ "RANAP_Event",
+ RANAP_Event_free,
+ RANAP_Event_print,
+ RANAP_Event_constraint,
+ RANAP_Event_decode_ber,
+ RANAP_Event_encode_der,
+ RANAP_Event_decode_xer,
+ RANAP_Event_encode_xer,
+ RANAP_Event_decode_uper,
+ RANAP_Event_encode_uper,
+ RANAP_Event_decode_aper,
+ RANAP_Event_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Event_tags_1,
+ sizeof(asn_DEF_RANAP_Event_tags_1)
+ /sizeof(asn_DEF_RANAP_Event_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Event_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Event_tags_1)
+ /sizeof(asn_DEF_RANAP_Event_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Event_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_Event_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Event.h b/src/ranap/RANAP_Event.h
new file mode 100644
index 0000000..a3a0e67
--- /dev/null
+++ b/src/ranap/RANAP_Event.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Event_H_
+#define _RANAP_Event_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_Event {
+ RANAP_Event_stop_change_of_service_area = 0,
+ RANAP_Event_direct = 1,
+ RANAP_Event_change_of_servicearea = 2,
+ /*
+ * Enumeration is extensible
+ */
+ RANAP_Event_stop_direct = 3,
+ RANAP_Event_periodic = 4,
+ RANAP_Event_stop_periodic = 5
+} e_RANAP_Event;
+
+/* RANAP_Event */
+typedef long RANAP_Event_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Event;
+asn_struct_free_f RANAP_Event_free;
+asn_struct_print_f RANAP_Event_print;
+asn_constr_check_f RANAP_Event_constraint;
+ber_type_decoder_f RANAP_Event_decode_ber;
+der_type_encoder_f RANAP_Event_encode_der;
+xer_type_decoder_f RANAP_Event_decode_xer;
+xer_type_encoder_f RANAP_Event_encode_xer;
+per_type_decoder_f RANAP_Event_decode_uper;
+per_type_encoder_f RANAP_Event_encode_uper;
+per_type_decoder_f RANAP_Event_decode_aper;
+per_type_encoder_f RANAP_Event_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Event_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Event1F-Parameters.c b/src/ranap/RANAP_Event1F-Parameters.c
new file mode 100644
index 0000000..4340aa8
--- /dev/null
+++ b/src/ranap/RANAP_Event1F-Parameters.c
@@ -0,0 +1,101 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Event1F-Parameters.h"
+
+static int
+memb_threshold_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= -120ull && value <= 165l)) {
+ /* Constraint 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_threshold_constr_3 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 9, 9, -120ull, 165l } /* (-120..165) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_Event1F_Parameters_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Event1F_Parameters, measurementQuantity),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_MeasurementQuantity,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "measurementQuantity"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Event1F_Parameters, threshold),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_threshold_constraint_1,
+ &asn_PER_memb_threshold_constr_3,
+ 0,
+ "threshold"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Event1F_Parameters_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_Event1F_Parameters_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* measurementQuantity */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* threshold */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_Event1F_Parameters_specs_1 = {
+ sizeof(struct RANAP_Event1F_Parameters),
+ offsetof(struct RANAP_Event1F_Parameters, _asn_ctx),
+ asn_MAP_RANAP_Event1F_Parameters_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* Start extensions */
+ 3 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Event1F_Parameters = {
+ "RANAP_Event1F-Parameters",
+ "RANAP_Event1F-Parameters",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Event1F_Parameters_tags_1,
+ sizeof(asn_DEF_RANAP_Event1F_Parameters_tags_1)
+ /sizeof(asn_DEF_RANAP_Event1F_Parameters_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Event1F_Parameters_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Event1F_Parameters_tags_1)
+ /sizeof(asn_DEF_RANAP_Event1F_Parameters_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_Event1F_Parameters_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_Event1F_Parameters_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Event1F-Parameters.h b/src/ranap/RANAP_Event1F-Parameters.h
new file mode 100644
index 0000000..6fc7309
--- /dev/null
+++ b/src/ranap/RANAP_Event1F-Parameters.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Event1F_Parameters_H_
+#define _RANAP_Event1F_Parameters_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_MeasurementQuantity.h"
+#include <NativeInteger.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Event1F-Parameters */
+typedef struct RANAP_Event1F_Parameters {
+ RANAP_MeasurementQuantity_t measurementQuantity;
+ long threshold;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Event1F_Parameters_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Event1F_Parameters;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Event1F_Parameters_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Event1I-Parameters.c b/src/ranap/RANAP_Event1I-Parameters.c
new file mode 100644
index 0000000..16230dd
--- /dev/null
+++ b/src/ranap/RANAP_Event1I-Parameters.c
@@ -0,0 +1,91 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Event1I-Parameters.h"
+
+static int
+memb_threshold_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= -120ull && value <= -25ull)) {
+ /* Constraint 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_threshold_constr_2 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 7, 7, -120ull, -25ull } /* (-120..-25) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_Event1I_Parameters_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Event1I_Parameters, threshold),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_threshold_constraint_1,
+ &asn_PER_memb_threshold_constr_2,
+ 0,
+ "threshold"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Event1I_Parameters_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_Event1I_Parameters_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* threshold */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_Event1I_Parameters_specs_1 = {
+ sizeof(struct RANAP_Event1I_Parameters),
+ offsetof(struct RANAP_Event1I_Parameters, _asn_ctx),
+ asn_MAP_RANAP_Event1I_Parameters_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Event1I_Parameters = {
+ "RANAP_Event1I-Parameters",
+ "RANAP_Event1I-Parameters",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Event1I_Parameters_tags_1,
+ sizeof(asn_DEF_RANAP_Event1I_Parameters_tags_1)
+ /sizeof(asn_DEF_RANAP_Event1I_Parameters_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Event1I_Parameters_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Event1I_Parameters_tags_1)
+ /sizeof(asn_DEF_RANAP_Event1I_Parameters_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_Event1I_Parameters_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_Event1I_Parameters_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Event1I-Parameters.h b/src/ranap/RANAP_Event1I-Parameters.h
new file mode 100644
index 0000000..ded464f
--- /dev/null
+++ b/src/ranap/RANAP_Event1I-Parameters.h
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Event1I_Parameters_H_
+#define _RANAP_Event1I_Parameters_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Event1I-Parameters */
+typedef struct RANAP_Event1I_Parameters {
+ long threshold;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Event1I_Parameters_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Event1I_Parameters;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Event1I_Parameters_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ExtendedGuaranteedBitrate.c b/src/ranap/RANAP_ExtendedGuaranteedBitrate.c
new file mode 100644
index 0000000..0630086
--- /dev/null
+++ b/src/ranap/RANAP_ExtendedGuaranteedBitrate.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_ExtendedGuaranteedBitrate.h"
+
+int
+RANAP_ExtendedGuaranteedBitrate_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 16000001l && value <= 256000000l)) {
+ /* 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 void
+RANAP_ExtendedGuaranteedBitrate_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_ExtendedGuaranteedBitrate_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_ExtendedGuaranteedBitrate_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_ExtendedGuaranteedBitrate_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ExtendedGuaranteedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ExtendedGuaranteedBitrate_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_ExtendedGuaranteedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_ExtendedGuaranteedBitrate_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ExtendedGuaranteedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ExtendedGuaranteedBitrate_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_ExtendedGuaranteedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_ExtendedGuaranteedBitrate_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ExtendedGuaranteedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ExtendedGuaranteedBitrate_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ExtendedGuaranteedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_ExtendedGuaranteedBitrate_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ExtendedGuaranteedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_ExtendedGuaranteedBitrate_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ExtendedGuaranteedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_ExtendedGuaranteedBitrate_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ExtendedGuaranteedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_ExtendedGuaranteedBitrate_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 28, -1, 16000001l, 256000000l } /* (16000001..256000000) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_ExtendedGuaranteedBitrate_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ExtendedGuaranteedBitrate = {
+ "RANAP_ExtendedGuaranteedBitrate",
+ "RANAP_ExtendedGuaranteedBitrate",
+ RANAP_ExtendedGuaranteedBitrate_free,
+ RANAP_ExtendedGuaranteedBitrate_print,
+ RANAP_ExtendedGuaranteedBitrate_constraint,
+ RANAP_ExtendedGuaranteedBitrate_decode_ber,
+ RANAP_ExtendedGuaranteedBitrate_encode_der,
+ RANAP_ExtendedGuaranteedBitrate_decode_xer,
+ RANAP_ExtendedGuaranteedBitrate_encode_xer,
+ RANAP_ExtendedGuaranteedBitrate_decode_uper,
+ RANAP_ExtendedGuaranteedBitrate_encode_uper,
+ RANAP_ExtendedGuaranteedBitrate_decode_aper,
+ RANAP_ExtendedGuaranteedBitrate_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ExtendedGuaranteedBitrate_tags_1,
+ sizeof(asn_DEF_RANAP_ExtendedGuaranteedBitrate_tags_1)
+ /sizeof(asn_DEF_RANAP_ExtendedGuaranteedBitrate_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ExtendedGuaranteedBitrate_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ExtendedGuaranteedBitrate_tags_1)
+ /sizeof(asn_DEF_RANAP_ExtendedGuaranteedBitrate_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_ExtendedGuaranteedBitrate_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_ExtendedGuaranteedBitrate.h b/src/ranap/RANAP_ExtendedGuaranteedBitrate.h
new file mode 100644
index 0000000..404cecb
--- /dev/null
+++ b/src/ranap/RANAP_ExtendedGuaranteedBitrate.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_ExtendedGuaranteedBitrate_H_
+#define _RANAP_ExtendedGuaranteedBitrate_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_ExtendedGuaranteedBitrate */
+typedef long RANAP_ExtendedGuaranteedBitrate_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ExtendedGuaranteedBitrate;
+asn_struct_free_f RANAP_ExtendedGuaranteedBitrate_free;
+asn_struct_print_f RANAP_ExtendedGuaranteedBitrate_print;
+asn_constr_check_f RANAP_ExtendedGuaranteedBitrate_constraint;
+ber_type_decoder_f RANAP_ExtendedGuaranteedBitrate_decode_ber;
+der_type_encoder_f RANAP_ExtendedGuaranteedBitrate_encode_der;
+xer_type_decoder_f RANAP_ExtendedGuaranteedBitrate_decode_xer;
+xer_type_encoder_f RANAP_ExtendedGuaranteedBitrate_encode_xer;
+per_type_decoder_f RANAP_ExtendedGuaranteedBitrate_decode_uper;
+per_type_encoder_f RANAP_ExtendedGuaranteedBitrate_encode_uper;
+per_type_decoder_f RANAP_ExtendedGuaranteedBitrate_decode_aper;
+per_type_encoder_f RANAP_ExtendedGuaranteedBitrate_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ExtendedGuaranteedBitrate_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ExtendedMaxBitrate.c b/src/ranap/RANAP_ExtendedMaxBitrate.c
new file mode 100644
index 0000000..3c2532d
--- /dev/null
+++ b/src/ranap/RANAP_ExtendedMaxBitrate.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_ExtendedMaxBitrate.h"
+
+int
+RANAP_ExtendedMaxBitrate_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 16000001l && value <= 256000000l)) {
+ /* 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 void
+RANAP_ExtendedMaxBitrate_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_ExtendedMaxBitrate_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_ExtendedMaxBitrate_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_ExtendedMaxBitrate_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ExtendedMaxBitrate_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ExtendedMaxBitrate_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_ExtendedMaxBitrate_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_ExtendedMaxBitrate_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ExtendedMaxBitrate_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ExtendedMaxBitrate_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_ExtendedMaxBitrate_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_ExtendedMaxBitrate_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ExtendedMaxBitrate_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ExtendedMaxBitrate_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ExtendedMaxBitrate_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_ExtendedMaxBitrate_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ExtendedMaxBitrate_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_ExtendedMaxBitrate_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ExtendedMaxBitrate_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_ExtendedMaxBitrate_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ExtendedMaxBitrate_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_ExtendedMaxBitrate_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 28, -1, 16000001l, 256000000l } /* (16000001..256000000) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_ExtendedMaxBitrate_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ExtendedMaxBitrate = {
+ "RANAP_ExtendedMaxBitrate",
+ "RANAP_ExtendedMaxBitrate",
+ RANAP_ExtendedMaxBitrate_free,
+ RANAP_ExtendedMaxBitrate_print,
+ RANAP_ExtendedMaxBitrate_constraint,
+ RANAP_ExtendedMaxBitrate_decode_ber,
+ RANAP_ExtendedMaxBitrate_encode_der,
+ RANAP_ExtendedMaxBitrate_decode_xer,
+ RANAP_ExtendedMaxBitrate_encode_xer,
+ RANAP_ExtendedMaxBitrate_decode_uper,
+ RANAP_ExtendedMaxBitrate_encode_uper,
+ RANAP_ExtendedMaxBitrate_decode_aper,
+ RANAP_ExtendedMaxBitrate_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ExtendedMaxBitrate_tags_1,
+ sizeof(asn_DEF_RANAP_ExtendedMaxBitrate_tags_1)
+ /sizeof(asn_DEF_RANAP_ExtendedMaxBitrate_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ExtendedMaxBitrate_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ExtendedMaxBitrate_tags_1)
+ /sizeof(asn_DEF_RANAP_ExtendedMaxBitrate_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_ExtendedMaxBitrate_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_ExtendedMaxBitrate.h b/src/ranap/RANAP_ExtendedMaxBitrate.h
new file mode 100644
index 0000000..07af50d
--- /dev/null
+++ b/src/ranap/RANAP_ExtendedMaxBitrate.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_ExtendedMaxBitrate_H_
+#define _RANAP_ExtendedMaxBitrate_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_ExtendedMaxBitrate */
+typedef long RANAP_ExtendedMaxBitrate_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ExtendedMaxBitrate;
+asn_struct_free_f RANAP_ExtendedMaxBitrate_free;
+asn_struct_print_f RANAP_ExtendedMaxBitrate_print;
+asn_constr_check_f RANAP_ExtendedMaxBitrate_constraint;
+ber_type_decoder_f RANAP_ExtendedMaxBitrate_decode_ber;
+der_type_encoder_f RANAP_ExtendedMaxBitrate_encode_der;
+xer_type_decoder_f RANAP_ExtendedMaxBitrate_decode_xer;
+xer_type_encoder_f RANAP_ExtendedMaxBitrate_encode_xer;
+per_type_decoder_f RANAP_ExtendedMaxBitrate_decode_uper;
+per_type_encoder_f RANAP_ExtendedMaxBitrate_encode_uper;
+per_type_decoder_f RANAP_ExtendedMaxBitrate_decode_aper;
+per_type_encoder_f RANAP_ExtendedMaxBitrate_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ExtendedMaxBitrate_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ExtendedRNC-ID.c b/src/ranap/RANAP_ExtendedRNC-ID.c
new file mode 100644
index 0000000..4e56247
--- /dev/null
+++ b/src/ranap/RANAP_ExtendedRNC-ID.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_ExtendedRNC-ID.h"
+
+int
+RANAP_ExtendedRNC_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 4096l && value <= 65535l)) {
+ /* 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 void
+RANAP_ExtendedRNC_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_ExtendedRNC_ID_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_ExtendedRNC_ID_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_ExtendedRNC_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ExtendedRNC_ID_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ExtendedRNC_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_ExtendedRNC_ID_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_ExtendedRNC_ID_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ExtendedRNC_ID_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ExtendedRNC_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_ExtendedRNC_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_ExtendedRNC_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ExtendedRNC_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ExtendedRNC_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ExtendedRNC_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_ExtendedRNC_ID_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ExtendedRNC_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_ExtendedRNC_ID_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ExtendedRNC_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_ExtendedRNC_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ExtendedRNC_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_ExtendedRNC_ID_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 4096l, 65535l } /* (4096..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_ExtendedRNC_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ExtendedRNC_ID = {
+ "RANAP_ExtendedRNC-ID",
+ "RANAP_ExtendedRNC-ID",
+ RANAP_ExtendedRNC_ID_free,
+ RANAP_ExtendedRNC_ID_print,
+ RANAP_ExtendedRNC_ID_constraint,
+ RANAP_ExtendedRNC_ID_decode_ber,
+ RANAP_ExtendedRNC_ID_encode_der,
+ RANAP_ExtendedRNC_ID_decode_xer,
+ RANAP_ExtendedRNC_ID_encode_xer,
+ RANAP_ExtendedRNC_ID_decode_uper,
+ RANAP_ExtendedRNC_ID_encode_uper,
+ RANAP_ExtendedRNC_ID_decode_aper,
+ RANAP_ExtendedRNC_ID_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ExtendedRNC_ID_tags_1,
+ sizeof(asn_DEF_RANAP_ExtendedRNC_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_ExtendedRNC_ID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ExtendedRNC_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ExtendedRNC_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_ExtendedRNC_ID_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_ExtendedRNC_ID_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_ExtendedRNC-ID.h b/src/ranap/RANAP_ExtendedRNC-ID.h
new file mode 100644
index 0000000..c76a124
--- /dev/null
+++ b/src/ranap/RANAP_ExtendedRNC-ID.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_ExtendedRNC_ID_H_
+#define _RANAP_ExtendedRNC_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_ExtendedRNC-ID */
+typedef long RANAP_ExtendedRNC_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ExtendedRNC_ID;
+asn_struct_free_f RANAP_ExtendedRNC_ID_free;
+asn_struct_print_f RANAP_ExtendedRNC_ID_print;
+asn_constr_check_f RANAP_ExtendedRNC_ID_constraint;
+ber_type_decoder_f RANAP_ExtendedRNC_ID_decode_ber;
+der_type_encoder_f RANAP_ExtendedRNC_ID_encode_der;
+xer_type_decoder_f RANAP_ExtendedRNC_ID_decode_xer;
+xer_type_encoder_f RANAP_ExtendedRNC_ID_encode_xer;
+per_type_decoder_f RANAP_ExtendedRNC_ID_decode_uper;
+per_type_encoder_f RANAP_ExtendedRNC_ID_encode_uper;
+per_type_decoder_f RANAP_ExtendedRNC_ID_decode_aper;
+per_type_encoder_f RANAP_ExtendedRNC_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ExtendedRNC_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ForwardSRNS-Context.c b/src/ranap/RANAP_ForwardSRNS-Context.c
new file mode 100644
index 0000000..3948c53
--- /dev/null
+++ b/src/ranap/RANAP_ForwardSRNS-Context.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_ForwardSRNS-Context.h"
+
+static int
+memb_forwardSRNS_Context_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_forwardSRNS_Context_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_forwardSRNS_Context_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_forwardSRNS_Context_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_forwardSRNS_Context_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_forwardSRNS_Context_ies_specs_2 = {
+ sizeof(struct forwardSRNS_Context_ies),
+ offsetof(struct forwardSRNS_Context_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_forwardSRNS_Context_ies_2 = {
+ "forwardSRNS-Context-ies",
+ "forwardSRNS-Context-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_forwardSRNS_Context_ies_tags_2,
+ sizeof(asn_DEF_forwardSRNS_Context_ies_tags_2)
+ /sizeof(asn_DEF_forwardSRNS_Context_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_forwardSRNS_Context_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_forwardSRNS_Context_ies_tags_2)
+ /sizeof(asn_DEF_forwardSRNS_Context_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_forwardSRNS_Context_ies_constr_2,
+ asn_MBR_forwardSRNS_Context_ies_2,
+ 1, /* Single element */
+ &asn_SPC_forwardSRNS_Context_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_ForwardSRNS_Context_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_ForwardSRNS_Context, forwardSRNS_Context_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_forwardSRNS_Context_ies_2,
+ memb_forwardSRNS_Context_ies_constraint_1,
+ &asn_PER_memb_forwardSRNS_Context_ies_constr_2,
+ 0,
+ "forwardSRNS-Context-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_ForwardSRNS_Context_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_ForwardSRNS_Context_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* forwardSRNS-Context-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_ForwardSRNS_Context_specs_1 = {
+ sizeof(struct RANAP_ForwardSRNS_Context),
+ offsetof(struct RANAP_ForwardSRNS_Context, _asn_ctx),
+ asn_MAP_RANAP_ForwardSRNS_Context_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ForwardSRNS_Context = {
+ "RANAP_ForwardSRNS-Context",
+ "RANAP_ForwardSRNS-Context",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ForwardSRNS_Context_tags_1,
+ sizeof(asn_DEF_RANAP_ForwardSRNS_Context_tags_1)
+ /sizeof(asn_DEF_RANAP_ForwardSRNS_Context_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ForwardSRNS_Context_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ForwardSRNS_Context_tags_1)
+ /sizeof(asn_DEF_RANAP_ForwardSRNS_Context_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_ForwardSRNS_Context_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_ForwardSRNS_Context_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_ForwardSRNS-Context.h b/src/ranap/RANAP_ForwardSRNS-Context.h
new file mode 100644
index 0000000..1d78583
--- /dev/null
+++ b/src/ranap/RANAP_ForwardSRNS-Context.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_ForwardSRNS_Context_H_
+#define _RANAP_ForwardSRNS_Context_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_ForwardSRNS-Context */
+typedef struct RANAP_ForwardSRNS_Context {
+ struct forwardSRNS_Context_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } forwardSRNS_Context_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_ForwardSRNS_Context_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ForwardSRNS_Context;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ForwardSRNS_Context_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ForwardingIndication.c b/src/ranap/RANAP_ForwardingIndication.c
new file mode 100644
index 0000000..69a3c47
--- /dev/null
+++ b/src/ranap/RANAP_ForwardingIndication.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_ForwardingIndication.h"
+
+int
+RANAP_ForwardingIndication_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_ForwardingIndication_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_ForwardingIndication_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_ForwardingIndication_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_ForwardingIndication_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ForwardingIndication_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ForwardingIndication_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_ForwardingIndication_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_ForwardingIndication_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ForwardingIndication_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ForwardingIndication_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_ForwardingIndication_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_ForwardingIndication_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ForwardingIndication_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ForwardingIndication_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ForwardingIndication_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_ForwardingIndication_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ForwardingIndication_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_ForwardingIndication_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ForwardingIndication_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_ForwardingIndication_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ForwardingIndication_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_ForwardingIndication_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_ForwardingIndication_value2enum_1[] = {
+ { 0, 19, "forwarding-admitted" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_ForwardingIndication_enum2value_1[] = {
+ 0 /* forwarding-admitted(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_ForwardingIndication_specs_1 = {
+ asn_MAP_RANAP_ForwardingIndication_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_ForwardingIndication_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_RANAP_ForwardingIndication_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ForwardingIndication = {
+ "RANAP_ForwardingIndication",
+ "RANAP_ForwardingIndication",
+ RANAP_ForwardingIndication_free,
+ RANAP_ForwardingIndication_print,
+ RANAP_ForwardingIndication_constraint,
+ RANAP_ForwardingIndication_decode_ber,
+ RANAP_ForwardingIndication_encode_der,
+ RANAP_ForwardingIndication_decode_xer,
+ RANAP_ForwardingIndication_encode_xer,
+ RANAP_ForwardingIndication_decode_uper,
+ RANAP_ForwardingIndication_encode_uper,
+ RANAP_ForwardingIndication_decode_aper,
+ RANAP_ForwardingIndication_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ForwardingIndication_tags_1,
+ sizeof(asn_DEF_RANAP_ForwardingIndication_tags_1)
+ /sizeof(asn_DEF_RANAP_ForwardingIndication_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ForwardingIndication_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ForwardingIndication_tags_1)
+ /sizeof(asn_DEF_RANAP_ForwardingIndication_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_ForwardingIndication_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_ForwardingIndication_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_ForwardingIndication.h b/src/ranap/RANAP_ForwardingIndication.h
new file mode 100644
index 0000000..ee4481c
--- /dev/null
+++ b/src/ranap/RANAP_ForwardingIndication.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_ForwardingIndication_H_
+#define _RANAP_ForwardingIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_ForwardingIndication {
+ RANAP_ForwardingIndication_forwarding_admitted = 0
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_ForwardingIndication;
+
+/* RANAP_ForwardingIndication */
+typedef long RANAP_ForwardingIndication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ForwardingIndication;
+asn_struct_free_f RANAP_ForwardingIndication_free;
+asn_struct_print_f RANAP_ForwardingIndication_print;
+asn_constr_check_f RANAP_ForwardingIndication_constraint;
+ber_type_decoder_f RANAP_ForwardingIndication_decode_ber;
+der_type_encoder_f RANAP_ForwardingIndication_encode_der;
+xer_type_decoder_f RANAP_ForwardingIndication_decode_xer;
+xer_type_encoder_f RANAP_ForwardingIndication_encode_xer;
+per_type_decoder_f RANAP_ForwardingIndication_decode_uper;
+per_type_encoder_f RANAP_ForwardingIndication_encode_uper;
+per_type_decoder_f RANAP_ForwardingIndication_decode_aper;
+per_type_encoder_f RANAP_ForwardingIndication_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ForwardingIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_FrameSequenceNumber.c b/src/ranap/RANAP_FrameSequenceNumber.c
new file mode 100644
index 0000000..b4a4858
--- /dev/null
+++ b/src/ranap/RANAP_FrameSequenceNumber.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_FrameSequenceNumber.h"
+
+int
+RANAP_FrameSequenceNumber_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 15l)) {
+ /* 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 void
+RANAP_FrameSequenceNumber_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_FrameSequenceNumber_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_FrameSequenceNumber_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_FrameSequenceNumber_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_FrameSequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_FrameSequenceNumber_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_FrameSequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_FrameSequenceNumber_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_FrameSequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_FrameSequenceNumber_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_FrameSequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_FrameSequenceNumber_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_FrameSequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_FrameSequenceNumber_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_FrameSequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_FrameSequenceNumber_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_FrameSequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_FrameSequenceNumber_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_FrameSequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_FrameSequenceNumber_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_FrameSequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_FrameSequenceNumber_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 4, 4, 0l, 15l } /* (0..15) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_FrameSequenceNumber_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_FrameSequenceNumber = {
+ "RANAP_FrameSequenceNumber",
+ "RANAP_FrameSequenceNumber",
+ RANAP_FrameSequenceNumber_free,
+ RANAP_FrameSequenceNumber_print,
+ RANAP_FrameSequenceNumber_constraint,
+ RANAP_FrameSequenceNumber_decode_ber,
+ RANAP_FrameSequenceNumber_encode_der,
+ RANAP_FrameSequenceNumber_decode_xer,
+ RANAP_FrameSequenceNumber_encode_xer,
+ RANAP_FrameSequenceNumber_decode_uper,
+ RANAP_FrameSequenceNumber_encode_uper,
+ RANAP_FrameSequenceNumber_decode_aper,
+ RANAP_FrameSequenceNumber_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_FrameSequenceNumber_tags_1,
+ sizeof(asn_DEF_RANAP_FrameSequenceNumber_tags_1)
+ /sizeof(asn_DEF_RANAP_FrameSequenceNumber_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_FrameSequenceNumber_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_FrameSequenceNumber_tags_1)
+ /sizeof(asn_DEF_RANAP_FrameSequenceNumber_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_FrameSequenceNumber_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_FrameSequenceNumber.h b/src/ranap/RANAP_FrameSequenceNumber.h
new file mode 100644
index 0000000..0c2d9e2
--- /dev/null
+++ b/src/ranap/RANAP_FrameSequenceNumber.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_FrameSequenceNumber_H_
+#define _RANAP_FrameSequenceNumber_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_FrameSequenceNumber */
+typedef long RANAP_FrameSequenceNumber_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_FrameSequenceNumber;
+asn_struct_free_f RANAP_FrameSequenceNumber_free;
+asn_struct_print_f RANAP_FrameSequenceNumber_print;
+asn_constr_check_f RANAP_FrameSequenceNumber_constraint;
+ber_type_decoder_f RANAP_FrameSequenceNumber_decode_ber;
+der_type_encoder_f RANAP_FrameSequenceNumber_encode_der;
+xer_type_decoder_f RANAP_FrameSequenceNumber_decode_xer;
+xer_type_encoder_f RANAP_FrameSequenceNumber_encode_xer;
+per_type_decoder_f RANAP_FrameSequenceNumber_decode_uper;
+per_type_encoder_f RANAP_FrameSequenceNumber_encode_uper;
+per_type_decoder_f RANAP_FrameSequenceNumber_decode_aper;
+per_type_encoder_f RANAP_FrameSequenceNumber_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_FrameSequenceNumber_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_FrequenceLayerConvergenceFlag.c b/src/ranap/RANAP_FrequenceLayerConvergenceFlag.c
new file mode 100644
index 0000000..539554c
--- /dev/null
+++ b/src/ranap/RANAP_FrequenceLayerConvergenceFlag.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_FrequenceLayerConvergenceFlag.h"
+
+int
+RANAP_FrequenceLayerConvergenceFlag_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_FrequenceLayerConvergenceFlag_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_FrequenceLayerConvergenceFlag_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_FrequenceLayerConvergenceFlag_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_FrequenceLayerConvergenceFlag_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_FrequenceLayerConvergenceFlag_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_FrequenceLayerConvergenceFlag_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_FrequenceLayerConvergenceFlag_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_FrequenceLayerConvergenceFlag_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_FrequenceLayerConvergenceFlag_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_FrequenceLayerConvergenceFlag_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_FrequenceLayerConvergenceFlag_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_FrequenceLayerConvergenceFlag_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_FrequenceLayerConvergenceFlag_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_FrequenceLayerConvergenceFlag_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_FrequenceLayerConvergenceFlag_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_FrequenceLayerConvergenceFlag_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_FrequenceLayerConvergenceFlag_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_FrequenceLayerConvergenceFlag_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_FrequenceLayerConvergenceFlag_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_FrequenceLayerConvergenceFlag_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_FrequenceLayerConvergenceFlag_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_FrequenceLayerConvergenceFlag_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_FrequenceLayerConvergenceFlag_value2enum_1[] = {
+ { 0, 11, "no-FLC-flag" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_FrequenceLayerConvergenceFlag_enum2value_1[] = {
+ 0 /* no-FLC-flag(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_FrequenceLayerConvergenceFlag_specs_1 = {
+ asn_MAP_RANAP_FrequenceLayerConvergenceFlag_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_FrequenceLayerConvergenceFlag_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_RANAP_FrequenceLayerConvergenceFlag_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_FrequenceLayerConvergenceFlag = {
+ "RANAP_FrequenceLayerConvergenceFlag",
+ "RANAP_FrequenceLayerConvergenceFlag",
+ RANAP_FrequenceLayerConvergenceFlag_free,
+ RANAP_FrequenceLayerConvergenceFlag_print,
+ RANAP_FrequenceLayerConvergenceFlag_constraint,
+ RANAP_FrequenceLayerConvergenceFlag_decode_ber,
+ RANAP_FrequenceLayerConvergenceFlag_encode_der,
+ RANAP_FrequenceLayerConvergenceFlag_decode_xer,
+ RANAP_FrequenceLayerConvergenceFlag_encode_xer,
+ RANAP_FrequenceLayerConvergenceFlag_decode_uper,
+ RANAP_FrequenceLayerConvergenceFlag_encode_uper,
+ RANAP_FrequenceLayerConvergenceFlag_decode_aper,
+ RANAP_FrequenceLayerConvergenceFlag_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_FrequenceLayerConvergenceFlag_tags_1,
+ sizeof(asn_DEF_RANAP_FrequenceLayerConvergenceFlag_tags_1)
+ /sizeof(asn_DEF_RANAP_FrequenceLayerConvergenceFlag_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_FrequenceLayerConvergenceFlag_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_FrequenceLayerConvergenceFlag_tags_1)
+ /sizeof(asn_DEF_RANAP_FrequenceLayerConvergenceFlag_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_FrequenceLayerConvergenceFlag_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_FrequenceLayerConvergenceFlag_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_FrequenceLayerConvergenceFlag.h b/src/ranap/RANAP_FrequenceLayerConvergenceFlag.h
new file mode 100644
index 0000000..df2eaf5
--- /dev/null
+++ b/src/ranap/RANAP_FrequenceLayerConvergenceFlag.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_FrequenceLayerConvergenceFlag_H_
+#define _RANAP_FrequenceLayerConvergenceFlag_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_FrequenceLayerConvergenceFlag {
+ RANAP_FrequenceLayerConvergenceFlag_no_FLC_flag = 0
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_FrequenceLayerConvergenceFlag;
+
+/* RANAP_FrequenceLayerConvergenceFlag */
+typedef long RANAP_FrequenceLayerConvergenceFlag_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_FrequenceLayerConvergenceFlag;
+asn_struct_free_f RANAP_FrequenceLayerConvergenceFlag_free;
+asn_struct_print_f RANAP_FrequenceLayerConvergenceFlag_print;
+asn_constr_check_f RANAP_FrequenceLayerConvergenceFlag_constraint;
+ber_type_decoder_f RANAP_FrequenceLayerConvergenceFlag_decode_ber;
+der_type_encoder_f RANAP_FrequenceLayerConvergenceFlag_encode_der;
+xer_type_decoder_f RANAP_FrequenceLayerConvergenceFlag_decode_xer;
+xer_type_encoder_f RANAP_FrequenceLayerConvergenceFlag_encode_xer;
+per_type_decoder_f RANAP_FrequenceLayerConvergenceFlag_decode_uper;
+per_type_encoder_f RANAP_FrequenceLayerConvergenceFlag_encode_uper;
+per_type_decoder_f RANAP_FrequenceLayerConvergenceFlag_decode_aper;
+per_type_encoder_f RANAP_FrequenceLayerConvergenceFlag_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_FrequenceLayerConvergenceFlag_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_GA-AltitudeAndDirection.c b/src/ranap/RANAP_GA-AltitudeAndDirection.c
new file mode 100644
index 0000000..a656e03
--- /dev/null
+++ b/src/ranap/RANAP_GA-AltitudeAndDirection.c
@@ -0,0 +1,260 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_GA-AltitudeAndDirection.h"
+
+static int
+directionOfAltitude_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+directionOfAltitude_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+static void
+directionOfAltitude_2_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ directionOfAltitude_2_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+static int
+directionOfAltitude_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ directionOfAltitude_2_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+static asn_dec_rval_t
+directionOfAltitude_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ directionOfAltitude_2_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+static asn_enc_rval_t
+directionOfAltitude_2_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ directionOfAltitude_2_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+static asn_dec_rval_t
+directionOfAltitude_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ directionOfAltitude_2_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+static asn_enc_rval_t
+directionOfAltitude_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ directionOfAltitude_2_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+static asn_dec_rval_t
+directionOfAltitude_2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ directionOfAltitude_2_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_enc_rval_t
+directionOfAltitude_2_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ directionOfAltitude_2_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+static asn_enc_rval_t
+directionOfAltitude_2_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ directionOfAltitude_2_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+static asn_dec_rval_t
+directionOfAltitude_2_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ directionOfAltitude_2_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static int
+memb_altitude_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 32767l)) {
+ /* Constraint 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_directionOfAltitude_constr_2 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_altitude_constr_5 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 15, 15, 0l, 32767l } /* (0..32767) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_directionOfAltitude_value2enum_2[] = {
+ { 0, 6, "height" },
+ { 1, 5, "depth" }
+};
+static const unsigned int asn_MAP_directionOfAltitude_enum2value_2[] = {
+ 1, /* depth(1) */
+ 0 /* height(0) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_directionOfAltitude_specs_2 = {
+ asn_MAP_directionOfAltitude_value2enum_2, /* "tag" => N; sorted by tag */
+ asn_MAP_directionOfAltitude_enum2value_2, /* 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_directionOfAltitude_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_directionOfAltitude_2 = {
+ "directionOfAltitude",
+ "directionOfAltitude",
+ directionOfAltitude_2_free,
+ directionOfAltitude_2_print,
+ directionOfAltitude_2_constraint,
+ directionOfAltitude_2_decode_ber,
+ directionOfAltitude_2_encode_der,
+ directionOfAltitude_2_decode_xer,
+ directionOfAltitude_2_encode_xer,
+ directionOfAltitude_2_decode_uper,
+ directionOfAltitude_2_encode_uper,
+ directionOfAltitude_2_decode_aper,
+ directionOfAltitude_2_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_directionOfAltitude_tags_2,
+ sizeof(asn_DEF_directionOfAltitude_tags_2)
+ /sizeof(asn_DEF_directionOfAltitude_tags_2[0]) - 1, /* 1 */
+ asn_DEF_directionOfAltitude_tags_2, /* Same as above */
+ sizeof(asn_DEF_directionOfAltitude_tags_2)
+ /sizeof(asn_DEF_directionOfAltitude_tags_2[0]), /* 2 */
+ &asn_PER_type_directionOfAltitude_constr_2,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_directionOfAltitude_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_GA_AltitudeAndDirection_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_AltitudeAndDirection, directionOfAltitude),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_directionOfAltitude_2,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "directionOfAltitude"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_AltitudeAndDirection, altitude),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_altitude_constraint_1,
+ &asn_PER_memb_altitude_constr_5,
+ 0,
+ "altitude"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_GA_AltitudeAndDirection_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_GA_AltitudeAndDirection_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* directionOfAltitude */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* altitude */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_GA_AltitudeAndDirection_specs_1 = {
+ sizeof(struct RANAP_GA_AltitudeAndDirection),
+ offsetof(struct RANAP_GA_AltitudeAndDirection, _asn_ctx),
+ asn_MAP_RANAP_GA_AltitudeAndDirection_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* Start extensions */
+ 3 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_GA_AltitudeAndDirection = {
+ "RANAP_GA-AltitudeAndDirection",
+ "RANAP_GA-AltitudeAndDirection",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_GA_AltitudeAndDirection_tags_1,
+ sizeof(asn_DEF_RANAP_GA_AltitudeAndDirection_tags_1)
+ /sizeof(asn_DEF_RANAP_GA_AltitudeAndDirection_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_GA_AltitudeAndDirection_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_GA_AltitudeAndDirection_tags_1)
+ /sizeof(asn_DEF_RANAP_GA_AltitudeAndDirection_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_GA_AltitudeAndDirection_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_GA_AltitudeAndDirection_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_GA-AltitudeAndDirection.h b/src/ranap/RANAP_GA-AltitudeAndDirection.h
new file mode 100644
index 0000000..e270a75
--- /dev/null
+++ b/src/ranap/RANAP_GA-AltitudeAndDirection.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_GA_AltitudeAndDirection_H_
+#define _RANAP_GA_AltitudeAndDirection_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+#include <NativeInteger.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum directionOfAltitude {
+ directionOfAltitude_height = 0,
+ directionOfAltitude_depth = 1
+} e_directionOfAltitude;
+
+/* RANAP_GA-AltitudeAndDirection */
+typedef struct RANAP_GA_AltitudeAndDirection {
+ long directionOfAltitude;
+ long altitude;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_GA_AltitudeAndDirection_t;
+
+/* Implementation */
+/* extern asn_TYPE_descriptor_t asn_DEF_directionOfAltitude_2; // (Use -fall-defs-global to expose) */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_GA_AltitudeAndDirection;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_GA_AltitudeAndDirection_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_GA-EllipsoidArc.c b/src/ranap/RANAP_GA-EllipsoidArc.c
new file mode 100644
index 0000000..24c5fbf
--- /dev/null
+++ b/src/ranap/RANAP_GA-EllipsoidArc.c
@@ -0,0 +1,273 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_GA-EllipsoidArc.h"
+
+static int
+memb_innerRadius_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 65535l)) {
+ /* 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_uncertaintyRadius_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 127l)) {
+ /* 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_offsetAngle_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 179l)) {
+ /* 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_includedAngle_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 179l)) {
+ /* 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_confidence_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 127l)) {
+ /* Constraint 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_innerRadius_constr_3 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_uncertaintyRadius_constr_4 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 7, 7, 0l, 127l } /* (0..127) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_offsetAngle_constr_5 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 8, 8, 0l, 179l } /* (0..179) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_includedAngle_constr_6 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 8, 8, 0l, 179l } /* (0..179) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_confidence_constr_7 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 7, 7, 0l, 127l } /* (0..127) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_GA_EllipsoidArc_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_EllipsoidArc, geographicalCoordinates),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_GeographicalCoordinates,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "geographicalCoordinates"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_EllipsoidArc, innerRadius),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_innerRadius_constraint_1,
+ &asn_PER_memb_innerRadius_constr_3,
+ 0,
+ "innerRadius"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_EllipsoidArc, uncertaintyRadius),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_uncertaintyRadius_constraint_1,
+ &asn_PER_memb_uncertaintyRadius_constr_4,
+ 0,
+ "uncertaintyRadius"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_EllipsoidArc, offsetAngle),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_offsetAngle_constraint_1,
+ &asn_PER_memb_offsetAngle_constr_5,
+ 0,
+ "offsetAngle"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_EllipsoidArc, includedAngle),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_includedAngle_constraint_1,
+ &asn_PER_memb_includedAngle_constr_6,
+ 0,
+ "includedAngle"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_EllipsoidArc, confidence),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_confidence_constraint_1,
+ &asn_PER_memb_confidence_constr_7,
+ 0,
+ "confidence"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_GA_EllipsoidArc, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_GA_EllipsoidArc_oms_1[] = { 6 };
+static const ber_tlv_tag_t asn_DEF_RANAP_GA_EllipsoidArc_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_GA_EllipsoidArc_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* geographicalCoordinates */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* innerRadius */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* uncertaintyRadius */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* offsetAngle */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* includedAngle */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* confidence */
+ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_GA_EllipsoidArc_specs_1 = {
+ sizeof(struct RANAP_GA_EllipsoidArc),
+ offsetof(struct RANAP_GA_EllipsoidArc, _asn_ctx),
+ asn_MAP_RANAP_GA_EllipsoidArc_tag2el_1,
+ 7, /* Count of tags in the map */
+ asn_MAP_RANAP_GA_EllipsoidArc_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 6, /* Start extensions */
+ 8 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_GA_EllipsoidArc = {
+ "RANAP_GA-EllipsoidArc",
+ "RANAP_GA-EllipsoidArc",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_GA_EllipsoidArc_tags_1,
+ sizeof(asn_DEF_RANAP_GA_EllipsoidArc_tags_1)
+ /sizeof(asn_DEF_RANAP_GA_EllipsoidArc_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_GA_EllipsoidArc_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_GA_EllipsoidArc_tags_1)
+ /sizeof(asn_DEF_RANAP_GA_EllipsoidArc_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_GA_EllipsoidArc_1,
+ 7, /* Elements count */
+ &asn_SPC_RANAP_GA_EllipsoidArc_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_GA-EllipsoidArc.h b/src/ranap/RANAP_GA-EllipsoidArc.h
new file mode 100644
index 0000000..476bdc4
--- /dev/null
+++ b/src/ranap/RANAP_GA-EllipsoidArc.h
@@ -0,0 +1,49 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_GA_EllipsoidArc_H_
+#define _RANAP_GA_EllipsoidArc_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_GeographicalCoordinates.h"
+#include <NativeInteger.h>
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_GA-EllipsoidArc */
+typedef struct RANAP_GA_EllipsoidArc {
+ RANAP_GeographicalCoordinates_t geographicalCoordinates;
+ long innerRadius;
+ long uncertaintyRadius;
+ long offsetAngle;
+ long includedAngle;
+ long confidence;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_GA_EllipsoidArc_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_GA_EllipsoidArc;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_GA_EllipsoidArc_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_GA-Point.c b/src/ranap/RANAP_GA-Point.c
new file mode 100644
index 0000000..7f79bd7
--- /dev/null
+++ b/src/ranap/RANAP_GA-Point.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_GA-Point.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_GA_Point_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_Point, geographicalCoordinates),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_GeographicalCoordinates,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "geographicalCoordinates"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_GA_Point, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_GA_Point_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_RANAP_GA_Point_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_GA_Point_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* geographicalCoordinates */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_GA_Point_specs_1 = {
+ sizeof(struct RANAP_GA_Point),
+ offsetof(struct RANAP_GA_Point, _asn_ctx),
+ asn_MAP_RANAP_GA_Point_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_RANAP_GA_Point_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 1, /* Start extensions */
+ 3 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_GA_Point = {
+ "RANAP_GA-Point",
+ "RANAP_GA-Point",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_GA_Point_tags_1,
+ sizeof(asn_DEF_RANAP_GA_Point_tags_1)
+ /sizeof(asn_DEF_RANAP_GA_Point_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_GA_Point_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_GA_Point_tags_1)
+ /sizeof(asn_DEF_RANAP_GA_Point_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_GA_Point_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_GA_Point_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_GA-Point.h b/src/ranap/RANAP_GA-Point.h
new file mode 100644
index 0000000..7d3764e
--- /dev/null
+++ b/src/ranap/RANAP_GA-Point.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_GA_Point_H_
+#define _RANAP_GA_Point_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_GeographicalCoordinates.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_GA-Point */
+typedef struct RANAP_GA_Point {
+ RANAP_GeographicalCoordinates_t geographicalCoordinates;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_GA_Point_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_GA_Point;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_GA_Point_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_GA-PointWithAltitude.c b/src/ranap/RANAP_GA-PointWithAltitude.c
new file mode 100644
index 0000000..92686d9
--- /dev/null
+++ b/src/ranap/RANAP_GA-PointWithAltitude.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_GA-PointWithAltitude.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_GA_PointWithAltitude_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_PointWithAltitude, geographicalCoordinates),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_GeographicalCoordinates,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "geographicalCoordinates"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_PointWithAltitude, altitudeAndDirection),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_GA_AltitudeAndDirection,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "altitudeAndDirection"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_GA_PointWithAltitude, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_GA_PointWithAltitude_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_GA_PointWithAltitude_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_GA_PointWithAltitude_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* geographicalCoordinates */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* altitudeAndDirection */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_GA_PointWithAltitude_specs_1 = {
+ sizeof(struct RANAP_GA_PointWithAltitude),
+ offsetof(struct RANAP_GA_PointWithAltitude, _asn_ctx),
+ asn_MAP_RANAP_GA_PointWithAltitude_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_GA_PointWithAltitude_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_GA_PointWithAltitude = {
+ "RANAP_GA-PointWithAltitude",
+ "RANAP_GA-PointWithAltitude",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_GA_PointWithAltitude_tags_1,
+ sizeof(asn_DEF_RANAP_GA_PointWithAltitude_tags_1)
+ /sizeof(asn_DEF_RANAP_GA_PointWithAltitude_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_GA_PointWithAltitude_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_GA_PointWithAltitude_tags_1)
+ /sizeof(asn_DEF_RANAP_GA_PointWithAltitude_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_GA_PointWithAltitude_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_GA_PointWithAltitude_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_GA-PointWithAltitude.h b/src/ranap/RANAP_GA-PointWithAltitude.h
new file mode 100644
index 0000000..edcad26
--- /dev/null
+++ b/src/ranap/RANAP_GA-PointWithAltitude.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_GA_PointWithAltitude_H_
+#define _RANAP_GA_PointWithAltitude_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_GeographicalCoordinates.h"
+#include "RANAP_GA-AltitudeAndDirection.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_GA-PointWithAltitude */
+typedef struct RANAP_GA_PointWithAltitude {
+ RANAP_GeographicalCoordinates_t geographicalCoordinates;
+ RANAP_GA_AltitudeAndDirection_t altitudeAndDirection;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_GA_PointWithAltitude_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_GA_PointWithAltitude;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_GA_PointWithAltitude_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_GA-PointWithAltitudeAndUncertaintyEllipsoid.c b/src/ranap/RANAP_GA-PointWithAltitudeAndUncertaintyEllipsoid.c
new file mode 100644
index 0000000..ede9b4f
--- /dev/null
+++ b/src/ranap/RANAP_GA-PointWithAltitudeAndUncertaintyEllipsoid.c
@@ -0,0 +1,173 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_GA-PointWithAltitudeAndUncertaintyEllipsoid.h"
+
+static int
+memb_uncertaintyAltitude_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 127l)) {
+ /* 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_confidence_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 127l)) {
+ /* Constraint 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_uncertaintyAltitude_constr_5 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 7, 7, 0l, 127l } /* (0..127) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_confidence_constr_6 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 7, 7, 0l, 127l } /* (0..127) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid, geographicalCoordinates),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_GeographicalCoordinates,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "geographicalCoordinates"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid, altitudeAndDirection),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_GA_AltitudeAndDirection,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "altitudeAndDirection"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid, uncertaintyEllipse),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_GA_UncertaintyEllipse,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "uncertaintyEllipse"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid, uncertaintyAltitude),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_uncertaintyAltitude_constraint_1,
+ &asn_PER_memb_uncertaintyAltitude_constr_5,
+ 0,
+ "uncertaintyAltitude"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid, confidence),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_confidence_constraint_1,
+ &asn_PER_memb_confidence_constr_6,
+ 0,
+ "confidence"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid_oms_1[] = { 5 };
+static const ber_tlv_tag_t asn_DEF_RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* geographicalCoordinates */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* altitudeAndDirection */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* uncertaintyEllipse */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* uncertaintyAltitude */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* confidence */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid_specs_1 = {
+ sizeof(struct RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid),
+ offsetof(struct RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid, _asn_ctx),
+ asn_MAP_RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid_tag2el_1,
+ 6, /* Count of tags in the map */
+ asn_MAP_RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 5, /* Start extensions */
+ 7 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid = {
+ "RANAP_GA-PointWithAltitudeAndUncertaintyEllipsoid",
+ "RANAP_GA-PointWithAltitudeAndUncertaintyEllipsoid",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid_tags_1,
+ sizeof(asn_DEF_RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid_tags_1)
+ /sizeof(asn_DEF_RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid_tags_1)
+ /sizeof(asn_DEF_RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid_1,
+ 6, /* Elements count */
+ &asn_SPC_RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_GA-PointWithAltitudeAndUncertaintyEllipsoid.h b/src/ranap/RANAP_GA-PointWithAltitudeAndUncertaintyEllipsoid.h
new file mode 100644
index 0000000..62aa5b6
--- /dev/null
+++ b/src/ranap/RANAP_GA-PointWithAltitudeAndUncertaintyEllipsoid.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid_H_
+#define _RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_GeographicalCoordinates.h"
+#include "RANAP_GA-AltitudeAndDirection.h"
+#include "RANAP_GA-UncertaintyEllipse.h"
+#include <NativeInteger.h>
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_GA-PointWithAltitudeAndUncertaintyEllipsoid */
+typedef struct RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid {
+ RANAP_GeographicalCoordinates_t geographicalCoordinates;
+ RANAP_GA_AltitudeAndDirection_t altitudeAndDirection;
+ RANAP_GA_UncertaintyEllipse_t uncertaintyEllipse;
+ long uncertaintyAltitude;
+ long confidence;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_GA-PointWithUnCertainty.c b/src/ranap/RANAP_GA-PointWithUnCertainty.c
new file mode 100644
index 0000000..e3d88d0
--- /dev/null
+++ b/src/ranap/RANAP_GA-PointWithUnCertainty.c
@@ -0,0 +1,113 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_GA-PointWithUnCertainty.h"
+
+static int
+memb_uncertaintyCode_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 127l)) {
+ /* Constraint 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_uncertaintyCode_constr_4 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 7, 7, 0l, 127l } /* (0..127) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_GA_PointWithUnCertainty_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_PointWithUnCertainty, geographicalCoordinates),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_GeographicalCoordinates,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "geographicalCoordinates"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_GA_PointWithUnCertainty, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_PointWithUnCertainty, uncertaintyCode),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_uncertaintyCode_constraint_1,
+ &asn_PER_memb_uncertaintyCode_constr_4,
+ 0,
+ "uncertaintyCode"
+ },
+};
+static const int asn_MAP_RANAP_GA_PointWithUnCertainty_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_RANAP_GA_PointWithUnCertainty_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_GA_PointWithUnCertainty_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* geographicalCoordinates */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* iE-Extensions */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* uncertaintyCode */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_GA_PointWithUnCertainty_specs_1 = {
+ sizeof(struct RANAP_GA_PointWithUnCertainty),
+ offsetof(struct RANAP_GA_PointWithUnCertainty, _asn_ctx),
+ asn_MAP_RANAP_GA_PointWithUnCertainty_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_GA_PointWithUnCertainty_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_GA_PointWithUnCertainty = {
+ "RANAP_GA-PointWithUnCertainty",
+ "RANAP_GA-PointWithUnCertainty",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_GA_PointWithUnCertainty_tags_1,
+ sizeof(asn_DEF_RANAP_GA_PointWithUnCertainty_tags_1)
+ /sizeof(asn_DEF_RANAP_GA_PointWithUnCertainty_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_GA_PointWithUnCertainty_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_GA_PointWithUnCertainty_tags_1)
+ /sizeof(asn_DEF_RANAP_GA_PointWithUnCertainty_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_GA_PointWithUnCertainty_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_GA_PointWithUnCertainty_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_GA-PointWithUnCertainty.h b/src/ranap/RANAP_GA-PointWithUnCertainty.h
new file mode 100644
index 0000000..86a6a82
--- /dev/null
+++ b/src/ranap/RANAP_GA-PointWithUnCertainty.h
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_GA_PointWithUnCertainty_H_
+#define _RANAP_GA_PointWithUnCertainty_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_GeographicalCoordinates.h"
+#include "RANAP_IE-Extensions.h"
+#include <NativeInteger.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_GA-PointWithUnCertainty */
+typedef struct RANAP_GA_PointWithUnCertainty {
+ RANAP_GeographicalCoordinates_t geographicalCoordinates;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ long uncertaintyCode;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_GA_PointWithUnCertainty_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_GA_PointWithUnCertainty;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_GA_PointWithUnCertainty_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_GA-PointWithUnCertaintyEllipse.c b/src/ranap/RANAP_GA-PointWithUnCertaintyEllipse.c
new file mode 100644
index 0000000..1dbf7d2
--- /dev/null
+++ b/src/ranap/RANAP_GA-PointWithUnCertaintyEllipse.c
@@ -0,0 +1,123 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_GA-PointWithUnCertaintyEllipse.h"
+
+static int
+memb_confidence_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 127l)) {
+ /* Constraint 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_confidence_constr_4 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 7, 7, 0l, 127l } /* (0..127) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_GA_PointWithUnCertaintyEllipse_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_PointWithUnCertaintyEllipse, geographicalCoordinates),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_GeographicalCoordinates,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "geographicalCoordinates"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_PointWithUnCertaintyEllipse, uncertaintyEllipse),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_GA_UncertaintyEllipse,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "uncertaintyEllipse"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_PointWithUnCertaintyEllipse, confidence),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_confidence_constraint_1,
+ &asn_PER_memb_confidence_constr_4,
+ 0,
+ "confidence"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_GA_PointWithUnCertaintyEllipse, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_GA_PointWithUnCertaintyEllipse_oms_1[] = { 3 };
+static const ber_tlv_tag_t asn_DEF_RANAP_GA_PointWithUnCertaintyEllipse_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_GA_PointWithUnCertaintyEllipse_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* geographicalCoordinates */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uncertaintyEllipse */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* confidence */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_GA_PointWithUnCertaintyEllipse_specs_1 = {
+ sizeof(struct RANAP_GA_PointWithUnCertaintyEllipse),
+ offsetof(struct RANAP_GA_PointWithUnCertaintyEllipse, _asn_ctx),
+ asn_MAP_RANAP_GA_PointWithUnCertaintyEllipse_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_RANAP_GA_PointWithUnCertaintyEllipse_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 3, /* Start extensions */
+ 5 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_GA_PointWithUnCertaintyEllipse = {
+ "RANAP_GA-PointWithUnCertaintyEllipse",
+ "RANAP_GA-PointWithUnCertaintyEllipse",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_GA_PointWithUnCertaintyEllipse_tags_1,
+ sizeof(asn_DEF_RANAP_GA_PointWithUnCertaintyEllipse_tags_1)
+ /sizeof(asn_DEF_RANAP_GA_PointWithUnCertaintyEllipse_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_GA_PointWithUnCertaintyEllipse_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_GA_PointWithUnCertaintyEllipse_tags_1)
+ /sizeof(asn_DEF_RANAP_GA_PointWithUnCertaintyEllipse_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_GA_PointWithUnCertaintyEllipse_1,
+ 4, /* Elements count */
+ &asn_SPC_RANAP_GA_PointWithUnCertaintyEllipse_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_GA-PointWithUnCertaintyEllipse.h b/src/ranap/RANAP_GA-PointWithUnCertaintyEllipse.h
new file mode 100644
index 0000000..725ef0d
--- /dev/null
+++ b/src/ranap/RANAP_GA-PointWithUnCertaintyEllipse.h
@@ -0,0 +1,47 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_GA_PointWithUnCertaintyEllipse_H_
+#define _RANAP_GA_PointWithUnCertaintyEllipse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_GeographicalCoordinates.h"
+#include "RANAP_GA-UncertaintyEllipse.h"
+#include <NativeInteger.h>
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_GA-PointWithUnCertaintyEllipse */
+typedef struct RANAP_GA_PointWithUnCertaintyEllipse {
+ RANAP_GeographicalCoordinates_t geographicalCoordinates;
+ RANAP_GA_UncertaintyEllipse_t uncertaintyEllipse;
+ long confidence;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_GA_PointWithUnCertaintyEllipse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_GA_PointWithUnCertaintyEllipse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_GA_PointWithUnCertaintyEllipse_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_GA-Polygon.c b/src/ranap/RANAP_GA-Polygon.c
new file mode 100644
index 0000000..018c9e3
--- /dev/null
+++ b/src/ranap/RANAP_GA-Polygon.c
@@ -0,0 +1,125 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_GA-Polygon.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_GA_Polygon_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 4, 4, 1l, 15l } /* (SIZE(1..15)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_Member_2[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct Member, geographicalCoordinates),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_GeographicalCoordinates,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "geographicalCoordinates"
+ },
+ { ATF_POINTER, 1, offsetof(struct Member, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "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 }, /* geographicalCoordinates */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
+ sizeof(struct Member),
+ offsetof(struct 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 */
+ 1, /* Start extensions */
+ 3 /* Stop extensions */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_Member_2 = {
+ "SEQUENCE",
+ "SEQUENCE",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ 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, /* No PER visible constraints */
+ asn_MBR_Member_2,
+ 2, /* Elements count */
+ &asn_SPC_Member_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_GA_Polygon_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_Member_2,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_GA_Polygon_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_GA_Polygon_specs_1 = {
+ sizeof(struct RANAP_GA_Polygon),
+ offsetof(struct RANAP_GA_Polygon, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_GA_Polygon = {
+ "RANAP_GA-Polygon",
+ "RANAP_GA-Polygon",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_GA_Polygon_tags_1,
+ sizeof(asn_DEF_RANAP_GA_Polygon_tags_1)
+ /sizeof(asn_DEF_RANAP_GA_Polygon_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_GA_Polygon_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_GA_Polygon_tags_1)
+ /sizeof(asn_DEF_RANAP_GA_Polygon_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_GA_Polygon_constr_1,
+ asn_MBR_RANAP_GA_Polygon_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_GA_Polygon_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_GA-Polygon.h b/src/ranap/RANAP_GA-Polygon.h
new file mode 100644
index 0000000..ed27da7
--- /dev/null
+++ b/src/ranap/RANAP_GA-Polygon.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_GA_Polygon_H_
+#define _RANAP_GA_Polygon_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include "RANAP_GeographicalCoordinates.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_GA-Polygon */
+typedef struct RANAP_GA_Polygon {
+ A_SEQUENCE_OF(struct Member {
+ RANAP_GeographicalCoordinates_t geographicalCoordinates;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } ) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_GA_Polygon_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_GA_Polygon;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_GA_Polygon_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_GA-UncertaintyEllipse.c b/src/ranap/RANAP_GA-UncertaintyEllipse.c
new file mode 100644
index 0000000..b82b7e4
--- /dev/null
+++ b/src/ranap/RANAP_GA-UncertaintyEllipse.c
@@ -0,0 +1,171 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_GA-UncertaintyEllipse.h"
+
+static int
+memb_uncertaintySemi_major_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 127l)) {
+ /* 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_uncertaintySemi_minor_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 127l)) {
+ /* 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_orientationOfMajorAxis_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 179l)) {
+ /* Constraint 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_uncertaintySemi_major_constr_2 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 7, 7, 0l, 127l } /* (0..127) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_uncertaintySemi_minor_constr_3 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 7, 7, 0l, 127l } /* (0..127) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_orientationOfMajorAxis_constr_4 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 8, 8, 0l, 179l } /* (0..179) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_GA_UncertaintyEllipse_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_UncertaintyEllipse, uncertaintySemi_major),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_uncertaintySemi_major_constraint_1,
+ &asn_PER_memb_uncertaintySemi_major_constr_2,
+ 0,
+ "uncertaintySemi-major"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_UncertaintyEllipse, uncertaintySemi_minor),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_uncertaintySemi_minor_constraint_1,
+ &asn_PER_memb_uncertaintySemi_minor_constr_3,
+ 0,
+ "uncertaintySemi-minor"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GA_UncertaintyEllipse, orientationOfMajorAxis),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_orientationOfMajorAxis_constraint_1,
+ &asn_PER_memb_orientationOfMajorAxis_constr_4,
+ 0,
+ "orientationOfMajorAxis"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_GA_UncertaintyEllipse_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_GA_UncertaintyEllipse_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* uncertaintySemi-major */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uncertaintySemi-minor */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* orientationOfMajorAxis */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_GA_UncertaintyEllipse_specs_1 = {
+ sizeof(struct RANAP_GA_UncertaintyEllipse),
+ offsetof(struct RANAP_GA_UncertaintyEllipse, _asn_ctx),
+ asn_MAP_RANAP_GA_UncertaintyEllipse_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_GA_UncertaintyEllipse = {
+ "RANAP_GA-UncertaintyEllipse",
+ "RANAP_GA-UncertaintyEllipse",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_GA_UncertaintyEllipse_tags_1,
+ sizeof(asn_DEF_RANAP_GA_UncertaintyEllipse_tags_1)
+ /sizeof(asn_DEF_RANAP_GA_UncertaintyEllipse_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_GA_UncertaintyEllipse_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_GA_UncertaintyEllipse_tags_1)
+ /sizeof(asn_DEF_RANAP_GA_UncertaintyEllipse_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_GA_UncertaintyEllipse_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_GA_UncertaintyEllipse_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_GA-UncertaintyEllipse.h b/src/ranap/RANAP_GA-UncertaintyEllipse.h
new file mode 100644
index 0000000..0524a29
--- /dev/null
+++ b/src/ranap/RANAP_GA-UncertaintyEllipse.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_GA_UncertaintyEllipse_H_
+#define _RANAP_GA_UncertaintyEllipse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_GA-UncertaintyEllipse */
+typedef struct RANAP_GA_UncertaintyEllipse {
+ long uncertaintySemi_major;
+ long uncertaintySemi_minor;
+ long orientationOfMajorAxis;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_GA_UncertaintyEllipse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_GA_UncertaintyEllipse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_GA_UncertaintyEllipse_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_GANSS-PositioningDataSet.c b/src/ranap/RANAP_GANSS-PositioningDataSet.c
new file mode 100644
index 0000000..3f3f137
--- /dev/null
+++ b/src/ranap/RANAP_GANSS-PositioningDataSet.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_GANSS-PositioningDataSet.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_GANSS_PositioningDataSet_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 4, 4, 1l, 9l } /* (SIZE(1..9)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_GANSS_PositioningDataSet_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_GANSS_PositioningMethodAndUsage,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_GANSS_PositioningDataSet_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_GANSS_PositioningDataSet_specs_1 = {
+ sizeof(struct RANAP_GANSS_PositioningDataSet),
+ offsetof(struct RANAP_GANSS_PositioningDataSet, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_GANSS_PositioningDataSet = {
+ "RANAP_GANSS-PositioningDataSet",
+ "RANAP_GANSS-PositioningDataSet",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_GANSS_PositioningDataSet_tags_1,
+ sizeof(asn_DEF_RANAP_GANSS_PositioningDataSet_tags_1)
+ /sizeof(asn_DEF_RANAP_GANSS_PositioningDataSet_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_GANSS_PositioningDataSet_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_GANSS_PositioningDataSet_tags_1)
+ /sizeof(asn_DEF_RANAP_GANSS_PositioningDataSet_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_GANSS_PositioningDataSet_constr_1,
+ asn_MBR_RANAP_GANSS_PositioningDataSet_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_GANSS_PositioningDataSet_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_GANSS-PositioningDataSet.h b/src/ranap/RANAP_GANSS-PositioningDataSet.h
new file mode 100644
index 0000000..d2502d0
--- /dev/null
+++ b/src/ranap/RANAP_GANSS-PositioningDataSet.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_GANSS_PositioningDataSet_H_
+#define _RANAP_GANSS_PositioningDataSet_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_GANSS-PositioningMethodAndUsage.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_GANSS-PositioningDataSet */
+typedef struct RANAP_GANSS_PositioningDataSet {
+ A_SEQUENCE_OF(RANAP_GANSS_PositioningMethodAndUsage_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_GANSS_PositioningDataSet_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_GANSS_PositioningDataSet;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_GANSS_PositioningDataSet_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_GANSS-PositioningMethodAndUsage.c b/src/ranap/RANAP_GANSS-PositioningMethodAndUsage.c
new file mode 100644
index 0000000..4c8aba8
--- /dev/null
+++ b/src/ranap/RANAP_GANSS-PositioningMethodAndUsage.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_GANSS-PositioningMethodAndUsage.h"
+
+int
+RANAP_GANSS_PositioningMethodAndUsage_constraint(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 == 1l)) {
+ /* 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 void
+RANAP_GANSS_PositioningMethodAndUsage_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_GANSS_PositioningMethodAndUsage_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_GANSS_PositioningMethodAndUsage_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_GANSS_PositioningMethodAndUsage_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_GANSS_PositioningMethodAndUsage_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_GANSS_PositioningMethodAndUsage_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_GANSS_PositioningMethodAndUsage_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_GANSS_PositioningMethodAndUsage_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_GANSS_PositioningMethodAndUsage_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_GANSS_PositioningMethodAndUsage_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_GANSS_PositioningMethodAndUsage_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_GANSS_PositioningMethodAndUsage_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_GANSS_PositioningMethodAndUsage_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_GANSS_PositioningMethodAndUsage_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_GANSS_PositioningMethodAndUsage_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_GANSS_PositioningMethodAndUsage_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_GANSS_PositioningMethodAndUsage_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_GANSS_PositioningMethodAndUsage_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_GANSS_PositioningMethodAndUsage_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_GANSS_PositioningMethodAndUsage_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_GANSS_PositioningMethodAndUsage_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_GANSS_PositioningMethodAndUsage_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 1l, 1l } /* (SIZE(1..1)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_GANSS_PositioningMethodAndUsage_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_GANSS_PositioningMethodAndUsage = {
+ "RANAP_GANSS-PositioningMethodAndUsage",
+ "RANAP_GANSS-PositioningMethodAndUsage",
+ RANAP_GANSS_PositioningMethodAndUsage_free,
+ RANAP_GANSS_PositioningMethodAndUsage_print,
+ RANAP_GANSS_PositioningMethodAndUsage_constraint,
+ RANAP_GANSS_PositioningMethodAndUsage_decode_ber,
+ RANAP_GANSS_PositioningMethodAndUsage_encode_der,
+ RANAP_GANSS_PositioningMethodAndUsage_decode_xer,
+ RANAP_GANSS_PositioningMethodAndUsage_encode_xer,
+ RANAP_GANSS_PositioningMethodAndUsage_decode_uper,
+ RANAP_GANSS_PositioningMethodAndUsage_encode_uper,
+ RANAP_GANSS_PositioningMethodAndUsage_decode_aper,
+ RANAP_GANSS_PositioningMethodAndUsage_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_GANSS_PositioningMethodAndUsage_tags_1,
+ sizeof(asn_DEF_RANAP_GANSS_PositioningMethodAndUsage_tags_1)
+ /sizeof(asn_DEF_RANAP_GANSS_PositioningMethodAndUsage_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_GANSS_PositioningMethodAndUsage_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_GANSS_PositioningMethodAndUsage_tags_1)
+ /sizeof(asn_DEF_RANAP_GANSS_PositioningMethodAndUsage_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_GANSS_PositioningMethodAndUsage_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_GANSS-PositioningMethodAndUsage.h b/src/ranap/RANAP_GANSS-PositioningMethodAndUsage.h
new file mode 100644
index 0000000..793ca23
--- /dev/null
+++ b/src/ranap/RANAP_GANSS-PositioningMethodAndUsage.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_GANSS_PositioningMethodAndUsage_H_
+#define _RANAP_GANSS_PositioningMethodAndUsage_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_GANSS-PositioningMethodAndUsage */
+typedef OCTET_STRING_t RANAP_GANSS_PositioningMethodAndUsage_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_GANSS_PositioningMethodAndUsage;
+asn_struct_free_f RANAP_GANSS_PositioningMethodAndUsage_free;
+asn_struct_print_f RANAP_GANSS_PositioningMethodAndUsage_print;
+asn_constr_check_f RANAP_GANSS_PositioningMethodAndUsage_constraint;
+ber_type_decoder_f RANAP_GANSS_PositioningMethodAndUsage_decode_ber;
+der_type_encoder_f RANAP_GANSS_PositioningMethodAndUsage_encode_der;
+xer_type_decoder_f RANAP_GANSS_PositioningMethodAndUsage_decode_xer;
+xer_type_encoder_f RANAP_GANSS_PositioningMethodAndUsage_encode_xer;
+per_type_decoder_f RANAP_GANSS_PositioningMethodAndUsage_decode_uper;
+per_type_encoder_f RANAP_GANSS_PositioningMethodAndUsage_encode_uper;
+per_type_decoder_f RANAP_GANSS_PositioningMethodAndUsage_decode_aper;
+per_type_encoder_f RANAP_GANSS_PositioningMethodAndUsage_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_GANSS_PositioningMethodAndUsage_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_GERAN-BSC-Container.c b/src/ranap/RANAP_GERAN-BSC-Container.c
new file mode 100644
index 0000000..99f91a5
--- /dev/null
+++ b/src/ranap/RANAP_GERAN-BSC-Container.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_GERAN-BSC-Container.h"
+
+int
+RANAP_GERAN_BSC_Container_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_GERAN_BSC_Container_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_GERAN_BSC_Container_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_GERAN_BSC_Container_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_GERAN_BSC_Container_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_GERAN_BSC_Container_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_GERAN_BSC_Container_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_GERAN_BSC_Container_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_GERAN_BSC_Container_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_GERAN_BSC_Container_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_GERAN_BSC_Container_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_GERAN_BSC_Container_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_GERAN_BSC_Container_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_GERAN_BSC_Container_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_GERAN_BSC_Container_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_GERAN_BSC_Container_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_GERAN_BSC_Container_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_GERAN_BSC_Container_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_GERAN_BSC_Container_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_GERAN_BSC_Container_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_GERAN_BSC_Container_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_GERAN_BSC_Container_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static const ber_tlv_tag_t asn_DEF_RANAP_GERAN_BSC_Container_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_GERAN_BSC_Container = {
+ "RANAP_GERAN-BSC-Container",
+ "RANAP_GERAN-BSC-Container",
+ RANAP_GERAN_BSC_Container_free,
+ RANAP_GERAN_BSC_Container_print,
+ RANAP_GERAN_BSC_Container_constraint,
+ RANAP_GERAN_BSC_Container_decode_ber,
+ RANAP_GERAN_BSC_Container_encode_der,
+ RANAP_GERAN_BSC_Container_decode_xer,
+ RANAP_GERAN_BSC_Container_encode_xer,
+ RANAP_GERAN_BSC_Container_decode_uper,
+ RANAP_GERAN_BSC_Container_encode_uper,
+ RANAP_GERAN_BSC_Container_decode_aper,
+ RANAP_GERAN_BSC_Container_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_GERAN_BSC_Container_tags_1,
+ sizeof(asn_DEF_RANAP_GERAN_BSC_Container_tags_1)
+ /sizeof(asn_DEF_RANAP_GERAN_BSC_Container_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_GERAN_BSC_Container_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_GERAN_BSC_Container_tags_1)
+ /sizeof(asn_DEF_RANAP_GERAN_BSC_Container_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_GERAN-BSC-Container.h b/src/ranap/RANAP_GERAN-BSC-Container.h
new file mode 100644
index 0000000..920b279
--- /dev/null
+++ b/src/ranap/RANAP_GERAN-BSC-Container.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_GERAN_BSC_Container_H_
+#define _RANAP_GERAN_BSC_Container_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_GERAN-BSC-Container */
+typedef OCTET_STRING_t RANAP_GERAN_BSC_Container_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_GERAN_BSC_Container;
+asn_struct_free_f RANAP_GERAN_BSC_Container_free;
+asn_struct_print_f RANAP_GERAN_BSC_Container_print;
+asn_constr_check_f RANAP_GERAN_BSC_Container_constraint;
+ber_type_decoder_f RANAP_GERAN_BSC_Container_decode_ber;
+der_type_encoder_f RANAP_GERAN_BSC_Container_encode_der;
+xer_type_decoder_f RANAP_GERAN_BSC_Container_decode_xer;
+xer_type_encoder_f RANAP_GERAN_BSC_Container_encode_xer;
+per_type_decoder_f RANAP_GERAN_BSC_Container_decode_uper;
+per_type_encoder_f RANAP_GERAN_BSC_Container_encode_uper;
+per_type_decoder_f RANAP_GERAN_BSC_Container_decode_aper;
+per_type_encoder_f RANAP_GERAN_BSC_Container_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_GERAN_BSC_Container_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_GERAN-Cell-ID.c b/src/ranap/RANAP_GERAN-Cell-ID.c
new file mode 100644
index 0000000..e69cd12
--- /dev/null
+++ b/src/ranap/RANAP_GERAN-Cell-ID.c
@@ -0,0 +1,93 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_GERAN-Cell-ID.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_GERAN_Cell_ID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GERAN_Cell_ID, lAI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_LAI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "lAI"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GERAN_Cell_ID, rAC),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RAC,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rAC"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GERAN_Cell_ID, cI),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_CI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "cI"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_GERAN_Cell_ID, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_GERAN_Cell_ID_oms_1[] = { 3 };
+static const ber_tlv_tag_t asn_DEF_RANAP_GERAN_Cell_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_GERAN_Cell_ID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lAI */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rAC */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* cI */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_GERAN_Cell_ID_specs_1 = {
+ sizeof(struct RANAP_GERAN_Cell_ID),
+ offsetof(struct RANAP_GERAN_Cell_ID, _asn_ctx),
+ asn_MAP_RANAP_GERAN_Cell_ID_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_RANAP_GERAN_Cell_ID_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_GERAN_Cell_ID = {
+ "RANAP_GERAN-Cell-ID",
+ "RANAP_GERAN-Cell-ID",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_GERAN_Cell_ID_tags_1,
+ sizeof(asn_DEF_RANAP_GERAN_Cell_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_GERAN_Cell_ID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_GERAN_Cell_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_GERAN_Cell_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_GERAN_Cell_ID_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_GERAN_Cell_ID_1,
+ 4, /* Elements count */
+ &asn_SPC_RANAP_GERAN_Cell_ID_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_GERAN-Cell-ID.h b/src/ranap/RANAP_GERAN-Cell-ID.h
new file mode 100644
index 0000000..026dde0
--- /dev/null
+++ b/src/ranap/RANAP_GERAN-Cell-ID.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_GERAN_Cell_ID_H_
+#define _RANAP_GERAN_Cell_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_LAI.h"
+#include "RANAP_RAC.h"
+#include "RANAP_CI.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_GERAN-Cell-ID */
+typedef struct RANAP_GERAN_Cell_ID {
+ RANAP_LAI_t lAI;
+ RANAP_RAC_t rAC;
+ RANAP_CI_t cI;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_GERAN_Cell_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_GERAN_Cell_ID;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_GERAN_Cell_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_GERAN-Classmark.c b/src/ranap/RANAP_GERAN-Classmark.c
new file mode 100644
index 0000000..8eb85e2
--- /dev/null
+++ b/src/ranap/RANAP_GERAN-Classmark.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_GERAN-Classmark.h"
+
+int
+RANAP_GERAN_Classmark_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_GERAN_Classmark_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_GERAN_Classmark_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_GERAN_Classmark_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_GERAN_Classmark_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_GERAN_Classmark_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_GERAN_Classmark_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_GERAN_Classmark_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_GERAN_Classmark_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_GERAN_Classmark_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_GERAN_Classmark_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_GERAN_Classmark_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_GERAN_Classmark_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_GERAN_Classmark_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_GERAN_Classmark_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_GERAN_Classmark_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_GERAN_Classmark_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_GERAN_Classmark_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_GERAN_Classmark_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_GERAN_Classmark_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_GERAN_Classmark_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_GERAN_Classmark_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static const ber_tlv_tag_t asn_DEF_RANAP_GERAN_Classmark_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_GERAN_Classmark = {
+ "RANAP_GERAN-Classmark",
+ "RANAP_GERAN-Classmark",
+ RANAP_GERAN_Classmark_free,
+ RANAP_GERAN_Classmark_print,
+ RANAP_GERAN_Classmark_constraint,
+ RANAP_GERAN_Classmark_decode_ber,
+ RANAP_GERAN_Classmark_encode_der,
+ RANAP_GERAN_Classmark_decode_xer,
+ RANAP_GERAN_Classmark_encode_xer,
+ RANAP_GERAN_Classmark_decode_uper,
+ RANAP_GERAN_Classmark_encode_uper,
+ RANAP_GERAN_Classmark_decode_aper,
+ RANAP_GERAN_Classmark_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_GERAN_Classmark_tags_1,
+ sizeof(asn_DEF_RANAP_GERAN_Classmark_tags_1)
+ /sizeof(asn_DEF_RANAP_GERAN_Classmark_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_GERAN_Classmark_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_GERAN_Classmark_tags_1)
+ /sizeof(asn_DEF_RANAP_GERAN_Classmark_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_GERAN-Classmark.h b/src/ranap/RANAP_GERAN-Classmark.h
new file mode 100644
index 0000000..8de744b
--- /dev/null
+++ b/src/ranap/RANAP_GERAN-Classmark.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_GERAN_Classmark_H_
+#define _RANAP_GERAN_Classmark_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_GERAN-Classmark */
+typedef OCTET_STRING_t RANAP_GERAN_Classmark_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_GERAN_Classmark;
+asn_struct_free_f RANAP_GERAN_Classmark_free;
+asn_struct_print_f RANAP_GERAN_Classmark_print;
+asn_constr_check_f RANAP_GERAN_Classmark_constraint;
+ber_type_decoder_f RANAP_GERAN_Classmark_decode_ber;
+der_type_encoder_f RANAP_GERAN_Classmark_encode_der;
+xer_type_decoder_f RANAP_GERAN_Classmark_decode_xer;
+xer_type_encoder_f RANAP_GERAN_Classmark_encode_xer;
+per_type_decoder_f RANAP_GERAN_Classmark_decode_uper;
+per_type_encoder_f RANAP_GERAN_Classmark_encode_uper;
+per_type_decoder_f RANAP_GERAN_Classmark_decode_aper;
+per_type_encoder_f RANAP_GERAN_Classmark_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_GERAN_Classmark_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_GTP-TEI.c b/src/ranap/RANAP_GTP-TEI.c
new file mode 100644
index 0000000..7901aff
--- /dev/null
+++ b/src/ranap/RANAP_GTP-TEI.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_GTP-TEI.h"
+
+int
+RANAP_GTP_TEI_constraint(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 == 4l)) {
+ /* 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 void
+RANAP_GTP_TEI_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_GTP_TEI_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_GTP_TEI_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_GTP_TEI_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_GTP_TEI_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_GTP_TEI_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_GTP_TEI_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_GTP_TEI_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_GTP_TEI_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_GTP_TEI_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_GTP_TEI_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_GTP_TEI_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_GTP_TEI_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_GTP_TEI_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_GTP_TEI_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_GTP_TEI_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_GTP_TEI_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_GTP_TEI_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_GTP_TEI_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_GTP_TEI_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_GTP_TEI_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_GTP_TEI_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 4l, 4l } /* (SIZE(4..4)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_GTP_TEI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_GTP_TEI = {
+ "RANAP_GTP-TEI",
+ "RANAP_GTP-TEI",
+ RANAP_GTP_TEI_free,
+ RANAP_GTP_TEI_print,
+ RANAP_GTP_TEI_constraint,
+ RANAP_GTP_TEI_decode_ber,
+ RANAP_GTP_TEI_encode_der,
+ RANAP_GTP_TEI_decode_xer,
+ RANAP_GTP_TEI_encode_xer,
+ RANAP_GTP_TEI_decode_uper,
+ RANAP_GTP_TEI_encode_uper,
+ RANAP_GTP_TEI_decode_aper,
+ RANAP_GTP_TEI_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_GTP_TEI_tags_1,
+ sizeof(asn_DEF_RANAP_GTP_TEI_tags_1)
+ /sizeof(asn_DEF_RANAP_GTP_TEI_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_GTP_TEI_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_GTP_TEI_tags_1)
+ /sizeof(asn_DEF_RANAP_GTP_TEI_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_GTP_TEI_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_GTP-TEI.h b/src/ranap/RANAP_GTP-TEI.h
new file mode 100644
index 0000000..01382e0
--- /dev/null
+++ b/src/ranap/RANAP_GTP-TEI.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_GTP_TEI_H_
+#define _RANAP_GTP_TEI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_GTP-TEI */
+typedef OCTET_STRING_t RANAP_GTP_TEI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_GTP_TEI;
+asn_struct_free_f RANAP_GTP_TEI_free;
+asn_struct_print_f RANAP_GTP_TEI_print;
+asn_constr_check_f RANAP_GTP_TEI_constraint;
+ber_type_decoder_f RANAP_GTP_TEI_decode_ber;
+der_type_encoder_f RANAP_GTP_TEI_encode_der;
+xer_type_decoder_f RANAP_GTP_TEI_decode_xer;
+xer_type_encoder_f RANAP_GTP_TEI_encode_xer;
+per_type_decoder_f RANAP_GTP_TEI_decode_uper;
+per_type_encoder_f RANAP_GTP_TEI_encode_uper;
+per_type_decoder_f RANAP_GTP_TEI_decode_aper;
+per_type_encoder_f RANAP_GTP_TEI_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_GTP_TEI_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_GeographicalArea.c b/src/ranap/RANAP_GeographicalArea.c
new file mode 100644
index 0000000..eba4572
--- /dev/null
+++ b/src/ranap/RANAP_GeographicalArea.c
@@ -0,0 +1,122 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_GeographicalArea.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_GeographicalArea_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 2l } /* (0..2,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_GeographicalArea_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GeographicalArea, choice.point),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_GA_Point,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "point"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GeographicalArea, choice.pointWithUnCertainty),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_GA_PointWithUnCertainty,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "pointWithUnCertainty"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GeographicalArea, choice.polygon),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_GA_Polygon,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "polygon"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GeographicalArea, choice.pointWithUncertaintyEllipse),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_GA_PointWithUnCertaintyEllipse,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "pointWithUncertaintyEllipse"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GeographicalArea, choice.pointWithAltitude),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_GA_PointWithAltitude,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "pointWithAltitude"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GeographicalArea, choice.pointWithAltitudeAndUncertaintyEllipsoid),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "pointWithAltitudeAndUncertaintyEllipsoid"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GeographicalArea, choice.ellipsoidArc),
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_GA_EllipsoidArc,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "ellipsoidArc"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_GeographicalArea_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* point */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* pointWithUnCertainty */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* polygon */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* pointWithUncertaintyEllipse */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* pointWithAltitude */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* pointWithAltitudeAndUncertaintyEllipsoid */
+ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* ellipsoidArc */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_GeographicalArea_specs_1 = {
+ sizeof(struct RANAP_GeographicalArea),
+ offsetof(struct RANAP_GeographicalArea, _asn_ctx),
+ offsetof(struct RANAP_GeographicalArea, present),
+ sizeof(((struct RANAP_GeographicalArea *)0)->present),
+ asn_MAP_RANAP_GeographicalArea_tag2el_1,
+ 7, /* Count of tags in the map */
+ 0,
+ 3 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_GeographicalArea = {
+ "RANAP_GeographicalArea",
+ "RANAP_GeographicalArea",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_GeographicalArea_constr_1,
+ asn_MBR_RANAP_GeographicalArea_1,
+ 7, /* Elements count */
+ &asn_SPC_RANAP_GeographicalArea_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_GeographicalArea.h b/src/ranap/RANAP_GeographicalArea.h
new file mode 100644
index 0000000..930c9f6
--- /dev/null
+++ b/src/ranap/RANAP_GeographicalArea.h
@@ -0,0 +1,69 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_GeographicalArea_H_
+#define _RANAP_GeographicalArea_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_GA-Point.h"
+#include "RANAP_GA-PointWithUnCertainty.h"
+#include "RANAP_GA-Polygon.h"
+#include "RANAP_GA-PointWithUnCertaintyEllipse.h"
+#include "RANAP_GA-PointWithAltitude.h"
+#include "RANAP_GA-PointWithAltitudeAndUncertaintyEllipsoid.h"
+#include "RANAP_GA-EllipsoidArc.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_GeographicalArea_PR {
+ RANAP_GeographicalArea_PR_NOTHING, /* No components present */
+ RANAP_GeographicalArea_PR_point,
+ RANAP_GeographicalArea_PR_pointWithUnCertainty,
+ RANAP_GeographicalArea_PR_polygon,
+ /* Extensions may appear below */
+ RANAP_GeographicalArea_PR_pointWithUncertaintyEllipse,
+ RANAP_GeographicalArea_PR_pointWithAltitude,
+ RANAP_GeographicalArea_PR_pointWithAltitudeAndUncertaintyEllipsoid,
+ RANAP_GeographicalArea_PR_ellipsoidArc
+} RANAP_GeographicalArea_PR;
+
+/* RANAP_GeographicalArea */
+typedef struct RANAP_GeographicalArea {
+ RANAP_GeographicalArea_PR present;
+ union RANAP_GeographicalArea_u {
+ RANAP_GA_Point_t point;
+ RANAP_GA_PointWithUnCertainty_t pointWithUnCertainty;
+ RANAP_GA_Polygon_t polygon;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ RANAP_GA_PointWithUnCertaintyEllipse_t pointWithUncertaintyEllipse;
+ RANAP_GA_PointWithAltitude_t pointWithAltitude;
+ RANAP_GA_PointWithAltitudeAndUncertaintyEllipsoid_t pointWithAltitudeAndUncertaintyEllipsoid;
+ RANAP_GA_EllipsoidArc_t ellipsoidArc;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_GeographicalArea_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_GeographicalArea;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_GeographicalArea_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_GeographicalCoordinates.c b/src/ranap/RANAP_GeographicalCoordinates.c
new file mode 100644
index 0000000..57f391e
--- /dev/null
+++ b/src/ranap/RANAP_GeographicalCoordinates.c
@@ -0,0 +1,312 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_GeographicalCoordinates.h"
+
+static int
+latitudeSign_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+latitudeSign_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+static void
+latitudeSign_2_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ latitudeSign_2_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+static int
+latitudeSign_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ latitudeSign_2_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+static asn_dec_rval_t
+latitudeSign_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ latitudeSign_2_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+static asn_enc_rval_t
+latitudeSign_2_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ latitudeSign_2_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+static asn_dec_rval_t
+latitudeSign_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ latitudeSign_2_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+static asn_enc_rval_t
+latitudeSign_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ latitudeSign_2_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+static asn_dec_rval_t
+latitudeSign_2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ latitudeSign_2_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_enc_rval_t
+latitudeSign_2_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ latitudeSign_2_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+static asn_enc_rval_t
+latitudeSign_2_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ latitudeSign_2_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+static asn_dec_rval_t
+latitudeSign_2_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ latitudeSign_2_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static int
+memb_latitude_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 8388607l)) {
+ /* 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_longitude_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= -8388608ull && value <= 8388607l)) {
+ /* Constraint 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_latitudeSign_constr_2 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_latitude_constr_5 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 23, -1, 0l, 8388607l } /* (0..8388607) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_longitude_constr_6 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 24, -1, -8388608ull, 8388607l } /* (-8388608..8388607) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_latitudeSign_value2enum_2[] = {
+ { 0, 5, "north" },
+ { 1, 5, "south" }
+};
+static const unsigned int asn_MAP_latitudeSign_enum2value_2[] = {
+ 0, /* north(0) */
+ 1 /* south(1) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_latitudeSign_specs_2 = {
+ asn_MAP_latitudeSign_value2enum_2, /* "tag" => N; sorted by tag */
+ asn_MAP_latitudeSign_enum2value_2, /* 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_latitudeSign_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_latitudeSign_2 = {
+ "latitudeSign",
+ "latitudeSign",
+ latitudeSign_2_free,
+ latitudeSign_2_print,
+ latitudeSign_2_constraint,
+ latitudeSign_2_decode_ber,
+ latitudeSign_2_encode_der,
+ latitudeSign_2_decode_xer,
+ latitudeSign_2_encode_xer,
+ latitudeSign_2_decode_uper,
+ latitudeSign_2_encode_uper,
+ latitudeSign_2_decode_aper,
+ latitudeSign_2_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_latitudeSign_tags_2,
+ sizeof(asn_DEF_latitudeSign_tags_2)
+ /sizeof(asn_DEF_latitudeSign_tags_2[0]) - 1, /* 1 */
+ asn_DEF_latitudeSign_tags_2, /* Same as above */
+ sizeof(asn_DEF_latitudeSign_tags_2)
+ /sizeof(asn_DEF_latitudeSign_tags_2[0]), /* 2 */
+ &asn_PER_type_latitudeSign_constr_2,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_latitudeSign_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_GeographicalCoordinates_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GeographicalCoordinates, latitudeSign),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_latitudeSign_2,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "latitudeSign"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GeographicalCoordinates, latitude),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_latitude_constraint_1,
+ &asn_PER_memb_latitude_constr_5,
+ 0,
+ "latitude"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GeographicalCoordinates, longitude),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_longitude_constraint_1,
+ &asn_PER_memb_longitude_constr_6,
+ 0,
+ "longitude"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_GeographicalCoordinates, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_GeographicalCoordinates_oms_1[] = { 3 };
+static const ber_tlv_tag_t asn_DEF_RANAP_GeographicalCoordinates_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_GeographicalCoordinates_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* latitudeSign */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* latitude */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* longitude */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_GeographicalCoordinates_specs_1 = {
+ sizeof(struct RANAP_GeographicalCoordinates),
+ offsetof(struct RANAP_GeographicalCoordinates, _asn_ctx),
+ asn_MAP_RANAP_GeographicalCoordinates_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_RANAP_GeographicalCoordinates_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 3, /* Start extensions */
+ 5 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_GeographicalCoordinates = {
+ "RANAP_GeographicalCoordinates",
+ "RANAP_GeographicalCoordinates",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_GeographicalCoordinates_tags_1,
+ sizeof(asn_DEF_RANAP_GeographicalCoordinates_tags_1)
+ /sizeof(asn_DEF_RANAP_GeographicalCoordinates_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_GeographicalCoordinates_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_GeographicalCoordinates_tags_1)
+ /sizeof(asn_DEF_RANAP_GeographicalCoordinates_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_GeographicalCoordinates_1,
+ 4, /* Elements count */
+ &asn_SPC_RANAP_GeographicalCoordinates_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_GeographicalCoordinates.h b/src/ranap/RANAP_GeographicalCoordinates.h
new file mode 100644
index 0000000..8f3d911
--- /dev/null
+++ b/src/ranap/RANAP_GeographicalCoordinates.h
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_GeographicalCoordinates_H_
+#define _RANAP_GeographicalCoordinates_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+#include <NativeInteger.h>
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum latitudeSign {
+ latitudeSign_north = 0,
+ latitudeSign_south = 1
+} e_latitudeSign;
+
+/* RANAP_GeographicalCoordinates */
+typedef struct RANAP_GeographicalCoordinates {
+ long latitudeSign;
+ long latitude;
+ long longitude;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_GeographicalCoordinates_t;
+
+/* Implementation */
+/* extern asn_TYPE_descriptor_t asn_DEF_latitudeSign_2; // (Use -fall-defs-global to expose) */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_GeographicalCoordinates;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_GeographicalCoordinates_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_GlobalCN-ID.c b/src/ranap/RANAP_GlobalCN-ID.c
new file mode 100644
index 0000000..e83f7eb
--- /dev/null
+++ b/src/ranap/RANAP_GlobalCN-ID.c
@@ -0,0 +1,71 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_GlobalCN-ID.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_GlobalCN_ID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GlobalCN_ID, pLMNidentity),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PLMNidentity,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "pLMNidentity"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GlobalCN_ID, cN_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_CN_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "cN-ID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_GlobalCN_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_GlobalCN_ID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNidentity */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cN-ID */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_GlobalCN_ID_specs_1 = {
+ sizeof(struct RANAP_GlobalCN_ID),
+ offsetof(struct RANAP_GlobalCN_ID, _asn_ctx),
+ asn_MAP_RANAP_GlobalCN_ID_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_GlobalCN_ID = {
+ "RANAP_GlobalCN-ID",
+ "RANAP_GlobalCN-ID",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_GlobalCN_ID_tags_1,
+ sizeof(asn_DEF_RANAP_GlobalCN_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_GlobalCN_ID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_GlobalCN_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_GlobalCN_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_GlobalCN_ID_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_GlobalCN_ID_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_GlobalCN_ID_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_GlobalCN-ID.h b/src/ranap/RANAP_GlobalCN-ID.h
new file mode 100644
index 0000000..4428af6
--- /dev/null
+++ b/src/ranap/RANAP_GlobalCN-ID.h
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_GlobalCN_ID_H_
+#define _RANAP_GlobalCN_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_PLMNidentity.h"
+#include "RANAP_CN-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_GlobalCN-ID */
+typedef struct RANAP_GlobalCN_ID {
+ RANAP_PLMNidentity_t pLMNidentity;
+ RANAP_CN_ID_t cN_ID;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_GlobalCN_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_GlobalCN_ID;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_GlobalCN_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_GlobalRNC-ID.c b/src/ranap/RANAP_GlobalRNC-ID.c
new file mode 100644
index 0000000..eff248e
--- /dev/null
+++ b/src/ranap/RANAP_GlobalRNC-ID.c
@@ -0,0 +1,71 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_GlobalRNC-ID.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_GlobalRNC_ID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GlobalRNC_ID, pLMNidentity),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PLMNidentity,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "pLMNidentity"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_GlobalRNC_ID, rNC_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RNC_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rNC-ID"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_GlobalRNC_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_GlobalRNC_ID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNidentity */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* rNC-ID */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_GlobalRNC_ID_specs_1 = {
+ sizeof(struct RANAP_GlobalRNC_ID),
+ offsetof(struct RANAP_GlobalRNC_ID, _asn_ctx),
+ asn_MAP_RANAP_GlobalRNC_ID_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_GlobalRNC_ID = {
+ "RANAP_GlobalRNC-ID",
+ "RANAP_GlobalRNC-ID",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_GlobalRNC_ID_tags_1,
+ sizeof(asn_DEF_RANAP_GlobalRNC_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_GlobalRNC_ID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_GlobalRNC_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_GlobalRNC_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_GlobalRNC_ID_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_GlobalRNC_ID_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_GlobalRNC_ID_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_GlobalRNC-ID.h b/src/ranap/RANAP_GlobalRNC-ID.h
new file mode 100644
index 0000000..60bc53e
--- /dev/null
+++ b/src/ranap/RANAP_GlobalRNC-ID.h
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_GlobalRNC_ID_H_
+#define _RANAP_GlobalRNC_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_PLMNidentity.h"
+#include "RANAP_RNC-ID.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_GlobalRNC-ID */
+typedef struct RANAP_GlobalRNC_ID {
+ RANAP_PLMNidentity_t pLMNidentity;
+ RANAP_RNC_ID_t rNC_ID;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_GlobalRNC_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_GlobalRNC_ID;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_GlobalRNC_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_GuaranteedBitrate.c b/src/ranap/RANAP_GuaranteedBitrate.c
new file mode 100644
index 0000000..4524f48
--- /dev/null
+++ b/src/ranap/RANAP_GuaranteedBitrate.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_GuaranteedBitrate.h"
+
+int
+RANAP_GuaranteedBitrate_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 16000000l)) {
+ /* 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 void
+RANAP_GuaranteedBitrate_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_GuaranteedBitrate_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_GuaranteedBitrate_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_GuaranteedBitrate_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_GuaranteedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_GuaranteedBitrate_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_GuaranteedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_GuaranteedBitrate_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_GuaranteedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_GuaranteedBitrate_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_GuaranteedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_GuaranteedBitrate_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_GuaranteedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_GuaranteedBitrate_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_GuaranteedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_GuaranteedBitrate_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_GuaranteedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_GuaranteedBitrate_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_GuaranteedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_GuaranteedBitrate_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_GuaranteedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_GuaranteedBitrate_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 24, -1, 0l, 16000000l } /* (0..16000000) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_GuaranteedBitrate_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_GuaranteedBitrate = {
+ "RANAP_GuaranteedBitrate",
+ "RANAP_GuaranteedBitrate",
+ RANAP_GuaranteedBitrate_free,
+ RANAP_GuaranteedBitrate_print,
+ RANAP_GuaranteedBitrate_constraint,
+ RANAP_GuaranteedBitrate_decode_ber,
+ RANAP_GuaranteedBitrate_encode_der,
+ RANAP_GuaranteedBitrate_decode_xer,
+ RANAP_GuaranteedBitrate_encode_xer,
+ RANAP_GuaranteedBitrate_decode_uper,
+ RANAP_GuaranteedBitrate_encode_uper,
+ RANAP_GuaranteedBitrate_decode_aper,
+ RANAP_GuaranteedBitrate_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_GuaranteedBitrate_tags_1,
+ sizeof(asn_DEF_RANAP_GuaranteedBitrate_tags_1)
+ /sizeof(asn_DEF_RANAP_GuaranteedBitrate_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_GuaranteedBitrate_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_GuaranteedBitrate_tags_1)
+ /sizeof(asn_DEF_RANAP_GuaranteedBitrate_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_GuaranteedBitrate_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_GuaranteedBitrate.h b/src/ranap/RANAP_GuaranteedBitrate.h
new file mode 100644
index 0000000..bc3bf0a
--- /dev/null
+++ b/src/ranap/RANAP_GuaranteedBitrate.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_GuaranteedBitrate_H_
+#define _RANAP_GuaranteedBitrate_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_GuaranteedBitrate */
+typedef long RANAP_GuaranteedBitrate_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_GuaranteedBitrate;
+asn_struct_free_f RANAP_GuaranteedBitrate_free;
+asn_struct_print_f RANAP_GuaranteedBitrate_print;
+asn_constr_check_f RANAP_GuaranteedBitrate_constraint;
+ber_type_decoder_f RANAP_GuaranteedBitrate_decode_ber;
+der_type_encoder_f RANAP_GuaranteedBitrate_encode_der;
+xer_type_decoder_f RANAP_GuaranteedBitrate_decode_xer;
+xer_type_encoder_f RANAP_GuaranteedBitrate_encode_xer;
+per_type_decoder_f RANAP_GuaranteedBitrate_decode_uper;
+per_type_encoder_f RANAP_GuaranteedBitrate_encode_uper;
+per_type_decoder_f RANAP_GuaranteedBitrate_decode_aper;
+per_type_encoder_f RANAP_GuaranteedBitrate_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_GuaranteedBitrate_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_HS-DSCH-MAC-d-Flow-ID.c b/src/ranap/RANAP_HS-DSCH-MAC-d-Flow-ID.c
new file mode 100644
index 0000000..00112ba
--- /dev/null
+++ b/src/ranap/RANAP_HS-DSCH-MAC-d-Flow-ID.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_HS-DSCH-MAC-d-Flow-ID.h"
+
+int
+RANAP_HS_DSCH_MAC_d_Flow_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 7l)) {
+ /* 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 void
+RANAP_HS_DSCH_MAC_d_Flow_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_HS_DSCH_MAC_d_Flow_ID_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_HS_DSCH_MAC_d_Flow_ID_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_HS_DSCH_MAC_d_Flow_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_HS_DSCH_MAC_d_Flow_ID_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_HS_DSCH_MAC_d_Flow_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_HS_DSCH_MAC_d_Flow_ID_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_HS_DSCH_MAC_d_Flow_ID_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_HS_DSCH_MAC_d_Flow_ID_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_HS_DSCH_MAC_d_Flow_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_HS_DSCH_MAC_d_Flow_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_HS_DSCH_MAC_d_Flow_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_HS_DSCH_MAC_d_Flow_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_HS_DSCH_MAC_d_Flow_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_HS_DSCH_MAC_d_Flow_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_HS_DSCH_MAC_d_Flow_ID_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_HS_DSCH_MAC_d_Flow_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_HS_DSCH_MAC_d_Flow_ID_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_HS_DSCH_MAC_d_Flow_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_HS_DSCH_MAC_d_Flow_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_HS_DSCH_MAC_d_Flow_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_HS_DSCH_MAC_d_Flow_ID_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 3, 3, 0l, 7l } /* (0..7) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_HS_DSCH_MAC_d_Flow_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_HS_DSCH_MAC_d_Flow_ID = {
+ "RANAP_HS-DSCH-MAC-d-Flow-ID",
+ "RANAP_HS-DSCH-MAC-d-Flow-ID",
+ RANAP_HS_DSCH_MAC_d_Flow_ID_free,
+ RANAP_HS_DSCH_MAC_d_Flow_ID_print,
+ RANAP_HS_DSCH_MAC_d_Flow_ID_constraint,
+ RANAP_HS_DSCH_MAC_d_Flow_ID_decode_ber,
+ RANAP_HS_DSCH_MAC_d_Flow_ID_encode_der,
+ RANAP_HS_DSCH_MAC_d_Flow_ID_decode_xer,
+ RANAP_HS_DSCH_MAC_d_Flow_ID_encode_xer,
+ RANAP_HS_DSCH_MAC_d_Flow_ID_decode_uper,
+ RANAP_HS_DSCH_MAC_d_Flow_ID_encode_uper,
+ RANAP_HS_DSCH_MAC_d_Flow_ID_decode_aper,
+ RANAP_HS_DSCH_MAC_d_Flow_ID_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_HS_DSCH_MAC_d_Flow_ID_tags_1,
+ sizeof(asn_DEF_RANAP_HS_DSCH_MAC_d_Flow_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_HS_DSCH_MAC_d_Flow_ID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_HS_DSCH_MAC_d_Flow_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_HS_DSCH_MAC_d_Flow_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_HS_DSCH_MAC_d_Flow_ID_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_HS_DSCH_MAC_d_Flow_ID_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_HS-DSCH-MAC-d-Flow-ID.h b/src/ranap/RANAP_HS-DSCH-MAC-d-Flow-ID.h
new file mode 100644
index 0000000..1364acd
--- /dev/null
+++ b/src/ranap/RANAP_HS-DSCH-MAC-d-Flow-ID.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_HS_DSCH_MAC_d_Flow_ID_H_
+#define _RANAP_HS_DSCH_MAC_d_Flow_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_HS-DSCH-MAC-d-Flow-ID */
+typedef long RANAP_HS_DSCH_MAC_d_Flow_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_HS_DSCH_MAC_d_Flow_ID;
+asn_struct_free_f RANAP_HS_DSCH_MAC_d_Flow_ID_free;
+asn_struct_print_f RANAP_HS_DSCH_MAC_d_Flow_ID_print;
+asn_constr_check_f RANAP_HS_DSCH_MAC_d_Flow_ID_constraint;
+ber_type_decoder_f RANAP_HS_DSCH_MAC_d_Flow_ID_decode_ber;
+der_type_encoder_f RANAP_HS_DSCH_MAC_d_Flow_ID_encode_der;
+xer_type_decoder_f RANAP_HS_DSCH_MAC_d_Flow_ID_decode_xer;
+xer_type_encoder_f RANAP_HS_DSCH_MAC_d_Flow_ID_encode_xer;
+per_type_decoder_f RANAP_HS_DSCH_MAC_d_Flow_ID_decode_uper;
+per_type_encoder_f RANAP_HS_DSCH_MAC_d_Flow_ID_encode_uper;
+per_type_decoder_f RANAP_HS_DSCH_MAC_d_Flow_ID_decode_aper;
+per_type_encoder_f RANAP_HS_DSCH_MAC_d_Flow_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_HS_DSCH_MAC_d_Flow_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_HigherBitratesThan16MbpsFlag.c b/src/ranap/RANAP_HigherBitratesThan16MbpsFlag.c
new file mode 100644
index 0000000..a3fc106
--- /dev/null
+++ b/src/ranap/RANAP_HigherBitratesThan16MbpsFlag.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_HigherBitratesThan16MbpsFlag.h"
+
+int
+RANAP_HigherBitratesThan16MbpsFlag_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_HigherBitratesThan16MbpsFlag_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_HigherBitratesThan16MbpsFlag_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_HigherBitratesThan16MbpsFlag_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_HigherBitratesThan16MbpsFlag_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_HigherBitratesThan16MbpsFlag_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_HigherBitratesThan16MbpsFlag_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_HigherBitratesThan16MbpsFlag_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_HigherBitratesThan16MbpsFlag_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_HigherBitratesThan16MbpsFlag_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_HigherBitratesThan16MbpsFlag_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_HigherBitratesThan16MbpsFlag_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_HigherBitratesThan16MbpsFlag_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_HigherBitratesThan16MbpsFlag_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_HigherBitratesThan16MbpsFlag_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_HigherBitratesThan16MbpsFlag_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_HigherBitratesThan16MbpsFlag_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_HigherBitratesThan16MbpsFlag_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_HigherBitratesThan16MbpsFlag_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_HigherBitratesThan16MbpsFlag_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_HigherBitratesThan16MbpsFlag_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_HigherBitratesThan16MbpsFlag_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_HigherBitratesThan16MbpsFlag_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_HigherBitratesThan16MbpsFlag_value2enum_1[] = {
+ { 0, 7, "allowed" },
+ { 1, 11, "not-allowed" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_HigherBitratesThan16MbpsFlag_enum2value_1[] = {
+ 0, /* allowed(0) */
+ 1 /* not-allowed(1) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_HigherBitratesThan16MbpsFlag_specs_1 = {
+ asn_MAP_RANAP_HigherBitratesThan16MbpsFlag_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_HigherBitratesThan16MbpsFlag_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_RANAP_HigherBitratesThan16MbpsFlag_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_HigherBitratesThan16MbpsFlag = {
+ "RANAP_HigherBitratesThan16MbpsFlag",
+ "RANAP_HigherBitratesThan16MbpsFlag",
+ RANAP_HigherBitratesThan16MbpsFlag_free,
+ RANAP_HigherBitratesThan16MbpsFlag_print,
+ RANAP_HigherBitratesThan16MbpsFlag_constraint,
+ RANAP_HigherBitratesThan16MbpsFlag_decode_ber,
+ RANAP_HigherBitratesThan16MbpsFlag_encode_der,
+ RANAP_HigherBitratesThan16MbpsFlag_decode_xer,
+ RANAP_HigherBitratesThan16MbpsFlag_encode_xer,
+ RANAP_HigherBitratesThan16MbpsFlag_decode_uper,
+ RANAP_HigherBitratesThan16MbpsFlag_encode_uper,
+ RANAP_HigherBitratesThan16MbpsFlag_decode_aper,
+ RANAP_HigherBitratesThan16MbpsFlag_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_HigherBitratesThan16MbpsFlag_tags_1,
+ sizeof(asn_DEF_RANAP_HigherBitratesThan16MbpsFlag_tags_1)
+ /sizeof(asn_DEF_RANAP_HigherBitratesThan16MbpsFlag_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_HigherBitratesThan16MbpsFlag_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_HigherBitratesThan16MbpsFlag_tags_1)
+ /sizeof(asn_DEF_RANAP_HigherBitratesThan16MbpsFlag_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_HigherBitratesThan16MbpsFlag_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_HigherBitratesThan16MbpsFlag_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_HigherBitratesThan16MbpsFlag.h b/src/ranap/RANAP_HigherBitratesThan16MbpsFlag.h
new file mode 100644
index 0000000..19dc7b4
--- /dev/null
+++ b/src/ranap/RANAP_HigherBitratesThan16MbpsFlag.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_HigherBitratesThan16MbpsFlag_H_
+#define _RANAP_HigherBitratesThan16MbpsFlag_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_HigherBitratesThan16MbpsFlag {
+ RANAP_HigherBitratesThan16MbpsFlag_allowed = 0,
+ RANAP_HigherBitratesThan16MbpsFlag_not_allowed = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_HigherBitratesThan16MbpsFlag;
+
+/* RANAP_HigherBitratesThan16MbpsFlag */
+typedef long RANAP_HigherBitratesThan16MbpsFlag_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_HigherBitratesThan16MbpsFlag;
+asn_struct_free_f RANAP_HigherBitratesThan16MbpsFlag_free;
+asn_struct_print_f RANAP_HigherBitratesThan16MbpsFlag_print;
+asn_constr_check_f RANAP_HigherBitratesThan16MbpsFlag_constraint;
+ber_type_decoder_f RANAP_HigherBitratesThan16MbpsFlag_decode_ber;
+der_type_encoder_f RANAP_HigherBitratesThan16MbpsFlag_encode_der;
+xer_type_decoder_f RANAP_HigherBitratesThan16MbpsFlag_decode_xer;
+xer_type_encoder_f RANAP_HigherBitratesThan16MbpsFlag_encode_xer;
+per_type_decoder_f RANAP_HigherBitratesThan16MbpsFlag_decode_uper;
+per_type_encoder_f RANAP_HigherBitratesThan16MbpsFlag_encode_uper;
+per_type_decoder_f RANAP_HigherBitratesThan16MbpsFlag_decode_aper;
+per_type_encoder_f RANAP_HigherBitratesThan16MbpsFlag_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_HigherBitratesThan16MbpsFlag_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_HorizontalSpeedAndBearing.c b/src/ranap/RANAP_HorizontalSpeedAndBearing.c
new file mode 100644
index 0000000..f952f54
--- /dev/null
+++ b/src/ranap/RANAP_HorizontalSpeedAndBearing.c
@@ -0,0 +1,131 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_HorizontalSpeedAndBearing.h"
+
+static int
+memb_bearing_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 359l)) {
+ /* 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_horizontalSpeed_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 2047l)) {
+ /* Constraint 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_bearing_constr_2 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 9, 9, 0l, 359l } /* (0..359) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_horizontalSpeed_constr_3 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 11, 11, 0l, 2047l } /* (0..2047) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_HorizontalSpeedAndBearing_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_HorizontalSpeedAndBearing, bearing),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_bearing_constraint_1,
+ &asn_PER_memb_bearing_constr_2,
+ 0,
+ "bearing"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_HorizontalSpeedAndBearing, horizontalSpeed),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_horizontalSpeed_constraint_1,
+ &asn_PER_memb_horizontalSpeed_constr_3,
+ 0,
+ "horizontalSpeed"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_HorizontalSpeedAndBearing_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_HorizontalSpeedAndBearing_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* bearing */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* horizontalSpeed */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_HorizontalSpeedAndBearing_specs_1 = {
+ sizeof(struct RANAP_HorizontalSpeedAndBearing),
+ offsetof(struct RANAP_HorizontalSpeedAndBearing, _asn_ctx),
+ asn_MAP_RANAP_HorizontalSpeedAndBearing_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_HorizontalSpeedAndBearing = {
+ "RANAP_HorizontalSpeedAndBearing",
+ "RANAP_HorizontalSpeedAndBearing",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_HorizontalSpeedAndBearing_tags_1,
+ sizeof(asn_DEF_RANAP_HorizontalSpeedAndBearing_tags_1)
+ /sizeof(asn_DEF_RANAP_HorizontalSpeedAndBearing_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_HorizontalSpeedAndBearing_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_HorizontalSpeedAndBearing_tags_1)
+ /sizeof(asn_DEF_RANAP_HorizontalSpeedAndBearing_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_HorizontalSpeedAndBearing_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_HorizontalSpeedAndBearing_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_HorizontalSpeedAndBearing.h b/src/ranap/RANAP_HorizontalSpeedAndBearing.h
new file mode 100644
index 0000000..9800231
--- /dev/null
+++ b/src/ranap/RANAP_HorizontalSpeedAndBearing.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_HorizontalSpeedAndBearing_H_
+#define _RANAP_HorizontalSpeedAndBearing_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_HorizontalSpeedAndBearing */
+typedef struct RANAP_HorizontalSpeedAndBearing {
+ long bearing;
+ long horizontalSpeed;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_HorizontalSpeedAndBearing_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_HorizontalSpeedAndBearing;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_HorizontalSpeedAndBearing_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_HorizontalVelocity.c b/src/ranap/RANAP_HorizontalVelocity.c
new file mode 100644
index 0000000..fd51800
--- /dev/null
+++ b/src/ranap/RANAP_HorizontalVelocity.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_HorizontalVelocity.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_HorizontalVelocity_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_HorizontalVelocity, horizontalSpeedAndBearing),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_HorizontalSpeedAndBearing,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "horizontalSpeedAndBearing"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_HorizontalVelocity, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_HorizontalVelocity_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_RANAP_HorizontalVelocity_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_HorizontalVelocity_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* horizontalSpeedAndBearing */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_HorizontalVelocity_specs_1 = {
+ sizeof(struct RANAP_HorizontalVelocity),
+ offsetof(struct RANAP_HorizontalVelocity, _asn_ctx),
+ asn_MAP_RANAP_HorizontalVelocity_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_RANAP_HorizontalVelocity_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 1, /* Start extensions */
+ 3 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_HorizontalVelocity = {
+ "RANAP_HorizontalVelocity",
+ "RANAP_HorizontalVelocity",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_HorizontalVelocity_tags_1,
+ sizeof(asn_DEF_RANAP_HorizontalVelocity_tags_1)
+ /sizeof(asn_DEF_RANAP_HorizontalVelocity_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_HorizontalVelocity_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_HorizontalVelocity_tags_1)
+ /sizeof(asn_DEF_RANAP_HorizontalVelocity_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_HorizontalVelocity_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_HorizontalVelocity_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_HorizontalVelocity.h b/src/ranap/RANAP_HorizontalVelocity.h
new file mode 100644
index 0000000..eb7b2e6
--- /dev/null
+++ b/src/ranap/RANAP_HorizontalVelocity.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_HorizontalVelocity_H_
+#define _RANAP_HorizontalVelocity_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_HorizontalSpeedAndBearing.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_HorizontalVelocity */
+typedef struct RANAP_HorizontalVelocity {
+ RANAP_HorizontalSpeedAndBearing_t horizontalSpeedAndBearing;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_HorizontalVelocity_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_HorizontalVelocity;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_HorizontalVelocity_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_HorizontalVelocityWithUncertainty.c b/src/ranap/RANAP_HorizontalVelocityWithUncertainty.c
new file mode 100644
index 0000000..12a53b2
--- /dev/null
+++ b/src/ranap/RANAP_HorizontalVelocityWithUncertainty.c
@@ -0,0 +1,113 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_HorizontalVelocityWithUncertainty.h"
+
+static int
+memb_uncertaintySpeed_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 255l)) {
+ /* Constraint 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_uncertaintySpeed_constr_3 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 8, 8, 0l, 255l } /* (0..255) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_HorizontalVelocityWithUncertainty_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_HorizontalVelocityWithUncertainty, horizontalSpeedAndBearing),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_HorizontalSpeedAndBearing,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "horizontalSpeedAndBearing"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_HorizontalVelocityWithUncertainty, uncertaintySpeed),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_uncertaintySpeed_constraint_1,
+ &asn_PER_memb_uncertaintySpeed_constr_3,
+ 0,
+ "uncertaintySpeed"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_HorizontalVelocityWithUncertainty, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_HorizontalVelocityWithUncertainty_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_HorizontalVelocityWithUncertainty_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_HorizontalVelocityWithUncertainty_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* horizontalSpeedAndBearing */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uncertaintySpeed */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_HorizontalVelocityWithUncertainty_specs_1 = {
+ sizeof(struct RANAP_HorizontalVelocityWithUncertainty),
+ offsetof(struct RANAP_HorizontalVelocityWithUncertainty, _asn_ctx),
+ asn_MAP_RANAP_HorizontalVelocityWithUncertainty_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_HorizontalVelocityWithUncertainty_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_HorizontalVelocityWithUncertainty = {
+ "RANAP_HorizontalVelocityWithUncertainty",
+ "RANAP_HorizontalVelocityWithUncertainty",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_HorizontalVelocityWithUncertainty_tags_1,
+ sizeof(asn_DEF_RANAP_HorizontalVelocityWithUncertainty_tags_1)
+ /sizeof(asn_DEF_RANAP_HorizontalVelocityWithUncertainty_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_HorizontalVelocityWithUncertainty_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_HorizontalVelocityWithUncertainty_tags_1)
+ /sizeof(asn_DEF_RANAP_HorizontalVelocityWithUncertainty_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_HorizontalVelocityWithUncertainty_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_HorizontalVelocityWithUncertainty_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_HorizontalVelocityWithUncertainty.h b/src/ranap/RANAP_HorizontalVelocityWithUncertainty.h
new file mode 100644
index 0000000..af8d312
--- /dev/null
+++ b/src/ranap/RANAP_HorizontalVelocityWithUncertainty.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_HorizontalVelocityWithUncertainty_H_
+#define _RANAP_HorizontalVelocityWithUncertainty_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_HorizontalSpeedAndBearing.h"
+#include <NativeInteger.h>
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_HorizontalVelocityWithUncertainty */
+typedef struct RANAP_HorizontalVelocityWithUncertainty {
+ RANAP_HorizontalSpeedAndBearing_t horizontalSpeedAndBearing;
+ long uncertaintySpeed;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_HorizontalVelocityWithUncertainty_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_HorizontalVelocityWithUncertainty;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_HorizontalVelocityWithUncertainty_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_HorizontalWithVerticalVelocity.c b/src/ranap/RANAP_HorizontalWithVerticalVelocity.c
new file mode 100644
index 0000000..bf3e129
--- /dev/null
+++ b/src/ranap/RANAP_HorizontalWithVerticalVelocity.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_HorizontalWithVerticalVelocity.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_HorizontalWithVerticalVelocity_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_HorizontalWithVerticalVelocity, horizontalSpeedAndBearing),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_HorizontalSpeedAndBearing,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "horizontalSpeedAndBearing"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_HorizontalWithVerticalVelocity, veritcalVelocity),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_VerticalVelocity,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "veritcalVelocity"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_HorizontalWithVerticalVelocity, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_HorizontalWithVerticalVelocity_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_HorizontalWithVerticalVelocity_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_HorizontalWithVerticalVelocity_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* horizontalSpeedAndBearing */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* veritcalVelocity */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_HorizontalWithVerticalVelocity_specs_1 = {
+ sizeof(struct RANAP_HorizontalWithVerticalVelocity),
+ offsetof(struct RANAP_HorizontalWithVerticalVelocity, _asn_ctx),
+ asn_MAP_RANAP_HorizontalWithVerticalVelocity_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_HorizontalWithVerticalVelocity_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_HorizontalWithVerticalVelocity = {
+ "RANAP_HorizontalWithVerticalVelocity",
+ "RANAP_HorizontalWithVerticalVelocity",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_HorizontalWithVerticalVelocity_tags_1,
+ sizeof(asn_DEF_RANAP_HorizontalWithVerticalVelocity_tags_1)
+ /sizeof(asn_DEF_RANAP_HorizontalWithVerticalVelocity_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_HorizontalWithVerticalVelocity_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_HorizontalWithVerticalVelocity_tags_1)
+ /sizeof(asn_DEF_RANAP_HorizontalWithVerticalVelocity_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_HorizontalWithVerticalVelocity_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_HorizontalWithVerticalVelocity_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_HorizontalWithVerticalVelocity.h b/src/ranap/RANAP_HorizontalWithVerticalVelocity.h
new file mode 100644
index 0000000..129877c
--- /dev/null
+++ b/src/ranap/RANAP_HorizontalWithVerticalVelocity.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_HorizontalWithVerticalVelocity_H_
+#define _RANAP_HorizontalWithVerticalVelocity_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_HorizontalSpeedAndBearing.h"
+#include "RANAP_VerticalVelocity.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_HorizontalWithVerticalVelocity */
+typedef struct RANAP_HorizontalWithVerticalVelocity {
+ RANAP_HorizontalSpeedAndBearing_t horizontalSpeedAndBearing;
+ RANAP_VerticalVelocity_t veritcalVelocity;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_HorizontalWithVerticalVelocity_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_HorizontalWithVerticalVelocity;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_HorizontalWithVerticalVelocity_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_HorizontalWithVerticalVelocityAndUncertainty.c b/src/ranap/RANAP_HorizontalWithVerticalVelocityAndUncertainty.c
new file mode 100644
index 0000000..ad8ef4c
--- /dev/null
+++ b/src/ranap/RANAP_HorizontalWithVerticalVelocityAndUncertainty.c
@@ -0,0 +1,163 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_HorizontalWithVerticalVelocityAndUncertainty.h"
+
+static int
+memb_horizontalUncertaintySpeed_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 255l)) {
+ /* 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_verticalUncertaintySpeed_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 255l)) {
+ /* Constraint 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_horizontalUncertaintySpeed_constr_4 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 8, 8, 0l, 255l } /* (0..255) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_verticalUncertaintySpeed_constr_5 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 8, 8, 0l, 255l } /* (0..255) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_HorizontalWithVerticalVelocityAndUncertainty_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_HorizontalWithVerticalVelocityAndUncertainty, horizontalSpeedAndBearing),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_HorizontalSpeedAndBearing,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "horizontalSpeedAndBearing"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_HorizontalWithVerticalVelocityAndUncertainty, veritcalVelocity),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_VerticalVelocity,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "veritcalVelocity"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_HorizontalWithVerticalVelocityAndUncertainty, horizontalUncertaintySpeed),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_horizontalUncertaintySpeed_constraint_1,
+ &asn_PER_memb_horizontalUncertaintySpeed_constr_4,
+ 0,
+ "horizontalUncertaintySpeed"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_HorizontalWithVerticalVelocityAndUncertainty, verticalUncertaintySpeed),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_verticalUncertaintySpeed_constraint_1,
+ &asn_PER_memb_verticalUncertaintySpeed_constr_5,
+ 0,
+ "verticalUncertaintySpeed"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_HorizontalWithVerticalVelocityAndUncertainty, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_HorizontalWithVerticalVelocityAndUncertainty_oms_1[] = { 4 };
+static const ber_tlv_tag_t asn_DEF_RANAP_HorizontalWithVerticalVelocityAndUncertainty_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_HorizontalWithVerticalVelocityAndUncertainty_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* horizontalSpeedAndBearing */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* veritcalVelocity */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* horizontalUncertaintySpeed */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* verticalUncertaintySpeed */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_HorizontalWithVerticalVelocityAndUncertainty_specs_1 = {
+ sizeof(struct RANAP_HorizontalWithVerticalVelocityAndUncertainty),
+ offsetof(struct RANAP_HorizontalWithVerticalVelocityAndUncertainty, _asn_ctx),
+ asn_MAP_RANAP_HorizontalWithVerticalVelocityAndUncertainty_tag2el_1,
+ 5, /* Count of tags in the map */
+ asn_MAP_RANAP_HorizontalWithVerticalVelocityAndUncertainty_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 4, /* Start extensions */
+ 6 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_HorizontalWithVerticalVelocityAndUncertainty = {
+ "RANAP_HorizontalWithVerticalVelocityAndUncertainty",
+ "RANAP_HorizontalWithVerticalVelocityAndUncertainty",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_HorizontalWithVerticalVelocityAndUncertainty_tags_1,
+ sizeof(asn_DEF_RANAP_HorizontalWithVerticalVelocityAndUncertainty_tags_1)
+ /sizeof(asn_DEF_RANAP_HorizontalWithVerticalVelocityAndUncertainty_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_HorizontalWithVerticalVelocityAndUncertainty_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_HorizontalWithVerticalVelocityAndUncertainty_tags_1)
+ /sizeof(asn_DEF_RANAP_HorizontalWithVerticalVelocityAndUncertainty_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_HorizontalWithVerticalVelocityAndUncertainty_1,
+ 5, /* Elements count */
+ &asn_SPC_RANAP_HorizontalWithVerticalVelocityAndUncertainty_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_HorizontalWithVerticalVelocityAndUncertainty.h b/src/ranap/RANAP_HorizontalWithVerticalVelocityAndUncertainty.h
new file mode 100644
index 0000000..d75d63f
--- /dev/null
+++ b/src/ranap/RANAP_HorizontalWithVerticalVelocityAndUncertainty.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_HorizontalWithVerticalVelocityAndUncertainty_H_
+#define _RANAP_HorizontalWithVerticalVelocityAndUncertainty_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_HorizontalSpeedAndBearing.h"
+#include "RANAP_VerticalVelocity.h"
+#include <NativeInteger.h>
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_HorizontalWithVerticalVelocityAndUncertainty */
+typedef struct RANAP_HorizontalWithVerticalVelocityAndUncertainty {
+ RANAP_HorizontalSpeedAndBearing_t horizontalSpeedAndBearing;
+ RANAP_VerticalVelocity_t veritcalVelocity;
+ long horizontalUncertaintySpeed;
+ long verticalUncertaintySpeed;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_HorizontalWithVerticalVelocityAndUncertainty_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_HorizontalWithVerticalVelocityAndUncertainty;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_HorizontalWithVerticalVelocityAndUncertainty_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_IE-Extensions.c b/src/ranap/RANAP_IE-Extensions.c
new file mode 100644
index 0000000..27de521
--- /dev/null
+++ b/src/ranap/RANAP_IE-Extensions.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_IE-Extensions.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_IE_Extensions_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 1l, 65535l } /* (SIZE(1..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_IE_Extensions_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_IE_Extensions_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_IE_Extensions_specs_1 = {
+ sizeof(struct RANAP_IE_Extensions),
+ offsetof(struct RANAP_IE_Extensions, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_IE_Extensions = {
+ "RANAP_IE-Extensions",
+ "RANAP_IE-Extensions",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_IE_Extensions_tags_1,
+ sizeof(asn_DEF_RANAP_IE_Extensions_tags_1)
+ /sizeof(asn_DEF_RANAP_IE_Extensions_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_IE_Extensions_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_IE_Extensions_tags_1)
+ /sizeof(asn_DEF_RANAP_IE_Extensions_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_IE_Extensions_constr_1,
+ asn_MBR_RANAP_IE_Extensions_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_IE_Extensions_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_IE-Extensions.h b/src/ranap/RANAP_IE-Extensions.h
new file mode 100644
index 0000000..3866186
--- /dev/null
+++ b/src/ranap/RANAP_IE-Extensions.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_IE_Extensions_H_
+#define _RANAP_IE_Extensions_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_IE-Extensions */
+typedef struct RANAP_IE_Extensions {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_IE_Extensions_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_IE_Extensions;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_IE_Extensions_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_IE.c b/src/ranap/RANAP_IE.c
new file mode 100644
index 0000000..050bd94
--- /dev/null
+++ b/src/ranap/RANAP_IE.c
@@ -0,0 +1,81 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_IE.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_IE_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_IE, id),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_ProtocolIE_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "id"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_IE, criticality),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Criticality,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "criticality"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_IE, value),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ANY,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "value"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_IE_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_IE_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 */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_IE_specs_1 = {
+ sizeof(struct RANAP_IE),
+ offsetof(struct RANAP_IE, _asn_ctx),
+ asn_MAP_RANAP_IE_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_IE = {
+ "RANAP_IE",
+ "RANAP_IE",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_IE_tags_1,
+ sizeof(asn_DEF_RANAP_IE_tags_1)
+ /sizeof(asn_DEF_RANAP_IE_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_IE_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_IE_tags_1)
+ /sizeof(asn_DEF_RANAP_IE_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_IE_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_IE_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_IE.h b/src/ranap/RANAP_IE.h
new file mode 100644
index 0000000..e5e23d4
--- /dev/null
+++ b/src/ranap/RANAP_IE.h
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_IE_H_
+#define _RANAP_IE_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_ProtocolIE-ID.h"
+#include "RANAP_Criticality.h"
+#include <ANY.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_IE */
+typedef struct RANAP_IE {
+ RANAP_ProtocolIE_ID_t id;
+ RANAP_Criticality_t criticality;
+ ANY_t value;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_IE_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_IE;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_IE_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_IMEI.c b/src/ranap/RANAP_IMEI.c
new file mode 100644
index 0000000..92956be
--- /dev/null
+++ b/src/ranap/RANAP_IMEI.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_IMEI.h"
+
+int
+RANAP_IMEI_constraint(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 == 8l)) {
+ /* 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 void
+RANAP_IMEI_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_IMEI_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_IMEI_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_IMEI_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IMEI_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IMEI_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_IMEI_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_IMEI_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IMEI_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IMEI_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_IMEI_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_IMEI_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IMEI_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IMEI_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_IMEI_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_IMEI_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_IMEI_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_IMEI_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_IMEI_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_IMEI_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_IMEI_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_IMEI_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 8l, 8l } /* (SIZE(8..8)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_IMEI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_IMEI = {
+ "RANAP_IMEI",
+ "RANAP_IMEI",
+ RANAP_IMEI_free,
+ RANAP_IMEI_print,
+ RANAP_IMEI_constraint,
+ RANAP_IMEI_decode_ber,
+ RANAP_IMEI_encode_der,
+ RANAP_IMEI_decode_xer,
+ RANAP_IMEI_encode_xer,
+ RANAP_IMEI_decode_uper,
+ RANAP_IMEI_encode_uper,
+ RANAP_IMEI_decode_aper,
+ RANAP_IMEI_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_IMEI_tags_1,
+ sizeof(asn_DEF_RANAP_IMEI_tags_1)
+ /sizeof(asn_DEF_RANAP_IMEI_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_IMEI_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_IMEI_tags_1)
+ /sizeof(asn_DEF_RANAP_IMEI_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_IMEI_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_IMEI.h b/src/ranap/RANAP_IMEI.h
new file mode 100644
index 0000000..0416050
--- /dev/null
+++ b/src/ranap/RANAP_IMEI.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_IMEI_H_
+#define _RANAP_IMEI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_IMEI */
+typedef OCTET_STRING_t RANAP_IMEI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_IMEI;
+asn_struct_free_f RANAP_IMEI_free;
+asn_struct_print_f RANAP_IMEI_print;
+asn_constr_check_f RANAP_IMEI_constraint;
+ber_type_decoder_f RANAP_IMEI_decode_ber;
+der_type_encoder_f RANAP_IMEI_encode_der;
+xer_type_decoder_f RANAP_IMEI_decode_xer;
+xer_type_encoder_f RANAP_IMEI_encode_xer;
+per_type_decoder_f RANAP_IMEI_decode_uper;
+per_type_encoder_f RANAP_IMEI_encode_uper;
+per_type_decoder_f RANAP_IMEI_decode_aper;
+per_type_encoder_f RANAP_IMEI_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_IMEI_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_IMEIGroup.c b/src/ranap/RANAP_IMEIGroup.c
new file mode 100644
index 0000000..7f21f94
--- /dev/null
+++ b/src/ranap/RANAP_IMEIGroup.c
@@ -0,0 +1,119 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_IMEIGroup.h"
+
+static int
+memb_iMEIMask_constraint_1(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 == 7l)) {
+ /* Constraint 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_iMEIMask_constr_3 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 7l, 7l } /* (SIZE(7..7)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_IMEIGroup_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_IMEIGroup, iMEI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IMEI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iMEI"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_IMEIGroup, iMEIMask),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BIT_STRING,
+ memb_iMEIMask_constraint_1,
+ &asn_PER_memb_iMEIMask_constr_3,
+ 0,
+ "iMEIMask"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_IMEIGroup, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_IMEIGroup_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_IMEIGroup_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_IMEIGroup_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* iMEI */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* iMEIMask */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_IMEIGroup_specs_1 = {
+ sizeof(struct RANAP_IMEIGroup),
+ offsetof(struct RANAP_IMEIGroup, _asn_ctx),
+ asn_MAP_RANAP_IMEIGroup_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_IMEIGroup_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_IMEIGroup = {
+ "RANAP_IMEIGroup",
+ "RANAP_IMEIGroup",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_IMEIGroup_tags_1,
+ sizeof(asn_DEF_RANAP_IMEIGroup_tags_1)
+ /sizeof(asn_DEF_RANAP_IMEIGroup_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_IMEIGroup_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_IMEIGroup_tags_1)
+ /sizeof(asn_DEF_RANAP_IMEIGroup_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_IMEIGroup_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_IMEIGroup_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_IMEIGroup.h b/src/ranap/RANAP_IMEIGroup.h
new file mode 100644
index 0000000..416d7c7
--- /dev/null
+++ b/src/ranap/RANAP_IMEIGroup.h
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_IMEIGroup_H_
+#define _RANAP_IMEIGroup_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IMEI.h"
+#include <BIT_STRING.h>
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_IMEIGroup */
+typedef struct RANAP_IMEIGroup {
+ RANAP_IMEI_t iMEI;
+ BIT_STRING_t iMEIMask;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_IMEIGroup_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_IMEIGroup;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_IMEIGroup_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_IMEIList.c b/src/ranap/RANAP_IMEIList.c
new file mode 100644
index 0000000..643d88c
--- /dev/null
+++ b/src/ranap/RANAP_IMEIList.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_IMEIList.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_IMEIList_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1l, 64l } /* (SIZE(1..64)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_IMEIList_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IMEI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_IMEIList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_IMEIList_specs_1 = {
+ sizeof(struct RANAP_IMEIList),
+ offsetof(struct RANAP_IMEIList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_IMEIList = {
+ "RANAP_IMEIList",
+ "RANAP_IMEIList",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_IMEIList_tags_1,
+ sizeof(asn_DEF_RANAP_IMEIList_tags_1)
+ /sizeof(asn_DEF_RANAP_IMEIList_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_IMEIList_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_IMEIList_tags_1)
+ /sizeof(asn_DEF_RANAP_IMEIList_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_IMEIList_constr_1,
+ asn_MBR_RANAP_IMEIList_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_IMEIList_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_IMEIList.h b/src/ranap/RANAP_IMEIList.h
new file mode 100644
index 0000000..07da405
--- /dev/null
+++ b/src/ranap/RANAP_IMEIList.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_IMEIList_H_
+#define _RANAP_IMEIList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IMEI.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_IMEIList */
+typedef struct RANAP_IMEIList {
+ A_SEQUENCE_OF(RANAP_IMEI_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_IMEIList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_IMEIList;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_IMEIList_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_IMEISV.c b/src/ranap/RANAP_IMEISV.c
new file mode 100644
index 0000000..06dd575
--- /dev/null
+++ b/src/ranap/RANAP_IMEISV.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_IMEISV.h"
+
+int
+RANAP_IMEISV_constraint(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 == 8l)) {
+ /* 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 void
+RANAP_IMEISV_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_IMEISV_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_IMEISV_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_IMEISV_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IMEISV_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IMEISV_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_IMEISV_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_IMEISV_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IMEISV_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IMEISV_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_IMEISV_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_IMEISV_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IMEISV_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IMEISV_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_IMEISV_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_IMEISV_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_IMEISV_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_IMEISV_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_IMEISV_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_IMEISV_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_IMEISV_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_IMEISV_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 8l, 8l } /* (SIZE(8..8)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_IMEISV_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_IMEISV = {
+ "RANAP_IMEISV",
+ "RANAP_IMEISV",
+ RANAP_IMEISV_free,
+ RANAP_IMEISV_print,
+ RANAP_IMEISV_constraint,
+ RANAP_IMEISV_decode_ber,
+ RANAP_IMEISV_encode_der,
+ RANAP_IMEISV_decode_xer,
+ RANAP_IMEISV_encode_xer,
+ RANAP_IMEISV_decode_uper,
+ RANAP_IMEISV_encode_uper,
+ RANAP_IMEISV_decode_aper,
+ RANAP_IMEISV_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_IMEISV_tags_1,
+ sizeof(asn_DEF_RANAP_IMEISV_tags_1)
+ /sizeof(asn_DEF_RANAP_IMEISV_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_IMEISV_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_IMEISV_tags_1)
+ /sizeof(asn_DEF_RANAP_IMEISV_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_IMEISV_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_IMEISV.h b/src/ranap/RANAP_IMEISV.h
new file mode 100644
index 0000000..2866172
--- /dev/null
+++ b/src/ranap/RANAP_IMEISV.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_IMEISV_H_
+#define _RANAP_IMEISV_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_IMEISV */
+typedef OCTET_STRING_t RANAP_IMEISV_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_IMEISV;
+asn_struct_free_f RANAP_IMEISV_free;
+asn_struct_print_f RANAP_IMEISV_print;
+asn_constr_check_f RANAP_IMEISV_constraint;
+ber_type_decoder_f RANAP_IMEISV_decode_ber;
+der_type_encoder_f RANAP_IMEISV_encode_der;
+xer_type_decoder_f RANAP_IMEISV_decode_xer;
+xer_type_encoder_f RANAP_IMEISV_encode_xer;
+per_type_decoder_f RANAP_IMEISV_decode_uper;
+per_type_encoder_f RANAP_IMEISV_encode_uper;
+per_type_decoder_f RANAP_IMEISV_decode_aper;
+per_type_encoder_f RANAP_IMEISV_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_IMEISV_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_IMEISVGroup.c b/src/ranap/RANAP_IMEISVGroup.c
new file mode 100644
index 0000000..3c6f036
--- /dev/null
+++ b/src/ranap/RANAP_IMEISVGroup.c
@@ -0,0 +1,119 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_IMEISVGroup.h"
+
+static int
+memb_iMEISVMask_constraint_1(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 == 7l)) {
+ /* Constraint 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_iMEISVMask_constr_3 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 7l, 7l } /* (SIZE(7..7)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_IMEISVGroup_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_IMEISVGroup, iMEISV),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IMEISV,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iMEISV"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_IMEISVGroup, iMEISVMask),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BIT_STRING,
+ memb_iMEISVMask_constraint_1,
+ &asn_PER_memb_iMEISVMask_constr_3,
+ 0,
+ "iMEISVMask"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_IMEISVGroup, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_IMEISVGroup_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_IMEISVGroup_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_IMEISVGroup_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* iMEISV */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* iMEISVMask */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_IMEISVGroup_specs_1 = {
+ sizeof(struct RANAP_IMEISVGroup),
+ offsetof(struct RANAP_IMEISVGroup, _asn_ctx),
+ asn_MAP_RANAP_IMEISVGroup_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_IMEISVGroup_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_IMEISVGroup = {
+ "RANAP_IMEISVGroup",
+ "RANAP_IMEISVGroup",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_IMEISVGroup_tags_1,
+ sizeof(asn_DEF_RANAP_IMEISVGroup_tags_1)
+ /sizeof(asn_DEF_RANAP_IMEISVGroup_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_IMEISVGroup_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_IMEISVGroup_tags_1)
+ /sizeof(asn_DEF_RANAP_IMEISVGroup_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_IMEISVGroup_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_IMEISVGroup_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_IMEISVGroup.h b/src/ranap/RANAP_IMEISVGroup.h
new file mode 100644
index 0000000..d1a423f
--- /dev/null
+++ b/src/ranap/RANAP_IMEISVGroup.h
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_IMEISVGroup_H_
+#define _RANAP_IMEISVGroup_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IMEISV.h"
+#include <BIT_STRING.h>
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_IMEISVGroup */
+typedef struct RANAP_IMEISVGroup {
+ RANAP_IMEISV_t iMEISV;
+ BIT_STRING_t iMEISVMask;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_IMEISVGroup_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_IMEISVGroup;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_IMEISVGroup_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_IMEISVList.c b/src/ranap/RANAP_IMEISVList.c
new file mode 100644
index 0000000..6b19421
--- /dev/null
+++ b/src/ranap/RANAP_IMEISVList.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_IMEISVList.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_IMEISVList_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1l, 64l } /* (SIZE(1..64)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_IMEISVList_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IMEISV,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_IMEISVList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_IMEISVList_specs_1 = {
+ sizeof(struct RANAP_IMEISVList),
+ offsetof(struct RANAP_IMEISVList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_IMEISVList = {
+ "RANAP_IMEISVList",
+ "RANAP_IMEISVList",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_IMEISVList_tags_1,
+ sizeof(asn_DEF_RANAP_IMEISVList_tags_1)
+ /sizeof(asn_DEF_RANAP_IMEISVList_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_IMEISVList_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_IMEISVList_tags_1)
+ /sizeof(asn_DEF_RANAP_IMEISVList_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_IMEISVList_constr_1,
+ asn_MBR_RANAP_IMEISVList_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_IMEISVList_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_IMEISVList.h b/src/ranap/RANAP_IMEISVList.h
new file mode 100644
index 0000000..ebf9a63
--- /dev/null
+++ b/src/ranap/RANAP_IMEISVList.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_IMEISVList_H_
+#define _RANAP_IMEISVList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IMEISV.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_IMEISVList */
+typedef struct RANAP_IMEISVList {
+ A_SEQUENCE_OF(RANAP_IMEISV_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_IMEISVList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_IMEISVList;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_IMEISVList_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_IMSI.c b/src/ranap/RANAP_IMSI.c
new file mode 100644
index 0000000..89a85cd
--- /dev/null
+++ b/src/ranap/RANAP_IMSI.c
@@ -0,0 +1,162 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_IMSI.h"
+
+int
+RANAP_IMSI_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_RANAP_TBCD_STRING.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using RANAP_TBCD_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_IMSI_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_RANAP_TBCD_STRING.free_struct;
+ td->print_struct = asn_DEF_RANAP_TBCD_STRING.print_struct;
+ td->check_constraints = asn_DEF_RANAP_TBCD_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_RANAP_TBCD_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_RANAP_TBCD_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_RANAP_TBCD_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_RANAP_TBCD_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_RANAP_TBCD_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_RANAP_TBCD_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_RANAP_TBCD_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_RANAP_TBCD_STRING.aper_encoder;
+ /* The next four lines are here because of -fknown-extern-type */
+ td->tags = asn_DEF_RANAP_TBCD_STRING.tags;
+ td->tags_count = asn_DEF_RANAP_TBCD_STRING.tags_count;
+ td->all_tags = asn_DEF_RANAP_TBCD_STRING.all_tags;
+ td->all_tags_count = asn_DEF_RANAP_TBCD_STRING.all_tags_count;
+ /* End of these lines */
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_RANAP_TBCD_STRING.per_constraints;
+ td->elements = asn_DEF_RANAP_TBCD_STRING.elements;
+ td->elements_count = asn_DEF_RANAP_TBCD_STRING.elements_count;
+ td->specifics = asn_DEF_RANAP_TBCD_STRING.specifics;
+}
+
+void
+RANAP_IMSI_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_IMSI_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_IMSI_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IMSI_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IMSI_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_IMSI_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_IMSI_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IMSI_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IMSI_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_IMSI_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_IMSI_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IMSI_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IMSI_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_IMSI_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_IMSI_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_IMSI_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_IMSI_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_IMSI_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_IMSI_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_IMSI_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_IMSI_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_IMSI = {
+ "RANAP_IMSI",
+ "RANAP_IMSI",
+ RANAP_IMSI_free,
+ RANAP_IMSI_print,
+ RANAP_IMSI_constraint,
+ RANAP_IMSI_decode_ber,
+ RANAP_IMSI_encode_der,
+ RANAP_IMSI_decode_xer,
+ RANAP_IMSI_encode_xer,
+ RANAP_IMSI_decode_uper,
+ RANAP_IMSI_encode_uper,
+ RANAP_IMSI_decode_aper,
+ RANAP_IMSI_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_IMSI_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_IMSI.h b/src/ranap/RANAP_IMSI.h
new file mode 100644
index 0000000..6cf720d
--- /dev/null
+++ b/src/ranap/RANAP_IMSI.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+#include <constr_CHOICE.h>
+
+#ifndef _RANAP_IMSI_H_
+#define _RANAP_IMSI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_TBCD-STRING.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_IMSI */
+typedef RANAP_TBCD_STRING_t RANAP_IMSI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_IMSI;
+asn_struct_free_f RANAP_IMSI_free;
+asn_struct_print_f RANAP_IMSI_print;
+asn_constr_check_f RANAP_IMSI_constraint;
+ber_type_decoder_f RANAP_IMSI_decode_ber;
+der_type_encoder_f RANAP_IMSI_encode_der;
+xer_type_decoder_f RANAP_IMSI_decode_xer;
+xer_type_encoder_f RANAP_IMSI_encode_xer;
+per_type_decoder_f RANAP_IMSI_decode_uper;
+per_type_encoder_f RANAP_IMSI_encode_uper;
+per_type_decoder_f RANAP_IMSI_decode_aper;
+per_type_encoder_f RANAP_IMSI_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_IMSI_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_IPMulticastAddress.c b/src/ranap/RANAP_IPMulticastAddress.c
new file mode 100644
index 0000000..7efb111
--- /dev/null
+++ b/src/ranap/RANAP_IPMulticastAddress.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_IPMulticastAddress.h"
+
+int
+RANAP_IPMulticastAddress_constraint(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 >= 4l && size <= 16l)) {
+ /* 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 void
+RANAP_IPMulticastAddress_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_IPMulticastAddress_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_IPMulticastAddress_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_IPMulticastAddress_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IPMulticastAddress_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IPMulticastAddress_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_IPMulticastAddress_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_IPMulticastAddress_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IPMulticastAddress_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IPMulticastAddress_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_IPMulticastAddress_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_IPMulticastAddress_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IPMulticastAddress_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IPMulticastAddress_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_IPMulticastAddress_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_IPMulticastAddress_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_IPMulticastAddress_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_IPMulticastAddress_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_IPMulticastAddress_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_IPMulticastAddress_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_IPMulticastAddress_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_IPMulticastAddress_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 4, 4, 4l, 16l } /* (SIZE(4..16)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_IPMulticastAddress_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_IPMulticastAddress = {
+ "RANAP_IPMulticastAddress",
+ "RANAP_IPMulticastAddress",
+ RANAP_IPMulticastAddress_free,
+ RANAP_IPMulticastAddress_print,
+ RANAP_IPMulticastAddress_constraint,
+ RANAP_IPMulticastAddress_decode_ber,
+ RANAP_IPMulticastAddress_encode_der,
+ RANAP_IPMulticastAddress_decode_xer,
+ RANAP_IPMulticastAddress_encode_xer,
+ RANAP_IPMulticastAddress_decode_uper,
+ RANAP_IPMulticastAddress_encode_uper,
+ RANAP_IPMulticastAddress_decode_aper,
+ RANAP_IPMulticastAddress_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_IPMulticastAddress_tags_1,
+ sizeof(asn_DEF_RANAP_IPMulticastAddress_tags_1)
+ /sizeof(asn_DEF_RANAP_IPMulticastAddress_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_IPMulticastAddress_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_IPMulticastAddress_tags_1)
+ /sizeof(asn_DEF_RANAP_IPMulticastAddress_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_IPMulticastAddress_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_IPMulticastAddress.h b/src/ranap/RANAP_IPMulticastAddress.h
new file mode 100644
index 0000000..8724d11
--- /dev/null
+++ b/src/ranap/RANAP_IPMulticastAddress.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_IPMulticastAddress_H_
+#define _RANAP_IPMulticastAddress_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_IPMulticastAddress */
+typedef OCTET_STRING_t RANAP_IPMulticastAddress_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_IPMulticastAddress;
+asn_struct_free_f RANAP_IPMulticastAddress_free;
+asn_struct_print_f RANAP_IPMulticastAddress_print;
+asn_constr_check_f RANAP_IPMulticastAddress_constraint;
+ber_type_decoder_f RANAP_IPMulticastAddress_decode_ber;
+der_type_encoder_f RANAP_IPMulticastAddress_encode_der;
+xer_type_decoder_f RANAP_IPMulticastAddress_decode_xer;
+xer_type_encoder_f RANAP_IPMulticastAddress_encode_xer;
+per_type_decoder_f RANAP_IPMulticastAddress_decode_uper;
+per_type_encoder_f RANAP_IPMulticastAddress_encode_uper;
+per_type_decoder_f RANAP_IPMulticastAddress_decode_aper;
+per_type_encoder_f RANAP_IPMulticastAddress_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_IPMulticastAddress_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_IRAT-Measurement-Configuration.c b/src/ranap/RANAP_IRAT-Measurement-Configuration.c
new file mode 100644
index 0000000..257f282
--- /dev/null
+++ b/src/ranap/RANAP_IRAT-Measurement-Configuration.c
@@ -0,0 +1,153 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_IRAT-Measurement-Configuration.h"
+
+static int
+memb_rSRP_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 97l)) {
+ /* 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_rSRQ_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 34l)) {
+ /* Constraint 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_rSRP_constr_2 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 7, 7, 0l, 97l } /* (0..97) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_rSRQ_constr_3 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 6, 6, 0l, 34l } /* (0..34) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_IRAT_Measurement_Configuration_1[] = {
+ { ATF_POINTER, 2, offsetof(struct RANAP_IRAT_Measurement_Configuration, rSRP),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_rSRP_constraint_1,
+ &asn_PER_memb_rSRP_constr_2,
+ 0,
+ "rSRP"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_IRAT_Measurement_Configuration, rSRQ),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_rSRQ_constraint_1,
+ &asn_PER_memb_rSRQ_constr_3,
+ 0,
+ "rSRQ"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_IRAT_Measurement_Configuration, iRATmeasurementParameters),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IRATmeasurementParameters,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iRATmeasurementParameters"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_IRAT_Measurement_Configuration, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_IRAT_Measurement_Configuration_oms_1[] = { 0, 1, 3 };
+static const ber_tlv_tag_t asn_DEF_RANAP_IRAT_Measurement_Configuration_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_IRAT_Measurement_Configuration_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rSRP */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rSRQ */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* iRATmeasurementParameters */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_IRAT_Measurement_Configuration_specs_1 = {
+ sizeof(struct RANAP_IRAT_Measurement_Configuration),
+ offsetof(struct RANAP_IRAT_Measurement_Configuration, _asn_ctx),
+ asn_MAP_RANAP_IRAT_Measurement_Configuration_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_RANAP_IRAT_Measurement_Configuration_oms_1, /* Optional members */
+ 3, 0, /* Root/Additions */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_IRAT_Measurement_Configuration = {
+ "RANAP_IRAT-Measurement-Configuration",
+ "RANAP_IRAT-Measurement-Configuration",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_IRAT_Measurement_Configuration_tags_1,
+ sizeof(asn_DEF_RANAP_IRAT_Measurement_Configuration_tags_1)
+ /sizeof(asn_DEF_RANAP_IRAT_Measurement_Configuration_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_IRAT_Measurement_Configuration_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_IRAT_Measurement_Configuration_tags_1)
+ /sizeof(asn_DEF_RANAP_IRAT_Measurement_Configuration_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_IRAT_Measurement_Configuration_1,
+ 4, /* Elements count */
+ &asn_SPC_RANAP_IRAT_Measurement_Configuration_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_IRAT-Measurement-Configuration.h b/src/ranap/RANAP_IRAT-Measurement-Configuration.h
new file mode 100644
index 0000000..2feb139
--- /dev/null
+++ b/src/ranap/RANAP_IRAT-Measurement-Configuration.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_IRAT_Measurement_Configuration_H_
+#define _RANAP_IRAT_Measurement_Configuration_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+#include "RANAP_IRATmeasurementParameters.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_IRAT-Measurement-Configuration */
+typedef struct RANAP_IRAT_Measurement_Configuration {
+ long *rSRP /* OPTIONAL */;
+ long *rSRQ /* OPTIONAL */;
+ RANAP_IRATmeasurementParameters_t iRATmeasurementParameters;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_IRAT_Measurement_Configuration_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_IRAT_Measurement_Configuration;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_IRAT_Measurement_Configuration_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_IRATmeasurementParameters.c b/src/ranap/RANAP_IRATmeasurementParameters.c
new file mode 100644
index 0000000..d558177
--- /dev/null
+++ b/src/ranap/RANAP_IRATmeasurementParameters.c
@@ -0,0 +1,113 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_IRATmeasurementParameters.h"
+
+static int
+memb_measurementDuration_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1l && value <= 100l)) {
+ /* Constraint 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_measurementDuration_constr_2 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 7, 7, 1l, 100l } /* (1..100) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_IRATmeasurementParameters_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_IRATmeasurementParameters, measurementDuration),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_measurementDuration_constraint_1,
+ &asn_PER_memb_measurementDuration_constr_2,
+ 0,
+ "measurementDuration"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_IRATmeasurementParameters, eUTRANFrequencies),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_EUTRANFrequencies,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "eUTRANFrequencies"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_IRATmeasurementParameters, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_IRATmeasurementParameters_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_IRATmeasurementParameters_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_IRATmeasurementParameters_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* measurementDuration */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* eUTRANFrequencies */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_IRATmeasurementParameters_specs_1 = {
+ sizeof(struct RANAP_IRATmeasurementParameters),
+ offsetof(struct RANAP_IRATmeasurementParameters, _asn_ctx),
+ asn_MAP_RANAP_IRATmeasurementParameters_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_IRATmeasurementParameters_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_IRATmeasurementParameters = {
+ "RANAP_IRATmeasurementParameters",
+ "RANAP_IRATmeasurementParameters",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_IRATmeasurementParameters_tags_1,
+ sizeof(asn_DEF_RANAP_IRATmeasurementParameters_tags_1)
+ /sizeof(asn_DEF_RANAP_IRATmeasurementParameters_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_IRATmeasurementParameters_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_IRATmeasurementParameters_tags_1)
+ /sizeof(asn_DEF_RANAP_IRATmeasurementParameters_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_IRATmeasurementParameters_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_IRATmeasurementParameters_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_IRATmeasurementParameters.h b/src/ranap/RANAP_IRATmeasurementParameters.h
new file mode 100644
index 0000000..740585f
--- /dev/null
+++ b/src/ranap/RANAP_IRATmeasurementParameters.h
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_IRATmeasurementParameters_H_
+#define _RANAP_IRATmeasurementParameters_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+#include "RANAP_EUTRANFrequencies.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_IRATmeasurementParameters */
+typedef struct RANAP_IRATmeasurementParameters {
+ long measurementDuration;
+ RANAP_EUTRANFrequencies_t *eUTRANFrequencies /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_IRATmeasurementParameters_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_IRATmeasurementParameters;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_IRATmeasurementParameters_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ImmediateMDT.c b/src/ranap/RANAP_ImmediateMDT.c
new file mode 100644
index 0000000..43cc167
--- /dev/null
+++ b/src/ranap/RANAP_ImmediateMDT.c
@@ -0,0 +1,93 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_ImmediateMDT.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_ImmediateMDT_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_ImmediateMDT, measurementsToActivate),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_MeasurementsToActivate,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "measurementsToActivate"
+ },
+ { ATF_POINTER, 3, offsetof(struct RANAP_ImmediateMDT, m1report),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANAP_M1Report,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "m1report"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_ImmediateMDT, m2report),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANAP_M2Report,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "m2report"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_ImmediateMDT, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_ImmediateMDT_oms_1[] = { 1, 2, 3 };
+static const ber_tlv_tag_t asn_DEF_RANAP_ImmediateMDT_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_ImmediateMDT_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* measurementsToActivate */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* m1report */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* m2report */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_ImmediateMDT_specs_1 = {
+ sizeof(struct RANAP_ImmediateMDT),
+ offsetof(struct RANAP_ImmediateMDT, _asn_ctx),
+ asn_MAP_RANAP_ImmediateMDT_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_RANAP_ImmediateMDT_oms_1, /* Optional members */
+ 2, 1, /* Root/Additions */
+ 2, /* Start extensions */
+ 5 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ImmediateMDT = {
+ "RANAP_ImmediateMDT",
+ "RANAP_ImmediateMDT",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ImmediateMDT_tags_1,
+ sizeof(asn_DEF_RANAP_ImmediateMDT_tags_1)
+ /sizeof(asn_DEF_RANAP_ImmediateMDT_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ImmediateMDT_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ImmediateMDT_tags_1)
+ /sizeof(asn_DEF_RANAP_ImmediateMDT_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_ImmediateMDT_1,
+ 4, /* Elements count */
+ &asn_SPC_RANAP_ImmediateMDT_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_ImmediateMDT.h b/src/ranap/RANAP_ImmediateMDT.h
new file mode 100644
index 0000000..65a64f7
--- /dev/null
+++ b/src/ranap/RANAP_ImmediateMDT.h
@@ -0,0 +1,47 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_ImmediateMDT_H_
+#define _RANAP_ImmediateMDT_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_MeasurementsToActivate.h"
+#include "RANAP_M1Report.h"
+#include "RANAP_M2Report.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_ImmediateMDT */
+typedef struct RANAP_ImmediateMDT {
+ RANAP_MeasurementsToActivate_t measurementsToActivate;
+ RANAP_M1Report_t *m1report /* OPTIONAL */;
+ RANAP_M2Report_t *m2report /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_ImmediateMDT_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ImmediateMDT;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ImmediateMDT_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_IncludeVelocity.c b/src/ranap/RANAP_IncludeVelocity.c
new file mode 100644
index 0000000..66d3eb0
--- /dev/null
+++ b/src/ranap/RANAP_IncludeVelocity.c
@@ -0,0 +1,163 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_IncludeVelocity.h"
+
+int
+RANAP_IncludeVelocity_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_IncludeVelocity_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_IncludeVelocity_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_IncludeVelocity_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_IncludeVelocity_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IncludeVelocity_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IncludeVelocity_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_IncludeVelocity_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_IncludeVelocity_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IncludeVelocity_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IncludeVelocity_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_IncludeVelocity_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_IncludeVelocity_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IncludeVelocity_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IncludeVelocity_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_IncludeVelocity_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_IncludeVelocity_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_IncludeVelocity_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_IncludeVelocity_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_IncludeVelocity_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_IncludeVelocity_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_IncludeVelocity_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_IncludeVelocity_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 0, 0, 0l, 0l } /* (0..0) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_IncludeVelocity_value2enum_1[] = {
+ { 0, 9, "requested" }
+};
+static const unsigned int asn_MAP_RANAP_IncludeVelocity_enum2value_1[] = {
+ 0 /* requested(0) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_IncludeVelocity_specs_1 = {
+ asn_MAP_RANAP_IncludeVelocity_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_IncludeVelocity_enum2value_1, /* N => "tag"; sorted by N */
+ 1, /* 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_RANAP_IncludeVelocity_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_IncludeVelocity = {
+ "RANAP_IncludeVelocity",
+ "RANAP_IncludeVelocity",
+ RANAP_IncludeVelocity_free,
+ RANAP_IncludeVelocity_print,
+ RANAP_IncludeVelocity_constraint,
+ RANAP_IncludeVelocity_decode_ber,
+ RANAP_IncludeVelocity_encode_der,
+ RANAP_IncludeVelocity_decode_xer,
+ RANAP_IncludeVelocity_encode_xer,
+ RANAP_IncludeVelocity_decode_uper,
+ RANAP_IncludeVelocity_encode_uper,
+ RANAP_IncludeVelocity_decode_aper,
+ RANAP_IncludeVelocity_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_IncludeVelocity_tags_1,
+ sizeof(asn_DEF_RANAP_IncludeVelocity_tags_1)
+ /sizeof(asn_DEF_RANAP_IncludeVelocity_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_IncludeVelocity_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_IncludeVelocity_tags_1)
+ /sizeof(asn_DEF_RANAP_IncludeVelocity_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_IncludeVelocity_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_IncludeVelocity_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_IncludeVelocity.h b/src/ranap/RANAP_IncludeVelocity.h
new file mode 100644
index 0000000..913d320
--- /dev/null
+++ b/src/ranap/RANAP_IncludeVelocity.h
@@ -0,0 +1,47 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_IncludeVelocity_H_
+#define _RANAP_IncludeVelocity_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_IncludeVelocity {
+ RANAP_IncludeVelocity_requested = 0
+} e_RANAP_IncludeVelocity;
+
+/* RANAP_IncludeVelocity */
+typedef long RANAP_IncludeVelocity_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_IncludeVelocity;
+asn_struct_free_f RANAP_IncludeVelocity_free;
+asn_struct_print_f RANAP_IncludeVelocity_print;
+asn_constr_check_f RANAP_IncludeVelocity_constraint;
+ber_type_decoder_f RANAP_IncludeVelocity_decode_ber;
+der_type_encoder_f RANAP_IncludeVelocity_encode_der;
+xer_type_decoder_f RANAP_IncludeVelocity_decode_xer;
+xer_type_encoder_f RANAP_IncludeVelocity_encode_xer;
+per_type_decoder_f RANAP_IncludeVelocity_decode_uper;
+per_type_encoder_f RANAP_IncludeVelocity_encode_uper;
+per_type_decoder_f RANAP_IncludeVelocity_decode_aper;
+per_type_encoder_f RANAP_IncludeVelocity_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_IncludeVelocity_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_InformationExchangeID.c b/src/ranap/RANAP_InformationExchangeID.c
new file mode 100644
index 0000000..6b144ec
--- /dev/null
+++ b/src/ranap/RANAP_InformationExchangeID.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_InformationExchangeID.h"
+
+int
+RANAP_InformationExchangeID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 1048575l)) {
+ /* 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 void
+RANAP_InformationExchangeID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_InformationExchangeID_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_InformationExchangeID_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_InformationExchangeID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_InformationExchangeID_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_InformationExchangeID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_InformationExchangeID_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_InformationExchangeID_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_InformationExchangeID_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_InformationExchangeID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_InformationExchangeID_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_InformationExchangeID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_InformationExchangeID_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_InformationExchangeID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_InformationExchangeID_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_InformationExchangeID_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_InformationExchangeID_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_InformationExchangeID_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_InformationExchangeID_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_InformationExchangeID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_InformationExchangeID_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_InformationExchangeID_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 20, -1, 0l, 1048575l } /* (0..1048575) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_InformationExchangeID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_InformationExchangeID = {
+ "RANAP_InformationExchangeID",
+ "RANAP_InformationExchangeID",
+ RANAP_InformationExchangeID_free,
+ RANAP_InformationExchangeID_print,
+ RANAP_InformationExchangeID_constraint,
+ RANAP_InformationExchangeID_decode_ber,
+ RANAP_InformationExchangeID_encode_der,
+ RANAP_InformationExchangeID_decode_xer,
+ RANAP_InformationExchangeID_encode_xer,
+ RANAP_InformationExchangeID_decode_uper,
+ RANAP_InformationExchangeID_encode_uper,
+ RANAP_InformationExchangeID_decode_aper,
+ RANAP_InformationExchangeID_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_InformationExchangeID_tags_1,
+ sizeof(asn_DEF_RANAP_InformationExchangeID_tags_1)
+ /sizeof(asn_DEF_RANAP_InformationExchangeID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_InformationExchangeID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_InformationExchangeID_tags_1)
+ /sizeof(asn_DEF_RANAP_InformationExchangeID_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_InformationExchangeID_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_InformationExchangeID.h b/src/ranap/RANAP_InformationExchangeID.h
new file mode 100644
index 0000000..a5aac13
--- /dev/null
+++ b/src/ranap/RANAP_InformationExchangeID.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_InformationExchangeID_H_
+#define _RANAP_InformationExchangeID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_InformationExchangeID */
+typedef long RANAP_InformationExchangeID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_InformationExchangeID;
+asn_struct_free_f RANAP_InformationExchangeID_free;
+asn_struct_print_f RANAP_InformationExchangeID_print;
+asn_constr_check_f RANAP_InformationExchangeID_constraint;
+ber_type_decoder_f RANAP_InformationExchangeID_decode_ber;
+der_type_encoder_f RANAP_InformationExchangeID_encode_der;
+xer_type_decoder_f RANAP_InformationExchangeID_decode_xer;
+xer_type_encoder_f RANAP_InformationExchangeID_encode_xer;
+per_type_decoder_f RANAP_InformationExchangeID_decode_uper;
+per_type_encoder_f RANAP_InformationExchangeID_encode_uper;
+per_type_decoder_f RANAP_InformationExchangeID_decode_aper;
+per_type_encoder_f RANAP_InformationExchangeID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_InformationExchangeID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_InformationExchangeType.c b/src/ranap/RANAP_InformationExchangeType.c
new file mode 100644
index 0000000..dce099e
--- /dev/null
+++ b/src/ranap/RANAP_InformationExchangeType.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_InformationExchangeType.h"
+
+int
+RANAP_InformationExchangeType_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_InformationExchangeType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_InformationExchangeType_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_InformationExchangeType_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_InformationExchangeType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_InformationExchangeType_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_InformationExchangeType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_InformationExchangeType_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_InformationExchangeType_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_InformationExchangeType_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_InformationExchangeType_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_InformationExchangeType_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_InformationExchangeType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_InformationExchangeType_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_InformationExchangeType_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_InformationExchangeType_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_InformationExchangeType_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_InformationExchangeType_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_InformationExchangeType_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_InformationExchangeType_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_InformationExchangeType_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_InformationExchangeType_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_InformationExchangeType_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_InformationExchangeType_value2enum_1[] = {
+ { 0, 8, "transfer" },
+ { 1, 7, "request" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_InformationExchangeType_enum2value_1[] = {
+ 1, /* request(1) */
+ 0 /* transfer(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_InformationExchangeType_specs_1 = {
+ asn_MAP_RANAP_InformationExchangeType_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_InformationExchangeType_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_RANAP_InformationExchangeType_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_InformationExchangeType = {
+ "RANAP_InformationExchangeType",
+ "RANAP_InformationExchangeType",
+ RANAP_InformationExchangeType_free,
+ RANAP_InformationExchangeType_print,
+ RANAP_InformationExchangeType_constraint,
+ RANAP_InformationExchangeType_decode_ber,
+ RANAP_InformationExchangeType_encode_der,
+ RANAP_InformationExchangeType_decode_xer,
+ RANAP_InformationExchangeType_encode_xer,
+ RANAP_InformationExchangeType_decode_uper,
+ RANAP_InformationExchangeType_encode_uper,
+ RANAP_InformationExchangeType_decode_aper,
+ RANAP_InformationExchangeType_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_InformationExchangeType_tags_1,
+ sizeof(asn_DEF_RANAP_InformationExchangeType_tags_1)
+ /sizeof(asn_DEF_RANAP_InformationExchangeType_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_InformationExchangeType_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_InformationExchangeType_tags_1)
+ /sizeof(asn_DEF_RANAP_InformationExchangeType_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_InformationExchangeType_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_InformationExchangeType_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_InformationExchangeType.h b/src/ranap/RANAP_InformationExchangeType.h
new file mode 100644
index 0000000..57d05b9
--- /dev/null
+++ b/src/ranap/RANAP_InformationExchangeType.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_InformationExchangeType_H_
+#define _RANAP_InformationExchangeType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_InformationExchangeType {
+ RANAP_InformationExchangeType_transfer = 0,
+ RANAP_InformationExchangeType_request = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_InformationExchangeType;
+
+/* RANAP_InformationExchangeType */
+typedef long RANAP_InformationExchangeType_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_InformationExchangeType;
+asn_struct_free_f RANAP_InformationExchangeType_free;
+asn_struct_print_f RANAP_InformationExchangeType_print;
+asn_constr_check_f RANAP_InformationExchangeType_constraint;
+ber_type_decoder_f RANAP_InformationExchangeType_decode_ber;
+der_type_encoder_f RANAP_InformationExchangeType_encode_der;
+xer_type_decoder_f RANAP_InformationExchangeType_decode_xer;
+xer_type_encoder_f RANAP_InformationExchangeType_encode_xer;
+per_type_decoder_f RANAP_InformationExchangeType_decode_uper;
+per_type_encoder_f RANAP_InformationExchangeType_encode_uper;
+per_type_decoder_f RANAP_InformationExchangeType_decode_aper;
+per_type_encoder_f RANAP_InformationExchangeType_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_InformationExchangeType_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_InformationRequestType.c b/src/ranap/RANAP_InformationRequestType.c
new file mode 100644
index 0000000..ae38503
--- /dev/null
+++ b/src/ranap/RANAP_InformationRequestType.c
@@ -0,0 +1,72 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_InformationRequestType.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_InformationRequestType_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_InformationRequestType_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_InformationRequestType, choice.mBMSIPMulticastAddressandAPNRequest),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_MBMSIPMulticastAddressandAPNRequest,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "mBMSIPMulticastAddressandAPNRequest"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_InformationRequestType, choice.permanentNAS_UE_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANAP_PermanentNAS_UE_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "permanentNAS-UE-ID"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_InformationRequestType_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* mBMSIPMulticastAddressandAPNRequest */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* permanentNAS-UE-ID */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_InformationRequestType_specs_1 = {
+ sizeof(struct RANAP_InformationRequestType),
+ offsetof(struct RANAP_InformationRequestType, _asn_ctx),
+ offsetof(struct RANAP_InformationRequestType, present),
+ sizeof(((struct RANAP_InformationRequestType *)0)->present),
+ asn_MAP_RANAP_InformationRequestType_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_InformationRequestType = {
+ "RANAP_InformationRequestType",
+ "RANAP_InformationRequestType",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_InformationRequestType_constr_1,
+ asn_MBR_RANAP_InformationRequestType_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_InformationRequestType_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_InformationRequestType.h b/src/ranap/RANAP_InformationRequestType.h
new file mode 100644
index 0000000..9fbbc10
--- /dev/null
+++ b/src/ranap/RANAP_InformationRequestType.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_InformationRequestType_H_
+#define _RANAP_InformationRequestType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_MBMSIPMulticastAddressandAPNRequest.h"
+#include "RANAP_PermanentNAS-UE-ID.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_InformationRequestType_PR {
+ RANAP_InformationRequestType_PR_NOTHING, /* No components present */
+ RANAP_InformationRequestType_PR_mBMSIPMulticastAddressandAPNRequest,
+ RANAP_InformationRequestType_PR_permanentNAS_UE_ID,
+ /* Extensions may appear below */
+
+} RANAP_InformationRequestType_PR;
+
+/* RANAP_InformationRequestType */
+typedef struct RANAP_InformationRequestType {
+ RANAP_InformationRequestType_PR present;
+ union RANAP_InformationRequestType_u {
+ RANAP_MBMSIPMulticastAddressandAPNRequest_t mBMSIPMulticastAddressandAPNRequest;
+ RANAP_PermanentNAS_UE_ID_t permanentNAS_UE_ID;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_InformationRequestType_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_InformationRequestType;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_InformationRequestType_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_InformationRequested.c b/src/ranap/RANAP_InformationRequested.c
new file mode 100644
index 0000000..b51025a
--- /dev/null
+++ b/src/ranap/RANAP_InformationRequested.c
@@ -0,0 +1,72 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_InformationRequested.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_InformationRequested_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_InformationRequested_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_InformationRequested, choice.requestedMBMSIPMulticastAddressandAPNRequest),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RequestedMBMSIPMulticastAddressandAPNRequest,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "requestedMBMSIPMulticastAddressandAPNRequest"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_InformationRequested, choice.requestedMulticastServiceList),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RequestedMulticastServiceList,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "requestedMulticastServiceList"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_InformationRequested_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* requestedMBMSIPMulticastAddressandAPNRequest */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* requestedMulticastServiceList */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_InformationRequested_specs_1 = {
+ sizeof(struct RANAP_InformationRequested),
+ offsetof(struct RANAP_InformationRequested, _asn_ctx),
+ offsetof(struct RANAP_InformationRequested, present),
+ sizeof(((struct RANAP_InformationRequested *)0)->present),
+ asn_MAP_RANAP_InformationRequested_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_InformationRequested = {
+ "RANAP_InformationRequested",
+ "RANAP_InformationRequested",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_InformationRequested_constr_1,
+ asn_MBR_RANAP_InformationRequested_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_InformationRequested_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_InformationRequested.h b/src/ranap/RANAP_InformationRequested.h
new file mode 100644
index 0000000..227d0cc
--- /dev/null
+++ b/src/ranap/RANAP_InformationRequested.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_InformationRequested_H_
+#define _RANAP_InformationRequested_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_RequestedMBMSIPMulticastAddressandAPNRequest.h"
+#include "RANAP_RequestedMulticastServiceList.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_InformationRequested_PR {
+ RANAP_InformationRequested_PR_NOTHING, /* No components present */
+ RANAP_InformationRequested_PR_requestedMBMSIPMulticastAddressandAPNRequest,
+ RANAP_InformationRequested_PR_requestedMulticastServiceList,
+ /* Extensions may appear below */
+
+} RANAP_InformationRequested_PR;
+
+/* RANAP_InformationRequested */
+typedef struct RANAP_InformationRequested {
+ RANAP_InformationRequested_PR present;
+ union RANAP_InformationRequested_u {
+ RANAP_RequestedMBMSIPMulticastAddressandAPNRequest_t requestedMBMSIPMulticastAddressandAPNRequest;
+ RANAP_RequestedMulticastServiceList_t requestedMulticastServiceList;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_InformationRequested_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_InformationRequested;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_InformationRequested_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_InformationTransferConfirmation.c b/src/ranap/RANAP_InformationTransferConfirmation.c
new file mode 100644
index 0000000..0850204
--- /dev/null
+++ b/src/ranap/RANAP_InformationTransferConfirmation.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_InformationTransferConfirmation.h"
+
+static int
+memb_informationTransferConfirmation_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_informationTransferConfirmation_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_informationTransferConfirmation_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_informationTransferConfirmation_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_informationTransferConfirmation_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_informationTransferConfirmation_ies_specs_2 = {
+ sizeof(struct informationTransferConfirmation_ies),
+ offsetof(struct informationTransferConfirmation_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_informationTransferConfirmation_ies_2 = {
+ "informationTransferConfirmation-ies",
+ "informationTransferConfirmation-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_informationTransferConfirmation_ies_tags_2,
+ sizeof(asn_DEF_informationTransferConfirmation_ies_tags_2)
+ /sizeof(asn_DEF_informationTransferConfirmation_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_informationTransferConfirmation_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_informationTransferConfirmation_ies_tags_2)
+ /sizeof(asn_DEF_informationTransferConfirmation_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_informationTransferConfirmation_ies_constr_2,
+ asn_MBR_informationTransferConfirmation_ies_2,
+ 1, /* Single element */
+ &asn_SPC_informationTransferConfirmation_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_InformationTransferConfirmation_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_InformationTransferConfirmation, informationTransferConfirmation_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_informationTransferConfirmation_ies_2,
+ memb_informationTransferConfirmation_ies_constraint_1,
+ &asn_PER_memb_informationTransferConfirmation_ies_constr_2,
+ 0,
+ "informationTransferConfirmation-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_InformationTransferConfirmation_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_InformationTransferConfirmation_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* informationTransferConfirmation-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_InformationTransferConfirmation_specs_1 = {
+ sizeof(struct RANAP_InformationTransferConfirmation),
+ offsetof(struct RANAP_InformationTransferConfirmation, _asn_ctx),
+ asn_MAP_RANAP_InformationTransferConfirmation_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_InformationTransferConfirmation = {
+ "RANAP_InformationTransferConfirmation",
+ "RANAP_InformationTransferConfirmation",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_InformationTransferConfirmation_tags_1,
+ sizeof(asn_DEF_RANAP_InformationTransferConfirmation_tags_1)
+ /sizeof(asn_DEF_RANAP_InformationTransferConfirmation_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_InformationTransferConfirmation_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_InformationTransferConfirmation_tags_1)
+ /sizeof(asn_DEF_RANAP_InformationTransferConfirmation_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_InformationTransferConfirmation_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_InformationTransferConfirmation_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_InformationTransferConfirmation.h b/src/ranap/RANAP_InformationTransferConfirmation.h
new file mode 100644
index 0000000..55a4247
--- /dev/null
+++ b/src/ranap/RANAP_InformationTransferConfirmation.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_InformationTransferConfirmation_H_
+#define _RANAP_InformationTransferConfirmation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_InformationTransferConfirmation */
+typedef struct RANAP_InformationTransferConfirmation {
+ struct informationTransferConfirmation_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } informationTransferConfirmation_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_InformationTransferConfirmation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_InformationTransferConfirmation;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_InformationTransferConfirmation_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_InformationTransferFailure.c b/src/ranap/RANAP_InformationTransferFailure.c
new file mode 100644
index 0000000..5ee04d6
--- /dev/null
+++ b/src/ranap/RANAP_InformationTransferFailure.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_InformationTransferFailure.h"
+
+static int
+memb_informationTransferFailure_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_informationTransferFailure_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_informationTransferFailure_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_informationTransferFailure_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_informationTransferFailure_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_informationTransferFailure_ies_specs_2 = {
+ sizeof(struct informationTransferFailure_ies),
+ offsetof(struct informationTransferFailure_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_informationTransferFailure_ies_2 = {
+ "informationTransferFailure-ies",
+ "informationTransferFailure-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_informationTransferFailure_ies_tags_2,
+ sizeof(asn_DEF_informationTransferFailure_ies_tags_2)
+ /sizeof(asn_DEF_informationTransferFailure_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_informationTransferFailure_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_informationTransferFailure_ies_tags_2)
+ /sizeof(asn_DEF_informationTransferFailure_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_informationTransferFailure_ies_constr_2,
+ asn_MBR_informationTransferFailure_ies_2,
+ 1, /* Single element */
+ &asn_SPC_informationTransferFailure_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_InformationTransferFailure_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_InformationTransferFailure, informationTransferFailure_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_informationTransferFailure_ies_2,
+ memb_informationTransferFailure_ies_constraint_1,
+ &asn_PER_memb_informationTransferFailure_ies_constr_2,
+ 0,
+ "informationTransferFailure-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_InformationTransferFailure_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_InformationTransferFailure_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* informationTransferFailure-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_InformationTransferFailure_specs_1 = {
+ sizeof(struct RANAP_InformationTransferFailure),
+ offsetof(struct RANAP_InformationTransferFailure, _asn_ctx),
+ asn_MAP_RANAP_InformationTransferFailure_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_InformationTransferFailure = {
+ "RANAP_InformationTransferFailure",
+ "RANAP_InformationTransferFailure",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_InformationTransferFailure_tags_1,
+ sizeof(asn_DEF_RANAP_InformationTransferFailure_tags_1)
+ /sizeof(asn_DEF_RANAP_InformationTransferFailure_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_InformationTransferFailure_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_InformationTransferFailure_tags_1)
+ /sizeof(asn_DEF_RANAP_InformationTransferFailure_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_InformationTransferFailure_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_InformationTransferFailure_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_InformationTransferFailure.h b/src/ranap/RANAP_InformationTransferFailure.h
new file mode 100644
index 0000000..0a987c7
--- /dev/null
+++ b/src/ranap/RANAP_InformationTransferFailure.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_InformationTransferFailure_H_
+#define _RANAP_InformationTransferFailure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_InformationTransferFailure */
+typedef struct RANAP_InformationTransferFailure {
+ struct informationTransferFailure_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } informationTransferFailure_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_InformationTransferFailure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_InformationTransferFailure;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_InformationTransferFailure_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_InformationTransferID.c b/src/ranap/RANAP_InformationTransferID.c
new file mode 100644
index 0000000..ff9be4d
--- /dev/null
+++ b/src/ranap/RANAP_InformationTransferID.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_InformationTransferID.h"
+
+int
+RANAP_InformationTransferID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 1048575l)) {
+ /* 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 void
+RANAP_InformationTransferID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_InformationTransferID_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_InformationTransferID_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_InformationTransferID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_InformationTransferID_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_InformationTransferID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_InformationTransferID_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_InformationTransferID_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_InformationTransferID_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_InformationTransferID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_InformationTransferID_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_InformationTransferID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_InformationTransferID_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_InformationTransferID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_InformationTransferID_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_InformationTransferID_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_InformationTransferID_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_InformationTransferID_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_InformationTransferID_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_InformationTransferID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_InformationTransferID_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_InformationTransferID_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 20, -1, 0l, 1048575l } /* (0..1048575) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_InformationTransferID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_InformationTransferID = {
+ "RANAP_InformationTransferID",
+ "RANAP_InformationTransferID",
+ RANAP_InformationTransferID_free,
+ RANAP_InformationTransferID_print,
+ RANAP_InformationTransferID_constraint,
+ RANAP_InformationTransferID_decode_ber,
+ RANAP_InformationTransferID_encode_der,
+ RANAP_InformationTransferID_decode_xer,
+ RANAP_InformationTransferID_encode_xer,
+ RANAP_InformationTransferID_decode_uper,
+ RANAP_InformationTransferID_encode_uper,
+ RANAP_InformationTransferID_decode_aper,
+ RANAP_InformationTransferID_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_InformationTransferID_tags_1,
+ sizeof(asn_DEF_RANAP_InformationTransferID_tags_1)
+ /sizeof(asn_DEF_RANAP_InformationTransferID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_InformationTransferID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_InformationTransferID_tags_1)
+ /sizeof(asn_DEF_RANAP_InformationTransferID_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_InformationTransferID_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_InformationTransferID.h b/src/ranap/RANAP_InformationTransferID.h
new file mode 100644
index 0000000..cc002aa
--- /dev/null
+++ b/src/ranap/RANAP_InformationTransferID.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_InformationTransferID_H_
+#define _RANAP_InformationTransferID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_InformationTransferID */
+typedef long RANAP_InformationTransferID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_InformationTransferID;
+asn_struct_free_f RANAP_InformationTransferID_free;
+asn_struct_print_f RANAP_InformationTransferID_print;
+asn_constr_check_f RANAP_InformationTransferID_constraint;
+ber_type_decoder_f RANAP_InformationTransferID_decode_ber;
+der_type_encoder_f RANAP_InformationTransferID_encode_der;
+xer_type_decoder_f RANAP_InformationTransferID_decode_xer;
+xer_type_encoder_f RANAP_InformationTransferID_encode_xer;
+per_type_decoder_f RANAP_InformationTransferID_decode_uper;
+per_type_encoder_f RANAP_InformationTransferID_encode_uper;
+per_type_decoder_f RANAP_InformationTransferID_decode_aper;
+per_type_encoder_f RANAP_InformationTransferID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_InformationTransferID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_InformationTransferIndication.c b/src/ranap/RANAP_InformationTransferIndication.c
new file mode 100644
index 0000000..4778799
--- /dev/null
+++ b/src/ranap/RANAP_InformationTransferIndication.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_InformationTransferIndication.h"
+
+static int
+memb_informationTransferIndication_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_informationTransferIndication_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_informationTransferIndication_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_informationTransferIndication_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_informationTransferIndication_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_informationTransferIndication_ies_specs_2 = {
+ sizeof(struct informationTransferIndication_ies),
+ offsetof(struct informationTransferIndication_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_informationTransferIndication_ies_2 = {
+ "informationTransferIndication-ies",
+ "informationTransferIndication-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_informationTransferIndication_ies_tags_2,
+ sizeof(asn_DEF_informationTransferIndication_ies_tags_2)
+ /sizeof(asn_DEF_informationTransferIndication_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_informationTransferIndication_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_informationTransferIndication_ies_tags_2)
+ /sizeof(asn_DEF_informationTransferIndication_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_informationTransferIndication_ies_constr_2,
+ asn_MBR_informationTransferIndication_ies_2,
+ 1, /* Single element */
+ &asn_SPC_informationTransferIndication_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_InformationTransferIndication_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_InformationTransferIndication, informationTransferIndication_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_informationTransferIndication_ies_2,
+ memb_informationTransferIndication_ies_constraint_1,
+ &asn_PER_memb_informationTransferIndication_ies_constr_2,
+ 0,
+ "informationTransferIndication-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_InformationTransferIndication_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_InformationTransferIndication_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* informationTransferIndication-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_InformationTransferIndication_specs_1 = {
+ sizeof(struct RANAP_InformationTransferIndication),
+ offsetof(struct RANAP_InformationTransferIndication, _asn_ctx),
+ asn_MAP_RANAP_InformationTransferIndication_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_InformationTransferIndication = {
+ "RANAP_InformationTransferIndication",
+ "RANAP_InformationTransferIndication",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_InformationTransferIndication_tags_1,
+ sizeof(asn_DEF_RANAP_InformationTransferIndication_tags_1)
+ /sizeof(asn_DEF_RANAP_InformationTransferIndication_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_InformationTransferIndication_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_InformationTransferIndication_tags_1)
+ /sizeof(asn_DEF_RANAP_InformationTransferIndication_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_InformationTransferIndication_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_InformationTransferIndication_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_InformationTransferIndication.h b/src/ranap/RANAP_InformationTransferIndication.h
new file mode 100644
index 0000000..50a56b8
--- /dev/null
+++ b/src/ranap/RANAP_InformationTransferIndication.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_InformationTransferIndication_H_
+#define _RANAP_InformationTransferIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_InformationTransferIndication */
+typedef struct RANAP_InformationTransferIndication {
+ struct informationTransferIndication_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } informationTransferIndication_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_InformationTransferIndication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_InformationTransferIndication;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_InformationTransferIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_InformationTransferType.c b/src/ranap/RANAP_InformationTransferType.c
new file mode 100644
index 0000000..abbdd8a
--- /dev/null
+++ b/src/ranap/RANAP_InformationTransferType.c
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_InformationTransferType.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_InformationTransferType_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_InformationTransferType_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_InformationTransferType, choice.rNCTraceInformation),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RNCTraceInformation,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rNCTraceInformation"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_InformationTransferType_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* rNCTraceInformation */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_InformationTransferType_specs_1 = {
+ sizeof(struct RANAP_InformationTransferType),
+ offsetof(struct RANAP_InformationTransferType, _asn_ctx),
+ offsetof(struct RANAP_InformationTransferType, present),
+ sizeof(((struct RANAP_InformationTransferType *)0)->present),
+ asn_MAP_RANAP_InformationTransferType_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0,
+ 1 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_InformationTransferType = {
+ "RANAP_InformationTransferType",
+ "RANAP_InformationTransferType",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_InformationTransferType_constr_1,
+ asn_MBR_RANAP_InformationTransferType_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_InformationTransferType_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_InformationTransferType.h b/src/ranap/RANAP_InformationTransferType.h
new file mode 100644
index 0000000..93b41d2
--- /dev/null
+++ b/src/ranap/RANAP_InformationTransferType.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_InformationTransferType_H_
+#define _RANAP_InformationTransferType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_RNCTraceInformation.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_InformationTransferType_PR {
+ RANAP_InformationTransferType_PR_NOTHING, /* No components present */
+ RANAP_InformationTransferType_PR_rNCTraceInformation,
+ /* Extensions may appear below */
+
+} RANAP_InformationTransferType_PR;
+
+/* RANAP_InformationTransferType */
+typedef struct RANAP_InformationTransferType {
+ RANAP_InformationTransferType_PR present;
+ union RANAP_InformationTransferType_u {
+ RANAP_RNCTraceInformation_t rNCTraceInformation;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_InformationTransferType_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_InformationTransferType;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_InformationTransferType_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_InitialUE-Message.c b/src/ranap/RANAP_InitialUE-Message.c
new file mode 100644
index 0000000..12797ac
--- /dev/null
+++ b/src/ranap/RANAP_InitialUE-Message.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_InitialUE-Message.h"
+
+static int
+memb_initialUE_Message_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_initialUE_Message_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_initialUE_Message_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_initialUE_Message_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_initialUE_Message_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_initialUE_Message_ies_specs_2 = {
+ sizeof(struct initialUE_Message_ies),
+ offsetof(struct initialUE_Message_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_initialUE_Message_ies_2 = {
+ "initialUE-Message-ies",
+ "initialUE-Message-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_initialUE_Message_ies_tags_2,
+ sizeof(asn_DEF_initialUE_Message_ies_tags_2)
+ /sizeof(asn_DEF_initialUE_Message_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_initialUE_Message_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_initialUE_Message_ies_tags_2)
+ /sizeof(asn_DEF_initialUE_Message_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_initialUE_Message_ies_constr_2,
+ asn_MBR_initialUE_Message_ies_2,
+ 1, /* Single element */
+ &asn_SPC_initialUE_Message_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_InitialUE_Message_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_InitialUE_Message, initialUE_Message_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_initialUE_Message_ies_2,
+ memb_initialUE_Message_ies_constraint_1,
+ &asn_PER_memb_initialUE_Message_ies_constr_2,
+ 0,
+ "initialUE-Message-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_InitialUE_Message_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_InitialUE_Message_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* initialUE-Message-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_InitialUE_Message_specs_1 = {
+ sizeof(struct RANAP_InitialUE_Message),
+ offsetof(struct RANAP_InitialUE_Message, _asn_ctx),
+ asn_MAP_RANAP_InitialUE_Message_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_InitialUE_Message = {
+ "RANAP_InitialUE-Message",
+ "RANAP_InitialUE-Message",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_InitialUE_Message_tags_1,
+ sizeof(asn_DEF_RANAP_InitialUE_Message_tags_1)
+ /sizeof(asn_DEF_RANAP_InitialUE_Message_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_InitialUE_Message_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_InitialUE_Message_tags_1)
+ /sizeof(asn_DEF_RANAP_InitialUE_Message_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_InitialUE_Message_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_InitialUE_Message_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_InitialUE-Message.h b/src/ranap/RANAP_InitialUE-Message.h
new file mode 100644
index 0000000..ff302f8
--- /dev/null
+++ b/src/ranap/RANAP_InitialUE-Message.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_InitialUE_Message_H_
+#define _RANAP_InitialUE_Message_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_InitialUE-Message */
+typedef struct RANAP_InitialUE_Message {
+ struct initialUE_Message_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } initialUE_Message_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_InitialUE_Message_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_InitialUE_Message;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_InitialUE_Message_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_InitiatingMessage.c b/src/ranap/RANAP_InitiatingMessage.c
new file mode 100644
index 0000000..23d1cf0
--- /dev/null
+++ b/src/ranap/RANAP_InitiatingMessage.c
@@ -0,0 +1,81 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_InitiatingMessage.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_InitiatingMessage_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_InitiatingMessage, procedureCode),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_ProcedureCode,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "procedureCode"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_InitiatingMessage, criticality),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Criticality,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "criticality"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_InitiatingMessage, value),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ANY,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "value"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_InitiatingMessage_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_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 */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_InitiatingMessage_specs_1 = {
+ sizeof(struct RANAP_InitiatingMessage),
+ offsetof(struct RANAP_InitiatingMessage, _asn_ctx),
+ asn_MAP_RANAP_InitiatingMessage_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_InitiatingMessage = {
+ "RANAP_InitiatingMessage",
+ "RANAP_InitiatingMessage",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_InitiatingMessage_tags_1,
+ sizeof(asn_DEF_RANAP_InitiatingMessage_tags_1)
+ /sizeof(asn_DEF_RANAP_InitiatingMessage_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_InitiatingMessage_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_InitiatingMessage_tags_1)
+ /sizeof(asn_DEF_RANAP_InitiatingMessage_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_InitiatingMessage_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_InitiatingMessage_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_InitiatingMessage.h b/src/ranap/RANAP_InitiatingMessage.h
new file mode 100644
index 0000000..c64dbff
--- /dev/null
+++ b/src/ranap/RANAP_InitiatingMessage.h
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_InitiatingMessage_H_
+#define _RANAP_InitiatingMessage_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_ProcedureCode.h"
+#include "RANAP_Criticality.h"
+#include <ANY.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_InitiatingMessage */
+typedef struct RANAP_InitiatingMessage {
+ RANAP_ProcedureCode_t procedureCode;
+ RANAP_Criticality_t criticality;
+ ANY_t value;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_InitiatingMessage_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_InitiatingMessage;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_InitiatingMessage_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_IntegrityProtectionAlgorithm.c b/src/ranap/RANAP_IntegrityProtectionAlgorithm.c
new file mode 100644
index 0000000..4d7b33b
--- /dev/null
+++ b/src/ranap/RANAP_IntegrityProtectionAlgorithm.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_IntegrityProtectionAlgorithm.h"
+
+int
+RANAP_IntegrityProtectionAlgorithm_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 15l)) {
+ /* 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 void
+RANAP_IntegrityProtectionAlgorithm_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_IntegrityProtectionAlgorithm_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_IntegrityProtectionAlgorithm_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_IntegrityProtectionAlgorithm_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IntegrityProtectionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IntegrityProtectionAlgorithm_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_IntegrityProtectionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_IntegrityProtectionAlgorithm_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IntegrityProtectionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IntegrityProtectionAlgorithm_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_IntegrityProtectionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_IntegrityProtectionAlgorithm_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IntegrityProtectionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IntegrityProtectionAlgorithm_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_IntegrityProtectionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_IntegrityProtectionAlgorithm_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_IntegrityProtectionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_IntegrityProtectionAlgorithm_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_IntegrityProtectionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_IntegrityProtectionAlgorithm_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_IntegrityProtectionAlgorithm_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_IntegrityProtectionAlgorithm_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 4, 4, 0l, 15l } /* (0..15) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_IntegrityProtectionAlgorithm_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_IntegrityProtectionAlgorithm = {
+ "RANAP_IntegrityProtectionAlgorithm",
+ "RANAP_IntegrityProtectionAlgorithm",
+ RANAP_IntegrityProtectionAlgorithm_free,
+ RANAP_IntegrityProtectionAlgorithm_print,
+ RANAP_IntegrityProtectionAlgorithm_constraint,
+ RANAP_IntegrityProtectionAlgorithm_decode_ber,
+ RANAP_IntegrityProtectionAlgorithm_encode_der,
+ RANAP_IntegrityProtectionAlgorithm_decode_xer,
+ RANAP_IntegrityProtectionAlgorithm_encode_xer,
+ RANAP_IntegrityProtectionAlgorithm_decode_uper,
+ RANAP_IntegrityProtectionAlgorithm_encode_uper,
+ RANAP_IntegrityProtectionAlgorithm_decode_aper,
+ RANAP_IntegrityProtectionAlgorithm_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_IntegrityProtectionAlgorithm_tags_1,
+ sizeof(asn_DEF_RANAP_IntegrityProtectionAlgorithm_tags_1)
+ /sizeof(asn_DEF_RANAP_IntegrityProtectionAlgorithm_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_IntegrityProtectionAlgorithm_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_IntegrityProtectionAlgorithm_tags_1)
+ /sizeof(asn_DEF_RANAP_IntegrityProtectionAlgorithm_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_IntegrityProtectionAlgorithm_constr_1,
+ 0, 0, /* Defined elsewhere */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_IntegrityProtectionAlgorithm.h b/src/ranap/RANAP_IntegrityProtectionAlgorithm.h
new file mode 100644
index 0000000..7ed9284
--- /dev/null
+++ b/src/ranap/RANAP_IntegrityProtectionAlgorithm.h
@@ -0,0 +1,49 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_IntegrityProtectionAlgorithm_H_
+#define _RANAP_IntegrityProtectionAlgorithm_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_IntegrityProtectionAlgorithm {
+ RANAP_IntegrityProtectionAlgorithm_standard_UMTS_integrity_algorithm_UIA1 = 0,
+ RANAP_IntegrityProtectionAlgorithm_standard_UMTS_integrity_algorithm_UIA2 = 1,
+ RANAP_IntegrityProtectionAlgorithm_no_value = 15
+} e_RANAP_IntegrityProtectionAlgorithm;
+
+/* RANAP_IntegrityProtectionAlgorithm */
+typedef long RANAP_IntegrityProtectionAlgorithm_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_IntegrityProtectionAlgorithm;
+asn_struct_free_f RANAP_IntegrityProtectionAlgorithm_free;
+asn_struct_print_f RANAP_IntegrityProtectionAlgorithm_print;
+asn_constr_check_f RANAP_IntegrityProtectionAlgorithm_constraint;
+ber_type_decoder_f RANAP_IntegrityProtectionAlgorithm_decode_ber;
+der_type_encoder_f RANAP_IntegrityProtectionAlgorithm_encode_der;
+xer_type_decoder_f RANAP_IntegrityProtectionAlgorithm_decode_xer;
+xer_type_encoder_f RANAP_IntegrityProtectionAlgorithm_encode_xer;
+per_type_decoder_f RANAP_IntegrityProtectionAlgorithm_decode_uper;
+per_type_encoder_f RANAP_IntegrityProtectionAlgorithm_encode_uper;
+per_type_decoder_f RANAP_IntegrityProtectionAlgorithm_decode_aper;
+per_type_encoder_f RANAP_IntegrityProtectionAlgorithm_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_IntegrityProtectionAlgorithm_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_IntegrityProtectionInformation.c b/src/ranap/RANAP_IntegrityProtectionInformation.c
new file mode 100644
index 0000000..ede800e
--- /dev/null
+++ b/src/ranap/RANAP_IntegrityProtectionInformation.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_IntegrityProtectionInformation.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_IntegrityProtectionInformation_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_IntegrityProtectionInformation, permittedAlgorithms),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PermittedIntegrityProtectionAlgorithms,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "permittedAlgorithms"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_IntegrityProtectionInformation, key),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IntegrityProtectionKey,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "key"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_IntegrityProtectionInformation, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_IntegrityProtectionInformation_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_IntegrityProtectionInformation_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_IntegrityProtectionInformation_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* permittedAlgorithms */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* key */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_IntegrityProtectionInformation_specs_1 = {
+ sizeof(struct RANAP_IntegrityProtectionInformation),
+ offsetof(struct RANAP_IntegrityProtectionInformation, _asn_ctx),
+ asn_MAP_RANAP_IntegrityProtectionInformation_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_IntegrityProtectionInformation_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_IntegrityProtectionInformation = {
+ "RANAP_IntegrityProtectionInformation",
+ "RANAP_IntegrityProtectionInformation",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_IntegrityProtectionInformation_tags_1,
+ sizeof(asn_DEF_RANAP_IntegrityProtectionInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_IntegrityProtectionInformation_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_IntegrityProtectionInformation_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_IntegrityProtectionInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_IntegrityProtectionInformation_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_IntegrityProtectionInformation_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_IntegrityProtectionInformation_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_IntegrityProtectionInformation.h b/src/ranap/RANAP_IntegrityProtectionInformation.h
new file mode 100644
index 0000000..7cb1f83
--- /dev/null
+++ b/src/ranap/RANAP_IntegrityProtectionInformation.h
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_IntegrityProtectionInformation_H_
+#define _RANAP_IntegrityProtectionInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_PermittedIntegrityProtectionAlgorithms.h"
+#include "RANAP_IntegrityProtectionKey.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_IntegrityProtectionInformation */
+typedef struct RANAP_IntegrityProtectionInformation {
+ RANAP_PermittedIntegrityProtectionAlgorithms_t permittedAlgorithms;
+ RANAP_IntegrityProtectionKey_t key;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_IntegrityProtectionInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_IntegrityProtectionInformation;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_IntegrityProtectionInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_IntegrityProtectionKey.c b/src/ranap/RANAP_IntegrityProtectionKey.c
new file mode 100644
index 0000000..ee94a2c
--- /dev/null
+++ b/src/ranap/RANAP_IntegrityProtectionKey.c
@@ -0,0 +1,171 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_IntegrityProtectionKey.h"
+
+int
+RANAP_IntegrityProtectionKey_constraint(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 == 128l)) {
+ /* 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 void
+RANAP_IntegrityProtectionKey_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_BIT_STRING.free_struct;
+ td->print_struct = asn_DEF_BIT_STRING.print_struct;
+ td->check_constraints = asn_DEF_BIT_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_BIT_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_BIT_STRING.per_constraints;
+ td->elements = asn_DEF_BIT_STRING.elements;
+ td->elements_count = asn_DEF_BIT_STRING.elements_count;
+ td->specifics = asn_DEF_BIT_STRING.specifics;
+}
+
+void
+RANAP_IntegrityProtectionKey_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_IntegrityProtectionKey_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_IntegrityProtectionKey_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IntegrityProtectionKey_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IntegrityProtectionKey_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_IntegrityProtectionKey_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_IntegrityProtectionKey_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IntegrityProtectionKey_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IntegrityProtectionKey_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_IntegrityProtectionKey_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_IntegrityProtectionKey_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IntegrityProtectionKey_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IntegrityProtectionKey_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_IntegrityProtectionKey_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_IntegrityProtectionKey_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_IntegrityProtectionKey_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_IntegrityProtectionKey_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_IntegrityProtectionKey_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_IntegrityProtectionKey_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_IntegrityProtectionKey_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_IntegrityProtectionKey_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 128l, 128l } /* (SIZE(128..128)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_IntegrityProtectionKey_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_IntegrityProtectionKey = {
+ "RANAP_IntegrityProtectionKey",
+ "RANAP_IntegrityProtectionKey",
+ RANAP_IntegrityProtectionKey_free,
+ RANAP_IntegrityProtectionKey_print,
+ RANAP_IntegrityProtectionKey_constraint,
+ RANAP_IntegrityProtectionKey_decode_ber,
+ RANAP_IntegrityProtectionKey_encode_der,
+ RANAP_IntegrityProtectionKey_decode_xer,
+ RANAP_IntegrityProtectionKey_encode_xer,
+ RANAP_IntegrityProtectionKey_decode_uper,
+ RANAP_IntegrityProtectionKey_encode_uper,
+ RANAP_IntegrityProtectionKey_decode_aper,
+ RANAP_IntegrityProtectionKey_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_IntegrityProtectionKey_tags_1,
+ sizeof(asn_DEF_RANAP_IntegrityProtectionKey_tags_1)
+ /sizeof(asn_DEF_RANAP_IntegrityProtectionKey_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_IntegrityProtectionKey_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_IntegrityProtectionKey_tags_1)
+ /sizeof(asn_DEF_RANAP_IntegrityProtectionKey_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_IntegrityProtectionKey_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_IntegrityProtectionKey.h b/src/ranap/RANAP_IntegrityProtectionKey.h
new file mode 100644
index 0000000..4010d71
--- /dev/null
+++ b/src/ranap/RANAP_IntegrityProtectionKey.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_IntegrityProtectionKey_H_
+#define _RANAP_IntegrityProtectionKey_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_IntegrityProtectionKey */
+typedef BIT_STRING_t RANAP_IntegrityProtectionKey_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_IntegrityProtectionKey;
+asn_struct_free_f RANAP_IntegrityProtectionKey_free;
+asn_struct_print_f RANAP_IntegrityProtectionKey_print;
+asn_constr_check_f RANAP_IntegrityProtectionKey_constraint;
+ber_type_decoder_f RANAP_IntegrityProtectionKey_decode_ber;
+der_type_encoder_f RANAP_IntegrityProtectionKey_encode_der;
+xer_type_decoder_f RANAP_IntegrityProtectionKey_decode_xer;
+xer_type_encoder_f RANAP_IntegrityProtectionKey_encode_xer;
+per_type_decoder_f RANAP_IntegrityProtectionKey_decode_uper;
+per_type_encoder_f RANAP_IntegrityProtectionKey_encode_uper;
+per_type_decoder_f RANAP_IntegrityProtectionKey_decode_aper;
+per_type_encoder_f RANAP_IntegrityProtectionKey_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_IntegrityProtectionKey_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_InterSystemInformation-TransparentContainer.c b/src/ranap/RANAP_InterSystemInformation-TransparentContainer.c
new file mode 100644
index 0000000..31f62bd
--- /dev/null
+++ b/src/ranap/RANAP_InterSystemInformation-TransparentContainer.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_InterSystemInformation-TransparentContainer.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_InterSystemInformation_TransparentContainer_1[] = {
+ { ATF_POINTER, 3, offsetof(struct RANAP_InterSystemInformation_TransparentContainer, downlinkCellLoadInformation),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_CellLoadInformation,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "downlinkCellLoadInformation"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_InterSystemInformation_TransparentContainer, uplinkCellLoadInformation),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_CellLoadInformation,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "uplinkCellLoadInformation"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_InterSystemInformation_TransparentContainer, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_InterSystemInformation_TransparentContainer_oms_1[] = { 0, 1, 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_InterSystemInformation_TransparentContainer_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_InterSystemInformation_TransparentContainer_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* downlinkCellLoadInformation */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uplinkCellLoadInformation */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_InterSystemInformation_TransparentContainer_specs_1 = {
+ sizeof(struct RANAP_InterSystemInformation_TransparentContainer),
+ offsetof(struct RANAP_InterSystemInformation_TransparentContainer, _asn_ctx),
+ asn_MAP_RANAP_InterSystemInformation_TransparentContainer_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_InterSystemInformation_TransparentContainer_oms_1, /* Optional members */
+ 3, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_InterSystemInformation_TransparentContainer = {
+ "RANAP_InterSystemInformation-TransparentContainer",
+ "RANAP_InterSystemInformation-TransparentContainer",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_InterSystemInformation_TransparentContainer_tags_1,
+ sizeof(asn_DEF_RANAP_InterSystemInformation_TransparentContainer_tags_1)
+ /sizeof(asn_DEF_RANAP_InterSystemInformation_TransparentContainer_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_InterSystemInformation_TransparentContainer_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_InterSystemInformation_TransparentContainer_tags_1)
+ /sizeof(asn_DEF_RANAP_InterSystemInformation_TransparentContainer_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_InterSystemInformation_TransparentContainer_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_InterSystemInformation_TransparentContainer_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_InterSystemInformation-TransparentContainer.h b/src/ranap/RANAP_InterSystemInformation-TransparentContainer.h
new file mode 100644
index 0000000..e53829b
--- /dev/null
+++ b/src/ranap/RANAP_InterSystemInformation-TransparentContainer.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_InterSystemInformation_TransparentContainer_H_
+#define _RANAP_InterSystemInformation_TransparentContainer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_CellLoadInformation.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_InterSystemInformation-TransparentContainer */
+typedef struct RANAP_InterSystemInformation_TransparentContainer {
+ RANAP_CellLoadInformation_t *downlinkCellLoadInformation /* OPTIONAL */;
+ RANAP_CellLoadInformation_t *uplinkCellLoadInformation /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_InterSystemInformation_TransparentContainer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_InterSystemInformation_TransparentContainer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_InterSystemInformation_TransparentContainer_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_InterSystemInformationTransferType.c b/src/ranap/RANAP_InterSystemInformationTransferType.c
new file mode 100644
index 0000000..b66c82f
--- /dev/null
+++ b/src/ranap/RANAP_InterSystemInformationTransferType.c
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_InterSystemInformationTransferType.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_InterSystemInformationTransferType_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_InterSystemInformationTransferType_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_InterSystemInformationTransferType, choice.rIM_Transfer),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RIM_Transfer,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rIM-Transfer"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_InterSystemInformationTransferType_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* rIM-Transfer */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_InterSystemInformationTransferType_specs_1 = {
+ sizeof(struct RANAP_InterSystemInformationTransferType),
+ offsetof(struct RANAP_InterSystemInformationTransferType, _asn_ctx),
+ offsetof(struct RANAP_InterSystemInformationTransferType, present),
+ sizeof(((struct RANAP_InterSystemInformationTransferType *)0)->present),
+ asn_MAP_RANAP_InterSystemInformationTransferType_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0,
+ 1 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_InterSystemInformationTransferType = {
+ "RANAP_InterSystemInformationTransferType",
+ "RANAP_InterSystemInformationTransferType",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_InterSystemInformationTransferType_constr_1,
+ asn_MBR_RANAP_InterSystemInformationTransferType_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_InterSystemInformationTransferType_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_InterSystemInformationTransferType.h b/src/ranap/RANAP_InterSystemInformationTransferType.h
new file mode 100644
index 0000000..d3f5225
--- /dev/null
+++ b/src/ranap/RANAP_InterSystemInformationTransferType.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_InterSystemInformationTransferType_H_
+#define _RANAP_InterSystemInformationTransferType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_RIM-Transfer.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_InterSystemInformationTransferType_PR {
+ RANAP_InterSystemInformationTransferType_PR_NOTHING, /* No components present */
+ RANAP_InterSystemInformationTransferType_PR_rIM_Transfer,
+ /* Extensions may appear below */
+
+} RANAP_InterSystemInformationTransferType_PR;
+
+/* RANAP_InterSystemInformationTransferType */
+typedef struct RANAP_InterSystemInformationTransferType {
+ RANAP_InterSystemInformationTransferType_PR present;
+ union RANAP_InterSystemInformationTransferType_u {
+ RANAP_RIM_Transfer_t rIM_Transfer;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_InterSystemInformationTransferType_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_InterSystemInformationTransferType;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_InterSystemInformationTransferType_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_InterfacesToTraceItem.c b/src/ranap/RANAP_InterfacesToTraceItem.c
new file mode 100644
index 0000000..bd97bdc
--- /dev/null
+++ b/src/ranap/RANAP_InterfacesToTraceItem.c
@@ -0,0 +1,240 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_InterfacesToTraceItem.h"
+
+static int
+interface_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+interface_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+static void
+interface_2_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ interface_2_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+static int
+interface_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ interface_2_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+static asn_dec_rval_t
+interface_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ interface_2_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+static asn_enc_rval_t
+interface_2_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ interface_2_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+static asn_dec_rval_t
+interface_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ interface_2_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+static asn_enc_rval_t
+interface_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ interface_2_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+static asn_dec_rval_t
+interface_2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ interface_2_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_enc_rval_t
+interface_2_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ interface_2_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+static asn_enc_rval_t
+interface_2_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ interface_2_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+static asn_dec_rval_t
+interface_2_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ interface_2_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_interface_constr_2 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0l, 4l } /* (0..4,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_interface_value2enum_2[] = {
+ { 0, 5, "iu-cs" },
+ { 1, 5, "iu-ps" },
+ { 2, 3, "iur" },
+ { 3, 3, "iub" },
+ { 4, 2, "uu" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_interface_enum2value_2[] = {
+ 0, /* iu-cs(0) */
+ 1, /* iu-ps(1) */
+ 3, /* iub(3) */
+ 2, /* iur(2) */
+ 4 /* uu(4) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_interface_specs_2 = {
+ asn_MAP_interface_value2enum_2, /* "tag" => N; sorted by tag */
+ asn_MAP_interface_enum2value_2, /* 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_interface_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_interface_2 = {
+ "interface",
+ "interface",
+ interface_2_free,
+ interface_2_print,
+ interface_2_constraint,
+ interface_2_decode_ber,
+ interface_2_encode_der,
+ interface_2_decode_xer,
+ interface_2_encode_xer,
+ interface_2_decode_uper,
+ interface_2_encode_uper,
+ interface_2_decode_aper,
+ interface_2_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_interface_tags_2,
+ sizeof(asn_DEF_interface_tags_2)
+ /sizeof(asn_DEF_interface_tags_2[0]) - 1, /* 1 */
+ asn_DEF_interface_tags_2, /* Same as above */
+ sizeof(asn_DEF_interface_tags_2)
+ /sizeof(asn_DEF_interface_tags_2[0]), /* 2 */
+ &asn_PER_type_interface_constr_2,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_interface_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_InterfacesToTraceItem_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_InterfacesToTraceItem, interface),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_interface_2,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "interface"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_InterfacesToTraceItem, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_InterfacesToTraceItem_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_RANAP_InterfacesToTraceItem_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_InterfacesToTraceItem_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* interface */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_InterfacesToTraceItem_specs_1 = {
+ sizeof(struct RANAP_InterfacesToTraceItem),
+ offsetof(struct RANAP_InterfacesToTraceItem, _asn_ctx),
+ asn_MAP_RANAP_InterfacesToTraceItem_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_RANAP_InterfacesToTraceItem_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 1, /* Start extensions */
+ 3 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_InterfacesToTraceItem = {
+ "RANAP_InterfacesToTraceItem",
+ "RANAP_InterfacesToTraceItem",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_InterfacesToTraceItem_tags_1,
+ sizeof(asn_DEF_RANAP_InterfacesToTraceItem_tags_1)
+ /sizeof(asn_DEF_RANAP_InterfacesToTraceItem_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_InterfacesToTraceItem_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_InterfacesToTraceItem_tags_1)
+ /sizeof(asn_DEF_RANAP_InterfacesToTraceItem_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_InterfacesToTraceItem_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_InterfacesToTraceItem_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_InterfacesToTraceItem.h b/src/ranap/RANAP_InterfacesToTraceItem.h
new file mode 100644
index 0000000..5396375
--- /dev/null
+++ b/src/ranap/RANAP_InterfacesToTraceItem.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_InterfacesToTraceItem_H_
+#define _RANAP_InterfacesToTraceItem_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum interface {
+ interface_iu_cs = 0,
+ interface_iu_ps = 1,
+ interface_iur = 2,
+ interface_iub = 3,
+ interface_uu = 4
+ /*
+ * Enumeration is extensible
+ */
+} e_interface;
+
+/* RANAP_InterfacesToTraceItem */
+typedef struct RANAP_InterfacesToTraceItem {
+ long interface;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_InterfacesToTraceItem_t;
+
+/* Implementation */
+/* extern asn_TYPE_descriptor_t asn_DEF_interface_2; // (Use -fall-defs-global to expose) */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_InterfacesToTraceItem;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_InterfacesToTraceItem_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Iu-ReleaseCommand.c b/src/ranap/RANAP_Iu-ReleaseCommand.c
new file mode 100644
index 0000000..2d64a5b
--- /dev/null
+++ b/src/ranap/RANAP_Iu-ReleaseCommand.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_Iu-ReleaseCommand.h"
+
+static int
+memb_iu_ReleaseCommand_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_iu_ReleaseCommand_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_iu_ReleaseCommand_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_iu_ReleaseCommand_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_iu_ReleaseCommand_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_iu_ReleaseCommand_ies_specs_2 = {
+ sizeof(struct iu_ReleaseCommand_ies),
+ offsetof(struct iu_ReleaseCommand_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_iu_ReleaseCommand_ies_2 = {
+ "iu-ReleaseCommand-ies",
+ "iu-ReleaseCommand-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_iu_ReleaseCommand_ies_tags_2,
+ sizeof(asn_DEF_iu_ReleaseCommand_ies_tags_2)
+ /sizeof(asn_DEF_iu_ReleaseCommand_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_iu_ReleaseCommand_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_iu_ReleaseCommand_ies_tags_2)
+ /sizeof(asn_DEF_iu_ReleaseCommand_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_iu_ReleaseCommand_ies_constr_2,
+ asn_MBR_iu_ReleaseCommand_ies_2,
+ 1, /* Single element */
+ &asn_SPC_iu_ReleaseCommand_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_Iu_ReleaseCommand_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Iu_ReleaseCommand, iu_ReleaseCommand_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_iu_ReleaseCommand_ies_2,
+ memb_iu_ReleaseCommand_ies_constraint_1,
+ &asn_PER_memb_iu_ReleaseCommand_ies_constr_2,
+ 0,
+ "iu-ReleaseCommand-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Iu_ReleaseCommand_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_Iu_ReleaseCommand_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* iu-ReleaseCommand-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_Iu_ReleaseCommand_specs_1 = {
+ sizeof(struct RANAP_Iu_ReleaseCommand),
+ offsetof(struct RANAP_Iu_ReleaseCommand, _asn_ctx),
+ asn_MAP_RANAP_Iu_ReleaseCommand_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Iu_ReleaseCommand = {
+ "RANAP_Iu-ReleaseCommand",
+ "RANAP_Iu-ReleaseCommand",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Iu_ReleaseCommand_tags_1,
+ sizeof(asn_DEF_RANAP_Iu_ReleaseCommand_tags_1)
+ /sizeof(asn_DEF_RANAP_Iu_ReleaseCommand_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Iu_ReleaseCommand_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Iu_ReleaseCommand_tags_1)
+ /sizeof(asn_DEF_RANAP_Iu_ReleaseCommand_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_Iu_ReleaseCommand_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_Iu_ReleaseCommand_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Iu-ReleaseCommand.h b/src/ranap/RANAP_Iu-ReleaseCommand.h
new file mode 100644
index 0000000..938c5a0
--- /dev/null
+++ b/src/ranap/RANAP_Iu-ReleaseCommand.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_Iu_ReleaseCommand_H_
+#define _RANAP_Iu_ReleaseCommand_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Iu-ReleaseCommand */
+typedef struct RANAP_Iu_ReleaseCommand {
+ struct iu_ReleaseCommand_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } iu_ReleaseCommand_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Iu_ReleaseCommand_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Iu_ReleaseCommand;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Iu_ReleaseCommand_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Iu-ReleaseComplete.c b/src/ranap/RANAP_Iu-ReleaseComplete.c
new file mode 100644
index 0000000..3834835
--- /dev/null
+++ b/src/ranap/RANAP_Iu-ReleaseComplete.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_Iu-ReleaseComplete.h"
+
+static int
+memb_iu_ReleaseComplete_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_iu_ReleaseComplete_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_iu_ReleaseComplete_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_iu_ReleaseComplete_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_iu_ReleaseComplete_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_iu_ReleaseComplete_ies_specs_2 = {
+ sizeof(struct iu_ReleaseComplete_ies),
+ offsetof(struct iu_ReleaseComplete_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_iu_ReleaseComplete_ies_2 = {
+ "iu-ReleaseComplete-ies",
+ "iu-ReleaseComplete-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_iu_ReleaseComplete_ies_tags_2,
+ sizeof(asn_DEF_iu_ReleaseComplete_ies_tags_2)
+ /sizeof(asn_DEF_iu_ReleaseComplete_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_iu_ReleaseComplete_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_iu_ReleaseComplete_ies_tags_2)
+ /sizeof(asn_DEF_iu_ReleaseComplete_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_iu_ReleaseComplete_ies_constr_2,
+ asn_MBR_iu_ReleaseComplete_ies_2,
+ 1, /* Single element */
+ &asn_SPC_iu_ReleaseComplete_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_Iu_ReleaseComplete_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Iu_ReleaseComplete, iu_ReleaseComplete_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_iu_ReleaseComplete_ies_2,
+ memb_iu_ReleaseComplete_ies_constraint_1,
+ &asn_PER_memb_iu_ReleaseComplete_ies_constr_2,
+ 0,
+ "iu-ReleaseComplete-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Iu_ReleaseComplete_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_Iu_ReleaseComplete_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* iu-ReleaseComplete-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_Iu_ReleaseComplete_specs_1 = {
+ sizeof(struct RANAP_Iu_ReleaseComplete),
+ offsetof(struct RANAP_Iu_ReleaseComplete, _asn_ctx),
+ asn_MAP_RANAP_Iu_ReleaseComplete_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Iu_ReleaseComplete = {
+ "RANAP_Iu-ReleaseComplete",
+ "RANAP_Iu-ReleaseComplete",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Iu_ReleaseComplete_tags_1,
+ sizeof(asn_DEF_RANAP_Iu_ReleaseComplete_tags_1)
+ /sizeof(asn_DEF_RANAP_Iu_ReleaseComplete_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Iu_ReleaseComplete_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Iu_ReleaseComplete_tags_1)
+ /sizeof(asn_DEF_RANAP_Iu_ReleaseComplete_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_Iu_ReleaseComplete_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_Iu_ReleaseComplete_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Iu-ReleaseComplete.h b/src/ranap/RANAP_Iu-ReleaseComplete.h
new file mode 100644
index 0000000..215b4c7
--- /dev/null
+++ b/src/ranap/RANAP_Iu-ReleaseComplete.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_Iu_ReleaseComplete_H_
+#define _RANAP_Iu_ReleaseComplete_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Iu-ReleaseComplete */
+typedef struct RANAP_Iu_ReleaseComplete {
+ struct iu_ReleaseComplete_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } iu_ReleaseComplete_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Iu_ReleaseComplete_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Iu_ReleaseComplete;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Iu_ReleaseComplete_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Iu-ReleaseRequest.c b/src/ranap/RANAP_Iu-ReleaseRequest.c
new file mode 100644
index 0000000..690db70
--- /dev/null
+++ b/src/ranap/RANAP_Iu-ReleaseRequest.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_Iu-ReleaseRequest.h"
+
+static int
+memb_iu_ReleaseRequest_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_iu_ReleaseRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_iu_ReleaseRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_iu_ReleaseRequest_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_iu_ReleaseRequest_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_iu_ReleaseRequest_ies_specs_2 = {
+ sizeof(struct iu_ReleaseRequest_ies),
+ offsetof(struct iu_ReleaseRequest_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_iu_ReleaseRequest_ies_2 = {
+ "iu-ReleaseRequest-ies",
+ "iu-ReleaseRequest-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_iu_ReleaseRequest_ies_tags_2,
+ sizeof(asn_DEF_iu_ReleaseRequest_ies_tags_2)
+ /sizeof(asn_DEF_iu_ReleaseRequest_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_iu_ReleaseRequest_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_iu_ReleaseRequest_ies_tags_2)
+ /sizeof(asn_DEF_iu_ReleaseRequest_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_iu_ReleaseRequest_ies_constr_2,
+ asn_MBR_iu_ReleaseRequest_ies_2,
+ 1, /* Single element */
+ &asn_SPC_iu_ReleaseRequest_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_Iu_ReleaseRequest_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Iu_ReleaseRequest, iu_ReleaseRequest_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_iu_ReleaseRequest_ies_2,
+ memb_iu_ReleaseRequest_ies_constraint_1,
+ &asn_PER_memb_iu_ReleaseRequest_ies_constr_2,
+ 0,
+ "iu-ReleaseRequest-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Iu_ReleaseRequest_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_Iu_ReleaseRequest_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* iu-ReleaseRequest-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_Iu_ReleaseRequest_specs_1 = {
+ sizeof(struct RANAP_Iu_ReleaseRequest),
+ offsetof(struct RANAP_Iu_ReleaseRequest, _asn_ctx),
+ asn_MAP_RANAP_Iu_ReleaseRequest_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Iu_ReleaseRequest = {
+ "RANAP_Iu-ReleaseRequest",
+ "RANAP_Iu-ReleaseRequest",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Iu_ReleaseRequest_tags_1,
+ sizeof(asn_DEF_RANAP_Iu_ReleaseRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_Iu_ReleaseRequest_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Iu_ReleaseRequest_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Iu_ReleaseRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_Iu_ReleaseRequest_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_Iu_ReleaseRequest_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_Iu_ReleaseRequest_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Iu-ReleaseRequest.h b/src/ranap/RANAP_Iu-ReleaseRequest.h
new file mode 100644
index 0000000..45963f0
--- /dev/null
+++ b/src/ranap/RANAP_Iu-ReleaseRequest.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_Iu_ReleaseRequest_H_
+#define _RANAP_Iu_ReleaseRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Iu-ReleaseRequest */
+typedef struct RANAP_Iu_ReleaseRequest {
+ struct iu_ReleaseRequest_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } iu_ReleaseRequest_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Iu_ReleaseRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Iu_ReleaseRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Iu_ReleaseRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_IuSignallingConnectionIdentifier.c b/src/ranap/RANAP_IuSignallingConnectionIdentifier.c
new file mode 100644
index 0000000..2f23007
--- /dev/null
+++ b/src/ranap/RANAP_IuSignallingConnectionIdentifier.c
@@ -0,0 +1,171 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_IuSignallingConnectionIdentifier.h"
+
+int
+RANAP_IuSignallingConnectionIdentifier_constraint(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 == 24l)) {
+ /* 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 void
+RANAP_IuSignallingConnectionIdentifier_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_BIT_STRING.free_struct;
+ td->print_struct = asn_DEF_BIT_STRING.print_struct;
+ td->check_constraints = asn_DEF_BIT_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_BIT_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_BIT_STRING.per_constraints;
+ td->elements = asn_DEF_BIT_STRING.elements;
+ td->elements_count = asn_DEF_BIT_STRING.elements_count;
+ td->specifics = asn_DEF_BIT_STRING.specifics;
+}
+
+void
+RANAP_IuSignallingConnectionIdentifier_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_IuSignallingConnectionIdentifier_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_IuSignallingConnectionIdentifier_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IuSignallingConnectionIdentifier_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IuSignallingConnectionIdentifier_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_IuSignallingConnectionIdentifier_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_IuSignallingConnectionIdentifier_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IuSignallingConnectionIdentifier_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IuSignallingConnectionIdentifier_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_IuSignallingConnectionIdentifier_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_IuSignallingConnectionIdentifier_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_IuSignallingConnectionIdentifier_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_IuSignallingConnectionIdentifier_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_IuSignallingConnectionIdentifier_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_IuSignallingConnectionIdentifier_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_IuSignallingConnectionIdentifier_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_IuSignallingConnectionIdentifier_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_IuSignallingConnectionIdentifier_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_IuSignallingConnectionIdentifier_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_IuSignallingConnectionIdentifier_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_IuSignallingConnectionIdentifier_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 24l, 24l } /* (SIZE(24..24)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_IuSignallingConnectionIdentifier_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_IuSignallingConnectionIdentifier = {
+ "RANAP_IuSignallingConnectionIdentifier",
+ "RANAP_IuSignallingConnectionIdentifier",
+ RANAP_IuSignallingConnectionIdentifier_free,
+ RANAP_IuSignallingConnectionIdentifier_print,
+ RANAP_IuSignallingConnectionIdentifier_constraint,
+ RANAP_IuSignallingConnectionIdentifier_decode_ber,
+ RANAP_IuSignallingConnectionIdentifier_encode_der,
+ RANAP_IuSignallingConnectionIdentifier_decode_xer,
+ RANAP_IuSignallingConnectionIdentifier_encode_xer,
+ RANAP_IuSignallingConnectionIdentifier_decode_uper,
+ RANAP_IuSignallingConnectionIdentifier_encode_uper,
+ RANAP_IuSignallingConnectionIdentifier_decode_aper,
+ RANAP_IuSignallingConnectionIdentifier_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_IuSignallingConnectionIdentifier_tags_1,
+ sizeof(asn_DEF_RANAP_IuSignallingConnectionIdentifier_tags_1)
+ /sizeof(asn_DEF_RANAP_IuSignallingConnectionIdentifier_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_IuSignallingConnectionIdentifier_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_IuSignallingConnectionIdentifier_tags_1)
+ /sizeof(asn_DEF_RANAP_IuSignallingConnectionIdentifier_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_IuSignallingConnectionIdentifier_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_IuSignallingConnectionIdentifier.h b/src/ranap/RANAP_IuSignallingConnectionIdentifier.h
new file mode 100644
index 0000000..b334891
--- /dev/null
+++ b/src/ranap/RANAP_IuSignallingConnectionIdentifier.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_IuSignallingConnectionIdentifier_H_
+#define _RANAP_IuSignallingConnectionIdentifier_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_IuSignallingConnectionIdentifier */
+typedef BIT_STRING_t RANAP_IuSignallingConnectionIdentifier_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_IuSignallingConnectionIdentifier;
+asn_struct_free_f RANAP_IuSignallingConnectionIdentifier_free;
+asn_struct_print_f RANAP_IuSignallingConnectionIdentifier_print;
+asn_constr_check_f RANAP_IuSignallingConnectionIdentifier_constraint;
+ber_type_decoder_f RANAP_IuSignallingConnectionIdentifier_decode_ber;
+der_type_encoder_f RANAP_IuSignallingConnectionIdentifier_encode_der;
+xer_type_decoder_f RANAP_IuSignallingConnectionIdentifier_decode_xer;
+xer_type_encoder_f RANAP_IuSignallingConnectionIdentifier_encode_xer;
+per_type_decoder_f RANAP_IuSignallingConnectionIdentifier_decode_uper;
+per_type_encoder_f RANAP_IuSignallingConnectionIdentifier_encode_uper;
+per_type_decoder_f RANAP_IuSignallingConnectionIdentifier_decode_aper;
+per_type_encoder_f RANAP_IuSignallingConnectionIdentifier_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_IuSignallingConnectionIdentifier_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_IuTransportAssociation.c b/src/ranap/RANAP_IuTransportAssociation.c
new file mode 100644
index 0000000..ee7b796
--- /dev/null
+++ b/src/ranap/RANAP_IuTransportAssociation.c
@@ -0,0 +1,72 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_IuTransportAssociation.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_IuTransportAssociation_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_IuTransportAssociation_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_IuTransportAssociation, choice.gTP_TEI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_GTP_TEI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "gTP-TEI"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_IuTransportAssociation, choice.bindingID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_BindingID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "bindingID"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_IuTransportAssociation_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gTP-TEI */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* bindingID */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_IuTransportAssociation_specs_1 = {
+ sizeof(struct RANAP_IuTransportAssociation),
+ offsetof(struct RANAP_IuTransportAssociation, _asn_ctx),
+ offsetof(struct RANAP_IuTransportAssociation, present),
+ sizeof(((struct RANAP_IuTransportAssociation *)0)->present),
+ asn_MAP_RANAP_IuTransportAssociation_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_IuTransportAssociation = {
+ "RANAP_IuTransportAssociation",
+ "RANAP_IuTransportAssociation",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_IuTransportAssociation_constr_1,
+ asn_MBR_RANAP_IuTransportAssociation_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_IuTransportAssociation_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_IuTransportAssociation.h b/src/ranap/RANAP_IuTransportAssociation.h
new file mode 100644
index 0000000..c39705b
--- /dev/null
+++ b/src/ranap/RANAP_IuTransportAssociation.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_IuTransportAssociation_H_
+#define _RANAP_IuTransportAssociation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_GTP-TEI.h"
+#include "RANAP_BindingID.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_IuTransportAssociation_PR {
+ RANAP_IuTransportAssociation_PR_NOTHING, /* No components present */
+ RANAP_IuTransportAssociation_PR_gTP_TEI,
+ RANAP_IuTransportAssociation_PR_bindingID,
+ /* Extensions may appear below */
+
+} RANAP_IuTransportAssociation_PR;
+
+/* RANAP_IuTransportAssociation */
+typedef struct RANAP_IuTransportAssociation {
+ RANAP_IuTransportAssociation_PR present;
+ union RANAP_IuTransportAssociation_u {
+ RANAP_GTP_TEI_t gTP_TEI;
+ RANAP_BindingID_t bindingID;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_IuTransportAssociation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_IuTransportAssociation;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_IuTransportAssociation_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_KeyStatus.c b/src/ranap/RANAP_KeyStatus.c
new file mode 100644
index 0000000..0ff0189
--- /dev/null
+++ b/src/ranap/RANAP_KeyStatus.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_KeyStatus.h"
+
+int
+RANAP_KeyStatus_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_KeyStatus_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_KeyStatus_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_KeyStatus_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_KeyStatus_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_KeyStatus_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_KeyStatus_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_KeyStatus_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_KeyStatus_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_KeyStatus_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_KeyStatus_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_KeyStatus_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_KeyStatus_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_KeyStatus_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_KeyStatus_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_KeyStatus_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_KeyStatus_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_KeyStatus_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_KeyStatus_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_KeyStatus_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_KeyStatus_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_KeyStatus_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_KeyStatus_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_KeyStatus_value2enum_1[] = {
+ { 0, 3, "old" },
+ { 1, 3, "new" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_KeyStatus_enum2value_1[] = {
+ 1, /* new(1) */
+ 0 /* old(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_KeyStatus_specs_1 = {
+ asn_MAP_RANAP_KeyStatus_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_KeyStatus_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_RANAP_KeyStatus_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_KeyStatus = {
+ "RANAP_KeyStatus",
+ "RANAP_KeyStatus",
+ RANAP_KeyStatus_free,
+ RANAP_KeyStatus_print,
+ RANAP_KeyStatus_constraint,
+ RANAP_KeyStatus_decode_ber,
+ RANAP_KeyStatus_encode_der,
+ RANAP_KeyStatus_decode_xer,
+ RANAP_KeyStatus_encode_xer,
+ RANAP_KeyStatus_decode_uper,
+ RANAP_KeyStatus_encode_uper,
+ RANAP_KeyStatus_decode_aper,
+ RANAP_KeyStatus_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_KeyStatus_tags_1,
+ sizeof(asn_DEF_RANAP_KeyStatus_tags_1)
+ /sizeof(asn_DEF_RANAP_KeyStatus_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_KeyStatus_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_KeyStatus_tags_1)
+ /sizeof(asn_DEF_RANAP_KeyStatus_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_KeyStatus_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_KeyStatus_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_KeyStatus.h b/src/ranap/RANAP_KeyStatus.h
new file mode 100644
index 0000000..1b61813
--- /dev/null
+++ b/src/ranap/RANAP_KeyStatus.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_KeyStatus_H_
+#define _RANAP_KeyStatus_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_KeyStatus {
+ RANAP_KeyStatus_old = 0,
+ RANAP_KeyStatus_new = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_KeyStatus;
+
+/* RANAP_KeyStatus */
+typedef long RANAP_KeyStatus_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_KeyStatus;
+asn_struct_free_f RANAP_KeyStatus_free;
+asn_struct_print_f RANAP_KeyStatus_print;
+asn_constr_check_f RANAP_KeyStatus_constraint;
+ber_type_decoder_f RANAP_KeyStatus_decode_ber;
+der_type_encoder_f RANAP_KeyStatus_encode_der;
+xer_type_decoder_f RANAP_KeyStatus_decode_xer;
+xer_type_encoder_f RANAP_KeyStatus_encode_xer;
+per_type_decoder_f RANAP_KeyStatus_decode_uper;
+per_type_encoder_f RANAP_KeyStatus_encode_uper;
+per_type_decoder_f RANAP_KeyStatus_decode_aper;
+per_type_encoder_f RANAP_KeyStatus_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_KeyStatus_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_L3-Information.c b/src/ranap/RANAP_L3-Information.c
new file mode 100644
index 0000000..be098c5
--- /dev/null
+++ b/src/ranap/RANAP_L3-Information.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_L3-Information.h"
+
+int
+RANAP_L3_Information_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_L3_Information_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_L3_Information_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_L3_Information_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_L3_Information_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_L3_Information_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_L3_Information_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_L3_Information_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_L3_Information_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_L3_Information_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_L3_Information_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_L3_Information_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_L3_Information_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_L3_Information_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_L3_Information_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_L3_Information_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_L3_Information_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_L3_Information_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_L3_Information_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_L3_Information_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_L3_Information_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_L3_Information_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static const ber_tlv_tag_t asn_DEF_RANAP_L3_Information_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_L3_Information = {
+ "RANAP_L3-Information",
+ "RANAP_L3-Information",
+ RANAP_L3_Information_free,
+ RANAP_L3_Information_print,
+ RANAP_L3_Information_constraint,
+ RANAP_L3_Information_decode_ber,
+ RANAP_L3_Information_encode_der,
+ RANAP_L3_Information_decode_xer,
+ RANAP_L3_Information_encode_xer,
+ RANAP_L3_Information_decode_uper,
+ RANAP_L3_Information_encode_uper,
+ RANAP_L3_Information_decode_aper,
+ RANAP_L3_Information_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_L3_Information_tags_1,
+ sizeof(asn_DEF_RANAP_L3_Information_tags_1)
+ /sizeof(asn_DEF_RANAP_L3_Information_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_L3_Information_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_L3_Information_tags_1)
+ /sizeof(asn_DEF_RANAP_L3_Information_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_L3-Information.h b/src/ranap/RANAP_L3-Information.h
new file mode 100644
index 0000000..122c64d
--- /dev/null
+++ b/src/ranap/RANAP_L3-Information.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_L3_Information_H_
+#define _RANAP_L3_Information_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_L3-Information */
+typedef OCTET_STRING_t RANAP_L3_Information_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_L3_Information;
+asn_struct_free_f RANAP_L3_Information_free;
+asn_struct_print_f RANAP_L3_Information_print;
+asn_constr_check_f RANAP_L3_Information_constraint;
+ber_type_decoder_f RANAP_L3_Information_decode_ber;
+der_type_encoder_f RANAP_L3_Information_encode_der;
+xer_type_decoder_f RANAP_L3_Information_decode_xer;
+xer_type_encoder_f RANAP_L3_Information_encode_xer;
+per_type_decoder_f RANAP_L3_Information_decode_uper;
+per_type_encoder_f RANAP_L3_Information_encode_uper;
+per_type_decoder_f RANAP_L3_Information_decode_aper;
+per_type_encoder_f RANAP_L3_Information_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_L3_Information_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_LA-LIST.c b/src/ranap/RANAP_LA-LIST.c
new file mode 100644
index 0000000..4526c6a
--- /dev/null
+++ b/src/ranap/RANAP_LA-LIST.c
@@ -0,0 +1,135 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_LA-LIST.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_LA_LIST_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, -1, 1l, 65536l } /* (SIZE(1..65536)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_MemberA_2[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct MemberA, lAC),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_LAC,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "lAC"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct MemberA, listOF_SNAs),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_ListOF_SNAs,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "listOF-SNAs"
+ },
+ { ATF_POINTER, 1, offsetof(struct MemberA, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_MemberA_oms_2[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_MemberA_tags_2[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_MemberA_tag2el_2[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lAC */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* listOF-SNAs */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_MemberA_specs_2 = {
+ sizeof(struct MemberA),
+ offsetof(struct MemberA, _asn_ctx),
+ asn_MAP_MemberA_tag2el_2,
+ 3, /* Count of tags in the map */
+ asn_MAP_MemberA_oms_2, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_MemberA_2 = {
+ "SEQUENCE",
+ "SEQUENCE",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_MemberA_tags_2,
+ sizeof(asn_DEF_MemberA_tags_2)
+ /sizeof(asn_DEF_MemberA_tags_2[0]), /* 1 */
+ asn_DEF_MemberA_tags_2, /* Same as above */
+ sizeof(asn_DEF_MemberA_tags_2)
+ /sizeof(asn_DEF_MemberA_tags_2[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_MemberA_2,
+ 3, /* Elements count */
+ &asn_SPC_MemberA_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_LA_LIST_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_MemberA_2,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_LA_LIST_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_LA_LIST_specs_1 = {
+ sizeof(struct RANAP_LA_LIST),
+ offsetof(struct RANAP_LA_LIST, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_LA_LIST = {
+ "RANAP_LA-LIST",
+ "RANAP_LA-LIST",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_LA_LIST_tags_1,
+ sizeof(asn_DEF_RANAP_LA_LIST_tags_1)
+ /sizeof(asn_DEF_RANAP_LA_LIST_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_LA_LIST_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_LA_LIST_tags_1)
+ /sizeof(asn_DEF_RANAP_LA_LIST_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_LA_LIST_constr_1,
+ asn_MBR_RANAP_LA_LIST_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_LA_LIST_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_LA-LIST.h b/src/ranap/RANAP_LA-LIST.h
new file mode 100644
index 0000000..3242a58
--- /dev/null
+++ b/src/ranap/RANAP_LA-LIST.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_LA_LIST_H_
+#define _RANAP_LA_LIST_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include "RANAP_LAC.h"
+#include "RANAP_ListOF-SNAs.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_LA-LIST */
+typedef struct RANAP_LA_LIST {
+ A_SEQUENCE_OF(struct MemberA {
+ RANAP_LAC_t lAC;
+ RANAP_ListOF_SNAs_t listOF_SNAs;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } ) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_LA_LIST_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_LA_LIST;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_LA_LIST_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_LABased.c b/src/ranap/RANAP_LABased.c
new file mode 100644
index 0000000..052bf3c
--- /dev/null
+++ b/src/ranap/RANAP_LABased.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_LABased.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_LABased_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_LABased, laiList),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_LAI_List,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "laiList"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_LABased, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_LABased_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_RANAP_LABased_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_LABased_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* laiList */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_LABased_specs_1 = {
+ sizeof(struct RANAP_LABased),
+ offsetof(struct RANAP_LABased, _asn_ctx),
+ asn_MAP_RANAP_LABased_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_RANAP_LABased_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 1, /* Start extensions */
+ 3 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_LABased = {
+ "RANAP_LABased",
+ "RANAP_LABased",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_LABased_tags_1,
+ sizeof(asn_DEF_RANAP_LABased_tags_1)
+ /sizeof(asn_DEF_RANAP_LABased_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_LABased_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_LABased_tags_1)
+ /sizeof(asn_DEF_RANAP_LABased_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_LABased_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_LABased_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_LABased.h b/src/ranap/RANAP_LABased.h
new file mode 100644
index 0000000..161594a
--- /dev/null
+++ b/src/ranap/RANAP_LABased.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_LABased_H_
+#define _RANAP_LABased_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_LAI-List.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_LABased */
+typedef struct RANAP_LABased {
+ RANAP_LAI_List_t laiList;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_LABased_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_LABased;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_LABased_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_LAC.c b/src/ranap/RANAP_LAC.c
new file mode 100644
index 0000000..c9d99f1
--- /dev/null
+++ b/src/ranap/RANAP_LAC.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_LAC.h"
+
+int
+RANAP_LAC_constraint(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 == 2l)) {
+ /* 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 void
+RANAP_LAC_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_LAC_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_LAC_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_LAC_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_LAC_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_LAC_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_LAC_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_LAC_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_LAC_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_LAC_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_LAC_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_LAC_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_LAC_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_LAC_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_LAC_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_LAC_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_LAC_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_LAC_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_LAC_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_LAC_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_LAC_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_LAC_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 2l, 2l } /* (SIZE(2..2)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_LAC_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_LAC = {
+ "RANAP_LAC",
+ "RANAP_LAC",
+ RANAP_LAC_free,
+ RANAP_LAC_print,
+ RANAP_LAC_constraint,
+ RANAP_LAC_decode_ber,
+ RANAP_LAC_encode_der,
+ RANAP_LAC_decode_xer,
+ RANAP_LAC_encode_xer,
+ RANAP_LAC_decode_uper,
+ RANAP_LAC_encode_uper,
+ RANAP_LAC_decode_aper,
+ RANAP_LAC_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_LAC_tags_1,
+ sizeof(asn_DEF_RANAP_LAC_tags_1)
+ /sizeof(asn_DEF_RANAP_LAC_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_LAC_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_LAC_tags_1)
+ /sizeof(asn_DEF_RANAP_LAC_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_LAC_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_LAC.h b/src/ranap/RANAP_LAC.h
new file mode 100644
index 0000000..ff12809
--- /dev/null
+++ b/src/ranap/RANAP_LAC.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_LAC_H_
+#define _RANAP_LAC_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_LAC */
+typedef OCTET_STRING_t RANAP_LAC_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_LAC;
+asn_struct_free_f RANAP_LAC_free;
+asn_struct_print_f RANAP_LAC_print;
+asn_constr_check_f RANAP_LAC_constraint;
+ber_type_decoder_f RANAP_LAC_decode_ber;
+der_type_encoder_f RANAP_LAC_encode_der;
+xer_type_decoder_f RANAP_LAC_decode_xer;
+xer_type_encoder_f RANAP_LAC_encode_xer;
+per_type_decoder_f RANAP_LAC_decode_uper;
+per_type_encoder_f RANAP_LAC_encode_uper;
+per_type_decoder_f RANAP_LAC_decode_aper;
+per_type_encoder_f RANAP_LAC_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_LAC_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_LAI-List.c b/src/ranap/RANAP_LAI-List.c
new file mode 100644
index 0000000..ce3f543
--- /dev/null
+++ b/src/ranap/RANAP_LAI-List.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_LAI-List.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_LAI_List_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 3, 3, 1l, 8l } /* (SIZE(1..8)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_LAI_List_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_LAI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_LAI_List_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_LAI_List_specs_1 = {
+ sizeof(struct RANAP_LAI_List),
+ offsetof(struct RANAP_LAI_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_LAI_List = {
+ "RANAP_LAI-List",
+ "RANAP_LAI-List",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_LAI_List_tags_1,
+ sizeof(asn_DEF_RANAP_LAI_List_tags_1)
+ /sizeof(asn_DEF_RANAP_LAI_List_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_LAI_List_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_LAI_List_tags_1)
+ /sizeof(asn_DEF_RANAP_LAI_List_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_LAI_List_constr_1,
+ asn_MBR_RANAP_LAI_List_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_LAI_List_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_LAI-List.h b/src/ranap/RANAP_LAI-List.h
new file mode 100644
index 0000000..58242ee
--- /dev/null
+++ b/src/ranap/RANAP_LAI-List.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_LAI_List_H_
+#define _RANAP_LAI_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_LAI.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_LAI-List */
+typedef struct RANAP_LAI_List {
+ A_SEQUENCE_OF(RANAP_LAI_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_LAI_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_LAI_List;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_LAI_List_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_LAI.c b/src/ranap/RANAP_LAI.c
new file mode 100644
index 0000000..d8aa1d7
--- /dev/null
+++ b/src/ranap/RANAP_LAI.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_LAI.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_LAI_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_LAI, pLMNidentity),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PLMNidentity,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "pLMNidentity"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_LAI, lAC),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_LAC,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "lAC"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_LAI, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_LAI_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_LAI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_LAI_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNidentity */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* lAC */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_LAI_specs_1 = {
+ sizeof(struct RANAP_LAI),
+ offsetof(struct RANAP_LAI, _asn_ctx),
+ asn_MAP_RANAP_LAI_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_LAI_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_LAI = {
+ "RANAP_LAI",
+ "RANAP_LAI",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_LAI_tags_1,
+ sizeof(asn_DEF_RANAP_LAI_tags_1)
+ /sizeof(asn_DEF_RANAP_LAI_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_LAI_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_LAI_tags_1)
+ /sizeof(asn_DEF_RANAP_LAI_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_LAI_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_LAI_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_LAI.h b/src/ranap/RANAP_LAI.h
new file mode 100644
index 0000000..8ef0f98
--- /dev/null
+++ b/src/ranap/RANAP_LAI.h
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_LAI_H_
+#define _RANAP_LAI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_PLMNidentity.h"
+#include "RANAP_LAC.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_LAI */
+typedef struct RANAP_LAI {
+ RANAP_PLMNidentity_t pLMNidentity;
+ RANAP_LAC_t lAC;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_LAI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_LAI;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_LAI_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_LAListofIdleModeUEs.c b/src/ranap/RANAP_LAListofIdleModeUEs.c
new file mode 100644
index 0000000..dea3aec
--- /dev/null
+++ b/src/ranap/RANAP_LAListofIdleModeUEs.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_LAListofIdleModeUEs.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_LAListofIdleModeUEs_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, -1, 1l, 65536l } /* (SIZE(1..65536)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_LAListofIdleModeUEs_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_LAI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_LAListofIdleModeUEs_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_LAListofIdleModeUEs_specs_1 = {
+ sizeof(struct RANAP_LAListofIdleModeUEs),
+ offsetof(struct RANAP_LAListofIdleModeUEs, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_LAListofIdleModeUEs = {
+ "RANAP_LAListofIdleModeUEs",
+ "RANAP_LAListofIdleModeUEs",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_LAListofIdleModeUEs_tags_1,
+ sizeof(asn_DEF_RANAP_LAListofIdleModeUEs_tags_1)
+ /sizeof(asn_DEF_RANAP_LAListofIdleModeUEs_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_LAListofIdleModeUEs_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_LAListofIdleModeUEs_tags_1)
+ /sizeof(asn_DEF_RANAP_LAListofIdleModeUEs_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_LAListofIdleModeUEs_constr_1,
+ asn_MBR_RANAP_LAListofIdleModeUEs_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_LAListofIdleModeUEs_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_LAListofIdleModeUEs.h b/src/ranap/RANAP_LAListofIdleModeUEs.h
new file mode 100644
index 0000000..6b5ecca
--- /dev/null
+++ b/src/ranap/RANAP_LAListofIdleModeUEs.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_LAListofIdleModeUEs_H_
+#define _RANAP_LAListofIdleModeUEs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_LAI.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_LAListofIdleModeUEs */
+typedef struct RANAP_LAListofIdleModeUEs {
+ A_SEQUENCE_OF(RANAP_LAI_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_LAListofIdleModeUEs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_LAListofIdleModeUEs;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_LAListofIdleModeUEs_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_LHN-ID.c b/src/ranap/RANAP_LHN-ID.c
new file mode 100644
index 0000000..95e2976
--- /dev/null
+++ b/src/ranap/RANAP_LHN-ID.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_LHN-ID.h"
+
+int
+RANAP_LHN_ID_constraint(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 >= 32l && size <= 256l)) {
+ /* 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 void
+RANAP_LHN_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_LHN_ID_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_LHN_ID_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_LHN_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_LHN_ID_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_LHN_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_LHN_ID_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_LHN_ID_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_LHN_ID_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_LHN_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_LHN_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_LHN_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_LHN_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_LHN_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_LHN_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_LHN_ID_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_LHN_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_LHN_ID_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_LHN_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_LHN_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_LHN_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_LHN_ID_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 8, 8, 32l, 256l } /* (SIZE(32..256)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_LHN_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_LHN_ID = {
+ "RANAP_LHN-ID",
+ "RANAP_LHN-ID",
+ RANAP_LHN_ID_free,
+ RANAP_LHN_ID_print,
+ RANAP_LHN_ID_constraint,
+ RANAP_LHN_ID_decode_ber,
+ RANAP_LHN_ID_encode_der,
+ RANAP_LHN_ID_decode_xer,
+ RANAP_LHN_ID_encode_xer,
+ RANAP_LHN_ID_decode_uper,
+ RANAP_LHN_ID_encode_uper,
+ RANAP_LHN_ID_decode_aper,
+ RANAP_LHN_ID_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_LHN_ID_tags_1,
+ sizeof(asn_DEF_RANAP_LHN_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_LHN_ID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_LHN_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_LHN_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_LHN_ID_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_LHN_ID_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_LHN-ID.h b/src/ranap/RANAP_LHN-ID.h
new file mode 100644
index 0000000..a8776b8
--- /dev/null
+++ b/src/ranap/RANAP_LHN-ID.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_LHN_ID_H_
+#define _RANAP_LHN_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_LHN-ID */
+typedef OCTET_STRING_t RANAP_LHN_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_LHN_ID;
+asn_struct_free_f RANAP_LHN_ID_free;
+asn_struct_print_f RANAP_LHN_ID_print;
+asn_constr_check_f RANAP_LHN_ID_constraint;
+ber_type_decoder_f RANAP_LHN_ID_decode_ber;
+der_type_encoder_f RANAP_LHN_ID_encode_der;
+xer_type_decoder_f RANAP_LHN_ID_decode_xer;
+xer_type_encoder_f RANAP_LHN_ID_encode_xer;
+per_type_decoder_f RANAP_LHN_ID_decode_uper;
+per_type_encoder_f RANAP_LHN_ID_encode_uper;
+per_type_decoder_f RANAP_LHN_ID_decode_aper;
+per_type_encoder_f RANAP_LHN_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_LHN_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_LastKnownServiceArea.c b/src/ranap/RANAP_LastKnownServiceArea.c
new file mode 100644
index 0000000..1360679
--- /dev/null
+++ b/src/ranap/RANAP_LastKnownServiceArea.c
@@ -0,0 +1,113 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_LastKnownServiceArea.h"
+
+static int
+memb_ageOfSAI_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 32767l)) {
+ /* Constraint 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_ageOfSAI_constr_3 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 15, 15, 0l, 32767l } /* (0..32767) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_LastKnownServiceArea_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_LastKnownServiceArea, sAI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_SAI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "sAI"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_LastKnownServiceArea, ageOfSAI),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_ageOfSAI_constraint_1,
+ &asn_PER_memb_ageOfSAI_constr_3,
+ 0,
+ "ageOfSAI"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_LastKnownServiceArea, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_LastKnownServiceArea_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_LastKnownServiceArea_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_LastKnownServiceArea_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sAI */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ageOfSAI */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_LastKnownServiceArea_specs_1 = {
+ sizeof(struct RANAP_LastKnownServiceArea),
+ offsetof(struct RANAP_LastKnownServiceArea, _asn_ctx),
+ asn_MAP_RANAP_LastKnownServiceArea_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_LastKnownServiceArea_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_LastKnownServiceArea = {
+ "RANAP_LastKnownServiceArea",
+ "RANAP_LastKnownServiceArea",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_LastKnownServiceArea_tags_1,
+ sizeof(asn_DEF_RANAP_LastKnownServiceArea_tags_1)
+ /sizeof(asn_DEF_RANAP_LastKnownServiceArea_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_LastKnownServiceArea_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_LastKnownServiceArea_tags_1)
+ /sizeof(asn_DEF_RANAP_LastKnownServiceArea_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_LastKnownServiceArea_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_LastKnownServiceArea_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_LastKnownServiceArea.h b/src/ranap/RANAP_LastKnownServiceArea.h
new file mode 100644
index 0000000..c29334f
--- /dev/null
+++ b/src/ranap/RANAP_LastKnownServiceArea.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_LastKnownServiceArea_H_
+#define _RANAP_LastKnownServiceArea_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_SAI.h"
+#include <NativeInteger.h>
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_LastKnownServiceArea */
+typedef struct RANAP_LastKnownServiceArea {
+ RANAP_SAI_t sAI;
+ long ageOfSAI;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_LastKnownServiceArea_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_LastKnownServiceArea;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_LastKnownServiceArea_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_LastVisitedUTRANCell-Item.c b/src/ranap/RANAP_LastVisitedUTRANCell-Item.c
new file mode 100644
index 0000000..61e4a1a
--- /dev/null
+++ b/src/ranap/RANAP_LastVisitedUTRANCell-Item.c
@@ -0,0 +1,93 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_LastVisitedUTRANCell-Item.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_LastVisitedUTRANCell_Item_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_LastVisitedUTRANCell_Item, uTRAN_CellID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_UTRAN_CellID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "uTRAN-CellID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_LastVisitedUTRANCell_Item, cellType),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_CellType,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "cellType"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_LastVisitedUTRANCell_Item, time_UE_StayedInCell),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Time_UE_StayedInCell,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "time-UE-StayedInCell"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_LastVisitedUTRANCell_Item, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_LastVisitedUTRANCell_Item_oms_1[] = { 3 };
+static const ber_tlv_tag_t asn_DEF_RANAP_LastVisitedUTRANCell_Item_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_LastVisitedUTRANCell_Item_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* uTRAN-CellID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cellType */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* time-UE-StayedInCell */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_LastVisitedUTRANCell_Item_specs_1 = {
+ sizeof(struct RANAP_LastVisitedUTRANCell_Item),
+ offsetof(struct RANAP_LastVisitedUTRANCell_Item, _asn_ctx),
+ asn_MAP_RANAP_LastVisitedUTRANCell_Item_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_RANAP_LastVisitedUTRANCell_Item_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 3, /* Start extensions */
+ 5 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_LastVisitedUTRANCell_Item = {
+ "RANAP_LastVisitedUTRANCell-Item",
+ "RANAP_LastVisitedUTRANCell-Item",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_LastVisitedUTRANCell_Item_tags_1,
+ sizeof(asn_DEF_RANAP_LastVisitedUTRANCell_Item_tags_1)
+ /sizeof(asn_DEF_RANAP_LastVisitedUTRANCell_Item_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_LastVisitedUTRANCell_Item_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_LastVisitedUTRANCell_Item_tags_1)
+ /sizeof(asn_DEF_RANAP_LastVisitedUTRANCell_Item_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_LastVisitedUTRANCell_Item_1,
+ 4, /* Elements count */
+ &asn_SPC_RANAP_LastVisitedUTRANCell_Item_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_LastVisitedUTRANCell-Item.h b/src/ranap/RANAP_LastVisitedUTRANCell-Item.h
new file mode 100644
index 0000000..de775e1
--- /dev/null
+++ b/src/ranap/RANAP_LastVisitedUTRANCell-Item.h
@@ -0,0 +1,47 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_LastVisitedUTRANCell_Item_H_
+#define _RANAP_LastVisitedUTRANCell_Item_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_UTRAN-CellID.h"
+#include "RANAP_CellType.h"
+#include "RANAP_Time-UE-StayedInCell.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_LastVisitedUTRANCell-Item */
+typedef struct RANAP_LastVisitedUTRANCell_Item {
+ RANAP_UTRAN_CellID_t uTRAN_CellID;
+ RANAP_CellType_t cellType;
+ RANAP_Time_UE_StayedInCell_t time_UE_StayedInCell;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_LastVisitedUTRANCell_Item_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_LastVisitedUTRANCell_Item;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_LastVisitedUTRANCell_Item_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Links-to-log.c b/src/ranap/RANAP_Links-to-log.c
new file mode 100644
index 0000000..fe6b9ed
--- /dev/null
+++ b/src/ranap/RANAP_Links-to-log.c
@@ -0,0 +1,169 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Links-to-log.h"
+
+int
+RANAP_Links_to_log_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_Links_to_log_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_Links_to_log_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Links_to_log_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Links_to_log_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Links_to_log_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Links_to_log_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Links_to_log_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Links_to_log_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Links_to_log_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Links_to_log_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Links_to_log_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Links_to_log_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Links_to_log_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Links_to_log_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Links_to_log_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Links_to_log_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Links_to_log_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Links_to_log_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Links_to_log_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Links_to_log_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Links_to_log_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_Links_to_log_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 2l } /* (0..2,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_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_RANAP_Links_to_log_enum2value_1[] = {
+ 2, /* both-uplink-and-downlink(2) */
+ 1, /* downlink(1) */
+ 0 /* uplink(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_Links_to_log_specs_1 = {
+ asn_MAP_RANAP_Links_to_log_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_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_RANAP_Links_to_log_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Links_to_log = {
+ "RANAP_Links-to-log",
+ "RANAP_Links-to-log",
+ RANAP_Links_to_log_free,
+ RANAP_Links_to_log_print,
+ RANAP_Links_to_log_constraint,
+ RANAP_Links_to_log_decode_ber,
+ RANAP_Links_to_log_encode_der,
+ RANAP_Links_to_log_decode_xer,
+ RANAP_Links_to_log_encode_xer,
+ RANAP_Links_to_log_decode_uper,
+ RANAP_Links_to_log_encode_uper,
+ RANAP_Links_to_log_decode_aper,
+ RANAP_Links_to_log_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Links_to_log_tags_1,
+ sizeof(asn_DEF_RANAP_Links_to_log_tags_1)
+ /sizeof(asn_DEF_RANAP_Links_to_log_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Links_to_log_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Links_to_log_tags_1)
+ /sizeof(asn_DEF_RANAP_Links_to_log_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Links_to_log_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_Links_to_log_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Links-to-log.h b/src/ranap/RANAP_Links-to-log.h
new file mode 100644
index 0000000..8b11a7e
--- /dev/null
+++ b/src/ranap/RANAP_Links-to-log.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Links_to_log_H_
+#define _RANAP_Links_to_log_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_Links_to_log {
+ RANAP_Links_to_log_uplink = 0,
+ RANAP_Links_to_log_downlink = 1,
+ RANAP_Links_to_log_both_uplink_and_downlink = 2
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_Links_to_log;
+
+/* RANAP_Links-to-log */
+typedef long RANAP_Links_to_log_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Links_to_log;
+asn_struct_free_f RANAP_Links_to_log_free;
+asn_struct_print_f RANAP_Links_to_log_print;
+asn_constr_check_f RANAP_Links_to_log_constraint;
+ber_type_decoder_f RANAP_Links_to_log_decode_ber;
+der_type_encoder_f RANAP_Links_to_log_encode_der;
+xer_type_decoder_f RANAP_Links_to_log_decode_xer;
+xer_type_encoder_f RANAP_Links_to_log_encode_xer;
+per_type_decoder_f RANAP_Links_to_log_decode_uper;
+per_type_encoder_f RANAP_Links_to_log_encode_uper;
+per_type_decoder_f RANAP_Links_to_log_decode_aper;
+per_type_encoder_f RANAP_Links_to_log_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Links_to_log_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ListOF-SNAs.c b/src/ranap/RANAP_ListOF-SNAs.c
new file mode 100644
index 0000000..1a0d533
--- /dev/null
+++ b/src/ranap/RANAP_ListOF-SNAs.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_ListOF-SNAs.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_ListOF_SNAs_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, -1, 1l, 65536l } /* (SIZE(1..65536)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_ListOF_SNAs_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_SNAC,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_ListOF_SNAs_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_ListOF_SNAs_specs_1 = {
+ sizeof(struct RANAP_ListOF_SNAs),
+ offsetof(struct RANAP_ListOF_SNAs, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ListOF_SNAs = {
+ "RANAP_ListOF-SNAs",
+ "RANAP_ListOF-SNAs",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ListOF_SNAs_tags_1,
+ sizeof(asn_DEF_RANAP_ListOF_SNAs_tags_1)
+ /sizeof(asn_DEF_RANAP_ListOF_SNAs_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ListOF_SNAs_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ListOF_SNAs_tags_1)
+ /sizeof(asn_DEF_RANAP_ListOF_SNAs_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_ListOF_SNAs_constr_1,
+ asn_MBR_RANAP_ListOF_SNAs_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_ListOF_SNAs_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_ListOF-SNAs.h b/src/ranap/RANAP_ListOF-SNAs.h
new file mode 100644
index 0000000..9a9c5d8
--- /dev/null
+++ b/src/ranap/RANAP_ListOF-SNAs.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_ListOF_SNAs_H_
+#define _RANAP_ListOF_SNAs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_SNAC.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_ListOF-SNAs */
+typedef struct RANAP_ListOF_SNAs {
+ A_SEQUENCE_OF(RANAP_SNAC_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_ListOF_SNAs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ListOF_SNAs;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ListOF_SNAs_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ListOfInterfacesToTrace.c b/src/ranap/RANAP_ListOfInterfacesToTrace.c
new file mode 100644
index 0000000..2c87cd1
--- /dev/null
+++ b/src/ranap/RANAP_ListOfInterfacesToTrace.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_ListOfInterfacesToTrace.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_ListOfInterfacesToTrace_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 4, 4, 1l, 16l } /* (SIZE(1..16)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_ListOfInterfacesToTrace_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_InterfacesToTraceItem,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_ListOfInterfacesToTrace_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_ListOfInterfacesToTrace_specs_1 = {
+ sizeof(struct RANAP_ListOfInterfacesToTrace),
+ offsetof(struct RANAP_ListOfInterfacesToTrace, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ListOfInterfacesToTrace = {
+ "RANAP_ListOfInterfacesToTrace",
+ "RANAP_ListOfInterfacesToTrace",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ListOfInterfacesToTrace_tags_1,
+ sizeof(asn_DEF_RANAP_ListOfInterfacesToTrace_tags_1)
+ /sizeof(asn_DEF_RANAP_ListOfInterfacesToTrace_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ListOfInterfacesToTrace_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ListOfInterfacesToTrace_tags_1)
+ /sizeof(asn_DEF_RANAP_ListOfInterfacesToTrace_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_ListOfInterfacesToTrace_constr_1,
+ asn_MBR_RANAP_ListOfInterfacesToTrace_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_ListOfInterfacesToTrace_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_ListOfInterfacesToTrace.h b/src/ranap/RANAP_ListOfInterfacesToTrace.h
new file mode 100644
index 0000000..9c522d8
--- /dev/null
+++ b/src/ranap/RANAP_ListOfInterfacesToTrace.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_ListOfInterfacesToTrace_H_
+#define _RANAP_ListOfInterfacesToTrace_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_InterfacesToTraceItem.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_ListOfInterfacesToTrace */
+typedef struct RANAP_ListOfInterfacesToTrace {
+ A_SEQUENCE_OF(RANAP_InterfacesToTraceItem_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_ListOfInterfacesToTrace_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ListOfInterfacesToTrace;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ListOfInterfacesToTrace_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_LoadValue.c b/src/ranap/RANAP_LoadValue.c
new file mode 100644
index 0000000..fbb9b69
--- /dev/null
+++ b/src/ranap/RANAP_LoadValue.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_LoadValue.h"
+
+int
+RANAP_LoadValue_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 100l)) {
+ /* 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 void
+RANAP_LoadValue_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_LoadValue_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_LoadValue_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_LoadValue_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_LoadValue_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_LoadValue_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_LoadValue_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_LoadValue_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_LoadValue_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_LoadValue_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_LoadValue_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_LoadValue_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_LoadValue_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_LoadValue_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_LoadValue_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_LoadValue_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_LoadValue_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_LoadValue_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_LoadValue_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_LoadValue_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_LoadValue_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_LoadValue_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 7, 7, 0l, 100l } /* (0..100) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_LoadValue_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_LoadValue = {
+ "RANAP_LoadValue",
+ "RANAP_LoadValue",
+ RANAP_LoadValue_free,
+ RANAP_LoadValue_print,
+ RANAP_LoadValue_constraint,
+ RANAP_LoadValue_decode_ber,
+ RANAP_LoadValue_encode_der,
+ RANAP_LoadValue_decode_xer,
+ RANAP_LoadValue_encode_xer,
+ RANAP_LoadValue_decode_uper,
+ RANAP_LoadValue_encode_uper,
+ RANAP_LoadValue_decode_aper,
+ RANAP_LoadValue_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_LoadValue_tags_1,
+ sizeof(asn_DEF_RANAP_LoadValue_tags_1)
+ /sizeof(asn_DEF_RANAP_LoadValue_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_LoadValue_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_LoadValue_tags_1)
+ /sizeof(asn_DEF_RANAP_LoadValue_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_LoadValue_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_LoadValue.h b/src/ranap/RANAP_LoadValue.h
new file mode 100644
index 0000000..8cb072d
--- /dev/null
+++ b/src/ranap/RANAP_LoadValue.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_LoadValue_H_
+#define _RANAP_LoadValue_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_LoadValue */
+typedef long RANAP_LoadValue_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_LoadValue;
+asn_struct_free_f RANAP_LoadValue_free;
+asn_struct_print_f RANAP_LoadValue_print;
+asn_constr_check_f RANAP_LoadValue_constraint;
+ber_type_decoder_f RANAP_LoadValue_decode_ber;
+der_type_encoder_f RANAP_LoadValue_encode_der;
+xer_type_decoder_f RANAP_LoadValue_decode_xer;
+xer_type_encoder_f RANAP_LoadValue_encode_xer;
+per_type_decoder_f RANAP_LoadValue_decode_uper;
+per_type_encoder_f RANAP_LoadValue_encode_uper;
+per_type_decoder_f RANAP_LoadValue_decode_aper;
+per_type_encoder_f RANAP_LoadValue_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_LoadValue_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_LocationRelatedDataFailure.c b/src/ranap/RANAP_LocationRelatedDataFailure.c
new file mode 100644
index 0000000..9835619
--- /dev/null
+++ b/src/ranap/RANAP_LocationRelatedDataFailure.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_LocationRelatedDataFailure.h"
+
+static int
+memb_locationRelatedDataFailure_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_locationRelatedDataFailure_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_locationRelatedDataFailure_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_locationRelatedDataFailure_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_locationRelatedDataFailure_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_locationRelatedDataFailure_ies_specs_2 = {
+ sizeof(struct locationRelatedDataFailure_ies),
+ offsetof(struct locationRelatedDataFailure_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_locationRelatedDataFailure_ies_2 = {
+ "locationRelatedDataFailure-ies",
+ "locationRelatedDataFailure-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_locationRelatedDataFailure_ies_tags_2,
+ sizeof(asn_DEF_locationRelatedDataFailure_ies_tags_2)
+ /sizeof(asn_DEF_locationRelatedDataFailure_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_locationRelatedDataFailure_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_locationRelatedDataFailure_ies_tags_2)
+ /sizeof(asn_DEF_locationRelatedDataFailure_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_locationRelatedDataFailure_ies_constr_2,
+ asn_MBR_locationRelatedDataFailure_ies_2,
+ 1, /* Single element */
+ &asn_SPC_locationRelatedDataFailure_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_LocationRelatedDataFailure_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_LocationRelatedDataFailure, locationRelatedDataFailure_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_locationRelatedDataFailure_ies_2,
+ memb_locationRelatedDataFailure_ies_constraint_1,
+ &asn_PER_memb_locationRelatedDataFailure_ies_constr_2,
+ 0,
+ "locationRelatedDataFailure-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_LocationRelatedDataFailure_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_LocationRelatedDataFailure_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* locationRelatedDataFailure-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_LocationRelatedDataFailure_specs_1 = {
+ sizeof(struct RANAP_LocationRelatedDataFailure),
+ offsetof(struct RANAP_LocationRelatedDataFailure, _asn_ctx),
+ asn_MAP_RANAP_LocationRelatedDataFailure_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_LocationRelatedDataFailure = {
+ "RANAP_LocationRelatedDataFailure",
+ "RANAP_LocationRelatedDataFailure",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_LocationRelatedDataFailure_tags_1,
+ sizeof(asn_DEF_RANAP_LocationRelatedDataFailure_tags_1)
+ /sizeof(asn_DEF_RANAP_LocationRelatedDataFailure_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_LocationRelatedDataFailure_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_LocationRelatedDataFailure_tags_1)
+ /sizeof(asn_DEF_RANAP_LocationRelatedDataFailure_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_LocationRelatedDataFailure_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_LocationRelatedDataFailure_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_LocationRelatedDataFailure.h b/src/ranap/RANAP_LocationRelatedDataFailure.h
new file mode 100644
index 0000000..31fedf9
--- /dev/null
+++ b/src/ranap/RANAP_LocationRelatedDataFailure.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_LocationRelatedDataFailure_H_
+#define _RANAP_LocationRelatedDataFailure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_LocationRelatedDataFailure */
+typedef struct RANAP_LocationRelatedDataFailure {
+ struct locationRelatedDataFailure_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } locationRelatedDataFailure_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_LocationRelatedDataFailure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_LocationRelatedDataFailure;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_LocationRelatedDataFailure_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_LocationRelatedDataRequest.c b/src/ranap/RANAP_LocationRelatedDataRequest.c
new file mode 100644
index 0000000..0f22cce
--- /dev/null
+++ b/src/ranap/RANAP_LocationRelatedDataRequest.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_LocationRelatedDataRequest.h"
+
+static int
+memb_locationRelatedDataRequest_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_locationRelatedDataRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_locationRelatedDataRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_locationRelatedDataRequest_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_locationRelatedDataRequest_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_locationRelatedDataRequest_ies_specs_2 = {
+ sizeof(struct locationRelatedDataRequest_ies),
+ offsetof(struct locationRelatedDataRequest_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_locationRelatedDataRequest_ies_2 = {
+ "locationRelatedDataRequest-ies",
+ "locationRelatedDataRequest-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_locationRelatedDataRequest_ies_tags_2,
+ sizeof(asn_DEF_locationRelatedDataRequest_ies_tags_2)
+ /sizeof(asn_DEF_locationRelatedDataRequest_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_locationRelatedDataRequest_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_locationRelatedDataRequest_ies_tags_2)
+ /sizeof(asn_DEF_locationRelatedDataRequest_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_locationRelatedDataRequest_ies_constr_2,
+ asn_MBR_locationRelatedDataRequest_ies_2,
+ 1, /* Single element */
+ &asn_SPC_locationRelatedDataRequest_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_LocationRelatedDataRequest_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_LocationRelatedDataRequest, locationRelatedDataRequest_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_locationRelatedDataRequest_ies_2,
+ memb_locationRelatedDataRequest_ies_constraint_1,
+ &asn_PER_memb_locationRelatedDataRequest_ies_constr_2,
+ 0,
+ "locationRelatedDataRequest-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_LocationRelatedDataRequest_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_LocationRelatedDataRequest_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* locationRelatedDataRequest-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_LocationRelatedDataRequest_specs_1 = {
+ sizeof(struct RANAP_LocationRelatedDataRequest),
+ offsetof(struct RANAP_LocationRelatedDataRequest, _asn_ctx),
+ asn_MAP_RANAP_LocationRelatedDataRequest_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_LocationRelatedDataRequest = {
+ "RANAP_LocationRelatedDataRequest",
+ "RANAP_LocationRelatedDataRequest",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_LocationRelatedDataRequest_tags_1,
+ sizeof(asn_DEF_RANAP_LocationRelatedDataRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_LocationRelatedDataRequest_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_LocationRelatedDataRequest_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_LocationRelatedDataRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_LocationRelatedDataRequest_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_LocationRelatedDataRequest_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_LocationRelatedDataRequest_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_LocationRelatedDataRequest.h b/src/ranap/RANAP_LocationRelatedDataRequest.h
new file mode 100644
index 0000000..ec525e5
--- /dev/null
+++ b/src/ranap/RANAP_LocationRelatedDataRequest.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_LocationRelatedDataRequest_H_
+#define _RANAP_LocationRelatedDataRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_LocationRelatedDataRequest */
+typedef struct RANAP_LocationRelatedDataRequest {
+ struct locationRelatedDataRequest_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } locationRelatedDataRequest_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_LocationRelatedDataRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_LocationRelatedDataRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_LocationRelatedDataRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_LocationRelatedDataRequestType.c b/src/ranap/RANAP_LocationRelatedDataRequestType.c
new file mode 100644
index 0000000..680e760
--- /dev/null
+++ b/src/ranap/RANAP_LocationRelatedDataRequestType.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_LocationRelatedDataRequestType.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_LocationRelatedDataRequestType_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_LocationRelatedDataRequestType, requestedLocationRelatedDataType),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RequestedLocationRelatedDataType,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "requestedLocationRelatedDataType"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_LocationRelatedDataRequestType, requestedGPSAssistanceData),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RequestedGPSAssistanceData,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "requestedGPSAssistanceData"
+ },
+};
+static const int asn_MAP_RANAP_LocationRelatedDataRequestType_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_RANAP_LocationRelatedDataRequestType_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_LocationRelatedDataRequestType_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* requestedLocationRelatedDataType */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* requestedGPSAssistanceData */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_LocationRelatedDataRequestType_specs_1 = {
+ sizeof(struct RANAP_LocationRelatedDataRequestType),
+ offsetof(struct RANAP_LocationRelatedDataRequestType, _asn_ctx),
+ asn_MAP_RANAP_LocationRelatedDataRequestType_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_RANAP_LocationRelatedDataRequestType_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 1, /* Start extensions */
+ 3 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_LocationRelatedDataRequestType = {
+ "RANAP_LocationRelatedDataRequestType",
+ "RANAP_LocationRelatedDataRequestType",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_LocationRelatedDataRequestType_tags_1,
+ sizeof(asn_DEF_RANAP_LocationRelatedDataRequestType_tags_1)
+ /sizeof(asn_DEF_RANAP_LocationRelatedDataRequestType_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_LocationRelatedDataRequestType_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_LocationRelatedDataRequestType_tags_1)
+ /sizeof(asn_DEF_RANAP_LocationRelatedDataRequestType_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_LocationRelatedDataRequestType_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_LocationRelatedDataRequestType_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_LocationRelatedDataRequestType.h b/src/ranap/RANAP_LocationRelatedDataRequestType.h
new file mode 100644
index 0000000..98fe123
--- /dev/null
+++ b/src/ranap/RANAP_LocationRelatedDataRequestType.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_LocationRelatedDataRequestType_H_
+#define _RANAP_LocationRelatedDataRequestType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_RequestedLocationRelatedDataType.h"
+#include "RANAP_RequestedGPSAssistanceData.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_LocationRelatedDataRequestType */
+typedef struct RANAP_LocationRelatedDataRequestType {
+ RANAP_RequestedLocationRelatedDataType_t requestedLocationRelatedDataType;
+ RANAP_RequestedGPSAssistanceData_t *requestedGPSAssistanceData /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_LocationRelatedDataRequestType_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_LocationRelatedDataRequestType;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_LocationRelatedDataRequestType_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode.c b/src/ranap/RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode.c
new file mode 100644
index 0000000..7fae43a
--- /dev/null
+++ b/src/ranap/RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode.c
@@ -0,0 +1,169 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode.h"
+
+int
+RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 2l } /* (0..2,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_value2enum_1[] = {
+ { 0, 19, "decipheringKeysEOTD" },
+ { 1, 41, "dedicatedMobileAssistedEOTDAssistanceData" },
+ { 2, 38, "dedicatedMobileBasedEOTDAssistanceData" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_enum2value_1[] = {
+ 0, /* decipheringKeysEOTD(0) */
+ 1, /* dedicatedMobileAssistedEOTDAssistanceData(1) */
+ 2 /* dedicatedMobileBasedEOTDAssistanceData(2) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_specs_1 = {
+ asn_MAP_RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_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_RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode = {
+ "RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode",
+ "RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode",
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_free,
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_print,
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_constraint,
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_decode_ber,
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_encode_der,
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_decode_xer,
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_encode_xer,
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_decode_uper,
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_encode_uper,
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_decode_aper,
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_tags_1,
+ sizeof(asn_DEF_RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_tags_1)
+ /sizeof(asn_DEF_RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_tags_1)
+ /sizeof(asn_DEF_RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode.h b/src/ranap/RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode.h
new file mode 100644
index 0000000..bf80588
--- /dev/null
+++ b/src/ranap/RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_H_
+#define _RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode {
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_decipheringKeysEOTD = 0,
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_dedicatedMobileAssistedEOTDAssistanceData = 1,
+ RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_dedicatedMobileBasedEOTDAssistanceData = 2
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode;
+
+/* RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode */
+typedef long RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode;
+asn_struct_free_f RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_free;
+asn_struct_print_f RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_print;
+asn_constr_check_f RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_constraint;
+ber_type_decoder_f RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_decode_ber;
+der_type_encoder_f RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_encode_der;
+xer_type_decoder_f RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_decode_xer;
+xer_type_encoder_f RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_encode_xer;
+per_type_decoder_f RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_decode_uper;
+per_type_encoder_f RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_encode_uper;
+per_type_decoder_f RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_decode_aper;
+per_type_encoder_f RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_LocationRelatedDataRequestTypeSpecificToGERANIuMode_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_LocationRelatedDataResponse.c b/src/ranap/RANAP_LocationRelatedDataResponse.c
new file mode 100644
index 0000000..99e9384
--- /dev/null
+++ b/src/ranap/RANAP_LocationRelatedDataResponse.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_LocationRelatedDataResponse.h"
+
+static int
+memb_locationRelatedDataResponse_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_locationRelatedDataResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_locationRelatedDataResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_locationRelatedDataResponse_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_locationRelatedDataResponse_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_locationRelatedDataResponse_ies_specs_2 = {
+ sizeof(struct locationRelatedDataResponse_ies),
+ offsetof(struct locationRelatedDataResponse_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_locationRelatedDataResponse_ies_2 = {
+ "locationRelatedDataResponse-ies",
+ "locationRelatedDataResponse-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_locationRelatedDataResponse_ies_tags_2,
+ sizeof(asn_DEF_locationRelatedDataResponse_ies_tags_2)
+ /sizeof(asn_DEF_locationRelatedDataResponse_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_locationRelatedDataResponse_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_locationRelatedDataResponse_ies_tags_2)
+ /sizeof(asn_DEF_locationRelatedDataResponse_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_locationRelatedDataResponse_ies_constr_2,
+ asn_MBR_locationRelatedDataResponse_ies_2,
+ 1, /* Single element */
+ &asn_SPC_locationRelatedDataResponse_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_LocationRelatedDataResponse_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_LocationRelatedDataResponse, locationRelatedDataResponse_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_locationRelatedDataResponse_ies_2,
+ memb_locationRelatedDataResponse_ies_constraint_1,
+ &asn_PER_memb_locationRelatedDataResponse_ies_constr_2,
+ 0,
+ "locationRelatedDataResponse-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_LocationRelatedDataResponse_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_LocationRelatedDataResponse_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* locationRelatedDataResponse-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_LocationRelatedDataResponse_specs_1 = {
+ sizeof(struct RANAP_LocationRelatedDataResponse),
+ offsetof(struct RANAP_LocationRelatedDataResponse, _asn_ctx),
+ asn_MAP_RANAP_LocationRelatedDataResponse_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_LocationRelatedDataResponse = {
+ "RANAP_LocationRelatedDataResponse",
+ "RANAP_LocationRelatedDataResponse",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_LocationRelatedDataResponse_tags_1,
+ sizeof(asn_DEF_RANAP_LocationRelatedDataResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_LocationRelatedDataResponse_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_LocationRelatedDataResponse_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_LocationRelatedDataResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_LocationRelatedDataResponse_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_LocationRelatedDataResponse_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_LocationRelatedDataResponse_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_LocationRelatedDataResponse.h b/src/ranap/RANAP_LocationRelatedDataResponse.h
new file mode 100644
index 0000000..f4c57a1
--- /dev/null
+++ b/src/ranap/RANAP_LocationRelatedDataResponse.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_LocationRelatedDataResponse_H_
+#define _RANAP_LocationRelatedDataResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_LocationRelatedDataResponse */
+typedef struct RANAP_LocationRelatedDataResponse {
+ struct locationRelatedDataResponse_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } locationRelatedDataResponse_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_LocationRelatedDataResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_LocationRelatedDataResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_LocationRelatedDataResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_LocationReport.c b/src/ranap/RANAP_LocationReport.c
new file mode 100644
index 0000000..f38b717
--- /dev/null
+++ b/src/ranap/RANAP_LocationReport.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_LocationReport.h"
+
+static int
+memb_locationReport_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_locationReport_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_locationReport_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_locationReport_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_locationReport_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_locationReport_ies_specs_2 = {
+ sizeof(struct locationReport_ies),
+ offsetof(struct locationReport_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_locationReport_ies_2 = {
+ "locationReport-ies",
+ "locationReport-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_locationReport_ies_tags_2,
+ sizeof(asn_DEF_locationReport_ies_tags_2)
+ /sizeof(asn_DEF_locationReport_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_locationReport_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_locationReport_ies_tags_2)
+ /sizeof(asn_DEF_locationReport_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_locationReport_ies_constr_2,
+ asn_MBR_locationReport_ies_2,
+ 1, /* Single element */
+ &asn_SPC_locationReport_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_LocationReport_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_LocationReport, locationReport_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_locationReport_ies_2,
+ memb_locationReport_ies_constraint_1,
+ &asn_PER_memb_locationReport_ies_constr_2,
+ 0,
+ "locationReport-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_LocationReport_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_LocationReport_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* locationReport-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_LocationReport_specs_1 = {
+ sizeof(struct RANAP_LocationReport),
+ offsetof(struct RANAP_LocationReport, _asn_ctx),
+ asn_MAP_RANAP_LocationReport_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_LocationReport = {
+ "RANAP_LocationReport",
+ "RANAP_LocationReport",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_LocationReport_tags_1,
+ sizeof(asn_DEF_RANAP_LocationReport_tags_1)
+ /sizeof(asn_DEF_RANAP_LocationReport_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_LocationReport_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_LocationReport_tags_1)
+ /sizeof(asn_DEF_RANAP_LocationReport_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_LocationReport_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_LocationReport_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_LocationReport.h b/src/ranap/RANAP_LocationReport.h
new file mode 100644
index 0000000..1939351
--- /dev/null
+++ b/src/ranap/RANAP_LocationReport.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_LocationReport_H_
+#define _RANAP_LocationReport_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_LocationReport */
+typedef struct RANAP_LocationReport {
+ struct locationReport_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } locationReport_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_LocationReport_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_LocationReport;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_LocationReport_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_LocationReportingControl.c b/src/ranap/RANAP_LocationReportingControl.c
new file mode 100644
index 0000000..7a65a53
--- /dev/null
+++ b/src/ranap/RANAP_LocationReportingControl.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_LocationReportingControl.h"
+
+static int
+memb_locationReportingControl_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_locationReportingControl_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_locationReportingControl_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_locationReportingControl_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_locationReportingControl_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_locationReportingControl_ies_specs_2 = {
+ sizeof(struct locationReportingControl_ies),
+ offsetof(struct locationReportingControl_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_locationReportingControl_ies_2 = {
+ "locationReportingControl-ies",
+ "locationReportingControl-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_locationReportingControl_ies_tags_2,
+ sizeof(asn_DEF_locationReportingControl_ies_tags_2)
+ /sizeof(asn_DEF_locationReportingControl_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_locationReportingControl_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_locationReportingControl_ies_tags_2)
+ /sizeof(asn_DEF_locationReportingControl_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_locationReportingControl_ies_constr_2,
+ asn_MBR_locationReportingControl_ies_2,
+ 1, /* Single element */
+ &asn_SPC_locationReportingControl_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_LocationReportingControl_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_LocationReportingControl, locationReportingControl_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_locationReportingControl_ies_2,
+ memb_locationReportingControl_ies_constraint_1,
+ &asn_PER_memb_locationReportingControl_ies_constr_2,
+ 0,
+ "locationReportingControl-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_LocationReportingControl_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_LocationReportingControl_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* locationReportingControl-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_LocationReportingControl_specs_1 = {
+ sizeof(struct RANAP_LocationReportingControl),
+ offsetof(struct RANAP_LocationReportingControl, _asn_ctx),
+ asn_MAP_RANAP_LocationReportingControl_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_LocationReportingControl = {
+ "RANAP_LocationReportingControl",
+ "RANAP_LocationReportingControl",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_LocationReportingControl_tags_1,
+ sizeof(asn_DEF_RANAP_LocationReportingControl_tags_1)
+ /sizeof(asn_DEF_RANAP_LocationReportingControl_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_LocationReportingControl_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_LocationReportingControl_tags_1)
+ /sizeof(asn_DEF_RANAP_LocationReportingControl_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_LocationReportingControl_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_LocationReportingControl_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_LocationReportingControl.h b/src/ranap/RANAP_LocationReportingControl.h
new file mode 100644
index 0000000..83e61d7
--- /dev/null
+++ b/src/ranap/RANAP_LocationReportingControl.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_LocationReportingControl_H_
+#define _RANAP_LocationReportingControl_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_LocationReportingControl */
+typedef struct RANAP_LocationReportingControl {
+ struct locationReportingControl_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } locationReportingControl_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_LocationReportingControl_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_LocationReportingControl;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_LocationReportingControl_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_LocationReportingTransferInformation.c b/src/ranap/RANAP_LocationReportingTransferInformation.c
new file mode 100644
index 0000000..3521569
--- /dev/null
+++ b/src/ranap/RANAP_LocationReportingTransferInformation.c
@@ -0,0 +1,173 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_LocationReportingTransferInformation.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_LocationReportingTransferInformation_1[] = {
+ { ATF_POINTER, 12, offsetof(struct RANAP_LocationReportingTransferInformation, reportChangeOfSAI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_ReportChangeOfSAI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "reportChangeOfSAI"
+ },
+ { ATF_POINTER, 11, offsetof(struct RANAP_LocationReportingTransferInformation, periodicReportingIndicator),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PeriodicReportingIndicator,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "periodicReportingIndicator"
+ },
+ { ATF_POINTER, 10, offsetof(struct RANAP_LocationReportingTransferInformation, directReportingIndicator),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_DirectReportingIndicator,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "directReportingIndicator"
+ },
+ { ATF_POINTER, 9, offsetof(struct RANAP_LocationReportingTransferInformation, verticalAccuracyCode),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_VerticalAccuracyCode,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "verticalAccuracyCode"
+ },
+ { ATF_POINTER, 8, offsetof(struct RANAP_LocationReportingTransferInformation, positioningPriorityChangeSAI),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PositioningPriority,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "positioningPriorityChangeSAI"
+ },
+ { ATF_POINTER, 7, offsetof(struct RANAP_LocationReportingTransferInformation, positioningPriorityDirect),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PositioningPriority,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "positioningPriorityDirect"
+ },
+ { ATF_POINTER, 6, offsetof(struct RANAP_LocationReportingTransferInformation, clientTypePeriodic),
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_ClientType,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "clientTypePeriodic"
+ },
+ { ATF_POINTER, 5, offsetof(struct RANAP_LocationReportingTransferInformation, clientTypeDirect),
+ (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_ClientType,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "clientTypeDirect"
+ },
+ { ATF_POINTER, 4, offsetof(struct RANAP_LocationReportingTransferInformation, responseTime),
+ (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_ResponseTime,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "responseTime"
+ },
+ { ATF_POINTER, 3, offsetof(struct RANAP_LocationReportingTransferInformation, includeVelocity),
+ (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IncludeVelocity,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "includeVelocity"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_LocationReportingTransferInformation, periodicLocationInfo),
+ (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PeriodicLocationInfo,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "periodicLocationInfo"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_LocationReportingTransferInformation, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_LocationReportingTransferInformation_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
+static const ber_tlv_tag_t asn_DEF_RANAP_LocationReportingTransferInformation_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_LocationReportingTransferInformation_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* reportChangeOfSAI */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* periodicReportingIndicator */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* directReportingIndicator */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* verticalAccuracyCode */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* positioningPriorityChangeSAI */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* positioningPriorityDirect */
+ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* clientTypePeriodic */
+ { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* clientTypeDirect */
+ { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* responseTime */
+ { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* includeVelocity */
+ { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* periodicLocationInfo */
+ { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_LocationReportingTransferInformation_specs_1 = {
+ sizeof(struct RANAP_LocationReportingTransferInformation),
+ offsetof(struct RANAP_LocationReportingTransferInformation, _asn_ctx),
+ asn_MAP_RANAP_LocationReportingTransferInformation_tag2el_1,
+ 12, /* Count of tags in the map */
+ asn_MAP_RANAP_LocationReportingTransferInformation_oms_1, /* Optional members */
+ 12, 0, /* Root/Additions */
+ 11, /* Start extensions */
+ 13 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_LocationReportingTransferInformation = {
+ "RANAP_LocationReportingTransferInformation",
+ "RANAP_LocationReportingTransferInformation",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_LocationReportingTransferInformation_tags_1,
+ sizeof(asn_DEF_RANAP_LocationReportingTransferInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_LocationReportingTransferInformation_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_LocationReportingTransferInformation_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_LocationReportingTransferInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_LocationReportingTransferInformation_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_LocationReportingTransferInformation_1,
+ 12, /* Elements count */
+ &asn_SPC_RANAP_LocationReportingTransferInformation_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_LocationReportingTransferInformation.h b/src/ranap/RANAP_LocationReportingTransferInformation.h
new file mode 100644
index 0000000..a80e5b2
--- /dev/null
+++ b/src/ranap/RANAP_LocationReportingTransferInformation.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_LocationReportingTransferInformation_H_
+#define _RANAP_LocationReportingTransferInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_ReportChangeOfSAI.h"
+#include "RANAP_PeriodicReportingIndicator.h"
+#include "RANAP_DirectReportingIndicator.h"
+#include "RANAP_VerticalAccuracyCode.h"
+#include "RANAP_PositioningPriority.h"
+#include "RANAP_ClientType.h"
+#include "RANAP_ResponseTime.h"
+#include "RANAP_IncludeVelocity.h"
+#include "RANAP_PeriodicLocationInfo.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_LocationReportingTransferInformation */
+typedef struct RANAP_LocationReportingTransferInformation {
+ RANAP_ReportChangeOfSAI_t *reportChangeOfSAI /* OPTIONAL */;
+ RANAP_PeriodicReportingIndicator_t *periodicReportingIndicator /* OPTIONAL */;
+ RANAP_DirectReportingIndicator_t *directReportingIndicator /* OPTIONAL */;
+ RANAP_VerticalAccuracyCode_t *verticalAccuracyCode /* OPTIONAL */;
+ RANAP_PositioningPriority_t *positioningPriorityChangeSAI /* OPTIONAL */;
+ RANAP_PositioningPriority_t *positioningPriorityDirect /* OPTIONAL */;
+ RANAP_ClientType_t *clientTypePeriodic /* OPTIONAL */;
+ RANAP_ClientType_t *clientTypeDirect /* OPTIONAL */;
+ RANAP_ResponseTime_t *responseTime /* OPTIONAL */;
+ RANAP_IncludeVelocity_t *includeVelocity /* OPTIONAL */;
+ RANAP_PeriodicLocationInfo_t *periodicLocationInfo /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_LocationReportingTransferInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_LocationReportingTransferInformation;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_LocationReportingTransferInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_LoggedMDT.c b/src/ranap/RANAP_LoggedMDT.c
new file mode 100644
index 0000000..9f0ca98
--- /dev/null
+++ b/src/ranap/RANAP_LoggedMDT.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_LoggedMDT.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_LoggedMDT_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_LoggedMDT, loggingInterval),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_LoggingInterval,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "loggingInterval"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_LoggedMDT, loggingDuration),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_LoggingDuration,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "loggingDuration"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_LoggedMDT, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_LoggedMDT_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_LoggedMDT_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_LoggedMDT_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* loggingInterval */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* loggingDuration */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_LoggedMDT_specs_1 = {
+ sizeof(struct RANAP_LoggedMDT),
+ offsetof(struct RANAP_LoggedMDT, _asn_ctx),
+ asn_MAP_RANAP_LoggedMDT_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_LoggedMDT_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_LoggedMDT = {
+ "RANAP_LoggedMDT",
+ "RANAP_LoggedMDT",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_LoggedMDT_tags_1,
+ sizeof(asn_DEF_RANAP_LoggedMDT_tags_1)
+ /sizeof(asn_DEF_RANAP_LoggedMDT_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_LoggedMDT_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_LoggedMDT_tags_1)
+ /sizeof(asn_DEF_RANAP_LoggedMDT_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_LoggedMDT_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_LoggedMDT_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_LoggedMDT.h b/src/ranap/RANAP_LoggedMDT.h
new file mode 100644
index 0000000..05c608f
--- /dev/null
+++ b/src/ranap/RANAP_LoggedMDT.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_LoggedMDT_H_
+#define _RANAP_LoggedMDT_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_LoggingInterval.h"
+#include "RANAP_LoggingDuration.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_LoggedMDT */
+typedef struct RANAP_LoggedMDT {
+ RANAP_LoggingInterval_t loggingInterval;
+ RANAP_LoggingDuration_t loggingDuration;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_LoggedMDT_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_LoggedMDT;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_LoggedMDT_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_LoggingDuration.c b/src/ranap/RANAP_LoggingDuration.c
new file mode 100644
index 0000000..f801806
--- /dev/null
+++ b/src/ranap/RANAP_LoggingDuration.c
@@ -0,0 +1,175 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_LoggingDuration.h"
+
+int
+RANAP_LoggingDuration_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_LoggingDuration_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_LoggingDuration_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_LoggingDuration_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_LoggingDuration_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_LoggingDuration_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_LoggingDuration_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_LoggingDuration_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_LoggingDuration_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_LoggingDuration_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_LoggingDuration_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_LoggingDuration_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_LoggingDuration_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_LoggingDuration_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_LoggingDuration_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_LoggingDuration_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_LoggingDuration_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_LoggingDuration_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_LoggingDuration_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_LoggingDuration_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_LoggingDuration_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_LoggingDuration_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_LoggingDuration_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0l, 5l } /* (0..5,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_LoggingDuration_value2enum_1[] = {
+ { 0, 5, "min10" },
+ { 1, 5, "min20" },
+ { 2, 5, "min40" },
+ { 3, 5, "min60" },
+ { 4, 5, "min90" },
+ { 5, 6, "min120" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_LoggingDuration_enum2value_1[] = {
+ 0, /* min10(0) */
+ 5, /* min120(5) */
+ 1, /* min20(1) */
+ 2, /* min40(2) */
+ 3, /* min60(3) */
+ 4 /* min90(4) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_LoggingDuration_specs_1 = {
+ asn_MAP_RANAP_LoggingDuration_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_LoggingDuration_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_RANAP_LoggingDuration_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_LoggingDuration = {
+ "RANAP_LoggingDuration",
+ "RANAP_LoggingDuration",
+ RANAP_LoggingDuration_free,
+ RANAP_LoggingDuration_print,
+ RANAP_LoggingDuration_constraint,
+ RANAP_LoggingDuration_decode_ber,
+ RANAP_LoggingDuration_encode_der,
+ RANAP_LoggingDuration_decode_xer,
+ RANAP_LoggingDuration_encode_xer,
+ RANAP_LoggingDuration_decode_uper,
+ RANAP_LoggingDuration_encode_uper,
+ RANAP_LoggingDuration_decode_aper,
+ RANAP_LoggingDuration_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_LoggingDuration_tags_1,
+ sizeof(asn_DEF_RANAP_LoggingDuration_tags_1)
+ /sizeof(asn_DEF_RANAP_LoggingDuration_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_LoggingDuration_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_LoggingDuration_tags_1)
+ /sizeof(asn_DEF_RANAP_LoggingDuration_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_LoggingDuration_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_LoggingDuration_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_LoggingDuration.h b/src/ranap/RANAP_LoggingDuration.h
new file mode 100644
index 0000000..90d4509
--- /dev/null
+++ b/src/ranap/RANAP_LoggingDuration.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_LoggingDuration_H_
+#define _RANAP_LoggingDuration_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_LoggingDuration {
+ RANAP_LoggingDuration_min10 = 0,
+ RANAP_LoggingDuration_min20 = 1,
+ RANAP_LoggingDuration_min40 = 2,
+ RANAP_LoggingDuration_min60 = 3,
+ RANAP_LoggingDuration_min90 = 4,
+ RANAP_LoggingDuration_min120 = 5
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_LoggingDuration;
+
+/* RANAP_LoggingDuration */
+typedef long RANAP_LoggingDuration_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_LoggingDuration;
+asn_struct_free_f RANAP_LoggingDuration_free;
+asn_struct_print_f RANAP_LoggingDuration_print;
+asn_constr_check_f RANAP_LoggingDuration_constraint;
+ber_type_decoder_f RANAP_LoggingDuration_decode_ber;
+der_type_encoder_f RANAP_LoggingDuration_encode_der;
+xer_type_decoder_f RANAP_LoggingDuration_decode_xer;
+xer_type_encoder_f RANAP_LoggingDuration_encode_xer;
+per_type_decoder_f RANAP_LoggingDuration_decode_uper;
+per_type_encoder_f RANAP_LoggingDuration_encode_uper;
+per_type_decoder_f RANAP_LoggingDuration_decode_aper;
+per_type_encoder_f RANAP_LoggingDuration_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_LoggingDuration_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_LoggingInterval.c b/src/ranap/RANAP_LoggingInterval.c
new file mode 100644
index 0000000..6b0ddb8
--- /dev/null
+++ b/src/ranap/RANAP_LoggingInterval.c
@@ -0,0 +1,179 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_LoggingInterval.h"
+
+int
+RANAP_LoggingInterval_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_LoggingInterval_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_LoggingInterval_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_LoggingInterval_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_LoggingInterval_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_LoggingInterval_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_LoggingInterval_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_LoggingInterval_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_LoggingInterval_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_LoggingInterval_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_LoggingInterval_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_LoggingInterval_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_LoggingInterval_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_LoggingInterval_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_LoggingInterval_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_LoggingInterval_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_LoggingInterval_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_LoggingInterval_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_LoggingInterval_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_LoggingInterval_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_LoggingInterval_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_LoggingInterval_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_LoggingInterval_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0l, 7l } /* (0..7,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_LoggingInterval_value2enum_1[] = {
+ { 0, 5, "s1d28" },
+ { 1, 5, "s2d56" },
+ { 2, 5, "s5d12" },
+ { 3, 6, "s10d24" },
+ { 4, 6, "s20d48" },
+ { 5, 6, "s30d72" },
+ { 6, 6, "s40d96" },
+ { 7, 6, "s61d44" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_LoggingInterval_enum2value_1[] = {
+ 3, /* s10d24(3) */
+ 0, /* s1d28(0) */
+ 4, /* s20d48(4) */
+ 1, /* s2d56(1) */
+ 5, /* s30d72(5) */
+ 6, /* s40d96(6) */
+ 2, /* s5d12(2) */
+ 7 /* s61d44(7) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_LoggingInterval_specs_1 = {
+ asn_MAP_RANAP_LoggingInterval_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_LoggingInterval_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_RANAP_LoggingInterval_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_LoggingInterval = {
+ "RANAP_LoggingInterval",
+ "RANAP_LoggingInterval",
+ RANAP_LoggingInterval_free,
+ RANAP_LoggingInterval_print,
+ RANAP_LoggingInterval_constraint,
+ RANAP_LoggingInterval_decode_ber,
+ RANAP_LoggingInterval_encode_der,
+ RANAP_LoggingInterval_decode_xer,
+ RANAP_LoggingInterval_encode_xer,
+ RANAP_LoggingInterval_decode_uper,
+ RANAP_LoggingInterval_encode_uper,
+ RANAP_LoggingInterval_decode_aper,
+ RANAP_LoggingInterval_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_LoggingInterval_tags_1,
+ sizeof(asn_DEF_RANAP_LoggingInterval_tags_1)
+ /sizeof(asn_DEF_RANAP_LoggingInterval_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_LoggingInterval_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_LoggingInterval_tags_1)
+ /sizeof(asn_DEF_RANAP_LoggingInterval_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_LoggingInterval_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_LoggingInterval_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_LoggingInterval.h b/src/ranap/RANAP_LoggingInterval.h
new file mode 100644
index 0000000..60ebae5
--- /dev/null
+++ b/src/ranap/RANAP_LoggingInterval.h
@@ -0,0 +1,57 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_LoggingInterval_H_
+#define _RANAP_LoggingInterval_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_LoggingInterval {
+ RANAP_LoggingInterval_s1d28 = 0,
+ RANAP_LoggingInterval_s2d56 = 1,
+ RANAP_LoggingInterval_s5d12 = 2,
+ RANAP_LoggingInterval_s10d24 = 3,
+ RANAP_LoggingInterval_s20d48 = 4,
+ RANAP_LoggingInterval_s30d72 = 5,
+ RANAP_LoggingInterval_s40d96 = 6,
+ RANAP_LoggingInterval_s61d44 = 7
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_LoggingInterval;
+
+/* RANAP_LoggingInterval */
+typedef long RANAP_LoggingInterval_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_LoggingInterval;
+asn_struct_free_f RANAP_LoggingInterval_free;
+asn_struct_print_f RANAP_LoggingInterval_print;
+asn_constr_check_f RANAP_LoggingInterval_constraint;
+ber_type_decoder_f RANAP_LoggingInterval_decode_ber;
+der_type_encoder_f RANAP_LoggingInterval_encode_der;
+xer_type_decoder_f RANAP_LoggingInterval_decode_xer;
+xer_type_encoder_f RANAP_LoggingInterval_encode_xer;
+per_type_decoder_f RANAP_LoggingInterval_decode_uper;
+per_type_encoder_f RANAP_LoggingInterval_encode_uper;
+per_type_decoder_f RANAP_LoggingInterval_decode_aper;
+per_type_encoder_f RANAP_LoggingInterval_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_LoggingInterval_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_M1Report.c b/src/ranap/RANAP_M1Report.c
new file mode 100644
index 0000000..67fa447
--- /dev/null
+++ b/src/ranap/RANAP_M1Report.c
@@ -0,0 +1,72 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_M1Report.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_M1Report_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_M1Report_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_M1Report, choice.periodic),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_MDT_Report_Parameters,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "periodic"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_M1Report, choice.event1F),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Event1F_Parameters,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "event1F"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_M1Report_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* periodic */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* event1F */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_M1Report_specs_1 = {
+ sizeof(struct RANAP_M1Report),
+ offsetof(struct RANAP_M1Report, _asn_ctx),
+ offsetof(struct RANAP_M1Report, present),
+ sizeof(((struct RANAP_M1Report *)0)->present),
+ asn_MAP_RANAP_M1Report_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_M1Report = {
+ "RANAP_M1Report",
+ "RANAP_M1Report",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_M1Report_constr_1,
+ asn_MBR_RANAP_M1Report_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_M1Report_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_M1Report.h b/src/ranap/RANAP_M1Report.h
new file mode 100644
index 0000000..e214312
--- /dev/null
+++ b/src/ranap/RANAP_M1Report.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_M1Report_H_
+#define _RANAP_M1Report_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_MDT-Report-Parameters.h"
+#include "RANAP_Event1F-Parameters.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_M1Report_PR {
+ RANAP_M1Report_PR_NOTHING, /* No components present */
+ RANAP_M1Report_PR_periodic,
+ RANAP_M1Report_PR_event1F,
+ /* Extensions may appear below */
+
+} RANAP_M1Report_PR;
+
+/* RANAP_M1Report */
+typedef struct RANAP_M1Report {
+ RANAP_M1Report_PR present;
+ union RANAP_M1Report_u {
+ RANAP_MDT_Report_Parameters_t periodic;
+ RANAP_Event1F_Parameters_t event1F;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_M1Report_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_M1Report;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_M1Report_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_M2Report.c b/src/ranap/RANAP_M2Report.c
new file mode 100644
index 0000000..768a3c4
--- /dev/null
+++ b/src/ranap/RANAP_M2Report.c
@@ -0,0 +1,72 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_M2Report.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_M2Report_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_M2Report_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_M2Report, choice.periodic),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_MDT_Report_Parameters,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "periodic"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_M2Report, choice.event1I),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Event1I_Parameters,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "event1I"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_M2Report_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* periodic */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* event1I */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_M2Report_specs_1 = {
+ sizeof(struct RANAP_M2Report),
+ offsetof(struct RANAP_M2Report, _asn_ctx),
+ offsetof(struct RANAP_M2Report, present),
+ sizeof(((struct RANAP_M2Report *)0)->present),
+ asn_MAP_RANAP_M2Report_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_M2Report = {
+ "RANAP_M2Report",
+ "RANAP_M2Report",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_M2Report_constr_1,
+ asn_MBR_RANAP_M2Report_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_M2Report_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_M2Report.h b/src/ranap/RANAP_M2Report.h
new file mode 100644
index 0000000..505751f
--- /dev/null
+++ b/src/ranap/RANAP_M2Report.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_M2Report_H_
+#define _RANAP_M2Report_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_MDT-Report-Parameters.h"
+#include "RANAP_Event1I-Parameters.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_M2Report_PR {
+ RANAP_M2Report_PR_NOTHING, /* No components present */
+ RANAP_M2Report_PR_periodic,
+ RANAP_M2Report_PR_event1I,
+ /* Extensions may appear below */
+
+} RANAP_M2Report_PR;
+
+/* RANAP_M2Report */
+typedef struct RANAP_M2Report {
+ RANAP_M2Report_PR present;
+ union RANAP_M2Report_u {
+ RANAP_MDT_Report_Parameters_t periodic;
+ RANAP_Event1I_Parameters_t event1I;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_M2Report_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_M2Report;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_M2Report_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_M4-Collection-Parameters.c b/src/ranap/RANAP_M4-Collection-Parameters.c
new file mode 100644
index 0000000..e964b55
--- /dev/null
+++ b/src/ranap/RANAP_M4-Collection-Parameters.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_M4-Collection-Parameters.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_M4_Collection_Parameters_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_M4_Collection_Parameters, m4_period),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_M4_Period,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "m4-period"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_M4_Collection_Parameters, m4_threshold),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_M4_Threshold,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "m4-threshold"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_M4_Collection_Parameters, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_M4_Collection_Parameters_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_M4_Collection_Parameters_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_M4_Collection_Parameters_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* m4-period */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* m4-threshold */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_M4_Collection_Parameters_specs_1 = {
+ sizeof(struct RANAP_M4_Collection_Parameters),
+ offsetof(struct RANAP_M4_Collection_Parameters, _asn_ctx),
+ asn_MAP_RANAP_M4_Collection_Parameters_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_M4_Collection_Parameters_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_M4_Collection_Parameters = {
+ "RANAP_M4-Collection-Parameters",
+ "RANAP_M4-Collection-Parameters",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_M4_Collection_Parameters_tags_1,
+ sizeof(asn_DEF_RANAP_M4_Collection_Parameters_tags_1)
+ /sizeof(asn_DEF_RANAP_M4_Collection_Parameters_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_M4_Collection_Parameters_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_M4_Collection_Parameters_tags_1)
+ /sizeof(asn_DEF_RANAP_M4_Collection_Parameters_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_M4_Collection_Parameters_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_M4_Collection_Parameters_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_M4-Collection-Parameters.h b/src/ranap/RANAP_M4-Collection-Parameters.h
new file mode 100644
index 0000000..caf8a59
--- /dev/null
+++ b/src/ranap/RANAP_M4-Collection-Parameters.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_M4_Collection_Parameters_H_
+#define _RANAP_M4_Collection_Parameters_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_M4-Period.h"
+#include "RANAP_M4-Threshold.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_M4-Collection-Parameters */
+typedef struct RANAP_M4_Collection_Parameters {
+ RANAP_M4_Period_t m4_period;
+ RANAP_M4_Threshold_t *m4_threshold /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_M4_Collection_Parameters_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_M4_Collection_Parameters;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_M4_Collection_Parameters_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_M4-Period.c b/src/ranap/RANAP_M4-Period.c
new file mode 100644
index 0000000..f3254bf
--- /dev/null
+++ b/src/ranap/RANAP_M4-Period.c
@@ -0,0 +1,179 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_M4-Period.h"
+
+int
+RANAP_M4_Period_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_M4_Period_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_M4_Period_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_M4_Period_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_M4_Period_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_M4_Period_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_M4_Period_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_M4_Period_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_M4_Period_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_M4_Period_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_M4_Period_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_M4_Period_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_M4_Period_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_M4_Period_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_M4_Period_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_M4_Period_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_M4_Period_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_M4_Period_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_M4_Period_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_M4_Period_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_M4_Period_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_M4_Period_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_M4_Period_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0l, 7l } /* (0..7,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_M4_Period_value2enum_1[] = {
+ { 0, 5, "ms100" },
+ { 1, 5, "ms250" },
+ { 2, 5, "ms500" },
+ { 3, 6, "ms1000" },
+ { 4, 6, "ms2000" },
+ { 5, 6, "ms3000" },
+ { 6, 6, "ms4000" },
+ { 7, 6, "ms6000" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_M4_Period_enum2value_1[] = {
+ 0, /* ms100(0) */
+ 3, /* ms1000(3) */
+ 4, /* ms2000(4) */
+ 1, /* ms250(1) */
+ 5, /* ms3000(5) */
+ 6, /* ms4000(6) */
+ 2, /* ms500(2) */
+ 7 /* ms6000(7) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_M4_Period_specs_1 = {
+ asn_MAP_RANAP_M4_Period_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_M4_Period_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_RANAP_M4_Period_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_M4_Period = {
+ "RANAP_M4-Period",
+ "RANAP_M4-Period",
+ RANAP_M4_Period_free,
+ RANAP_M4_Period_print,
+ RANAP_M4_Period_constraint,
+ RANAP_M4_Period_decode_ber,
+ RANAP_M4_Period_encode_der,
+ RANAP_M4_Period_decode_xer,
+ RANAP_M4_Period_encode_xer,
+ RANAP_M4_Period_decode_uper,
+ RANAP_M4_Period_encode_uper,
+ RANAP_M4_Period_decode_aper,
+ RANAP_M4_Period_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_M4_Period_tags_1,
+ sizeof(asn_DEF_RANAP_M4_Period_tags_1)
+ /sizeof(asn_DEF_RANAP_M4_Period_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_M4_Period_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_M4_Period_tags_1)
+ /sizeof(asn_DEF_RANAP_M4_Period_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_M4_Period_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_M4_Period_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_M4-Period.h b/src/ranap/RANAP_M4-Period.h
new file mode 100644
index 0000000..c6b615d
--- /dev/null
+++ b/src/ranap/RANAP_M4-Period.h
@@ -0,0 +1,57 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_M4_Period_H_
+#define _RANAP_M4_Period_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_M4_Period {
+ RANAP_M4_Period_ms100 = 0,
+ RANAP_M4_Period_ms250 = 1,
+ RANAP_M4_Period_ms500 = 2,
+ RANAP_M4_Period_ms1000 = 3,
+ RANAP_M4_Period_ms2000 = 4,
+ RANAP_M4_Period_ms3000 = 5,
+ RANAP_M4_Period_ms4000 = 6,
+ RANAP_M4_Period_ms6000 = 7
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_M4_Period;
+
+/* RANAP_M4-Period */
+typedef long RANAP_M4_Period_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_M4_Period;
+asn_struct_free_f RANAP_M4_Period_free;
+asn_struct_print_f RANAP_M4_Period_print;
+asn_constr_check_f RANAP_M4_Period_constraint;
+ber_type_decoder_f RANAP_M4_Period_decode_ber;
+der_type_encoder_f RANAP_M4_Period_encode_der;
+xer_type_decoder_f RANAP_M4_Period_decode_xer;
+xer_type_encoder_f RANAP_M4_Period_encode_xer;
+per_type_decoder_f RANAP_M4_Period_decode_uper;
+per_type_encoder_f RANAP_M4_Period_encode_uper;
+per_type_decoder_f RANAP_M4_Period_decode_aper;
+per_type_encoder_f RANAP_M4_Period_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_M4_Period_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_M4-Threshold.c b/src/ranap/RANAP_M4-Threshold.c
new file mode 100644
index 0000000..7ec7d4d
--- /dev/null
+++ b/src/ranap/RANAP_M4-Threshold.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_M4-Threshold.h"
+
+int
+RANAP_M4_Threshold_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 31l)) {
+ /* 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 void
+RANAP_M4_Threshold_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_M4_Threshold_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_M4_Threshold_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_M4_Threshold_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_M4_Threshold_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_M4_Threshold_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_M4_Threshold_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_M4_Threshold_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_M4_Threshold_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_M4_Threshold_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_M4_Threshold_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_M4_Threshold_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_M4_Threshold_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_M4_Threshold_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_M4_Threshold_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_M4_Threshold_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_M4_Threshold_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_M4_Threshold_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_M4_Threshold_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_M4_Threshold_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_M4_Threshold_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_M4_Threshold_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 5, 5, 0l, 31l } /* (0..31) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_M4_Threshold_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_M4_Threshold = {
+ "RANAP_M4-Threshold",
+ "RANAP_M4-Threshold",
+ RANAP_M4_Threshold_free,
+ RANAP_M4_Threshold_print,
+ RANAP_M4_Threshold_constraint,
+ RANAP_M4_Threshold_decode_ber,
+ RANAP_M4_Threshold_encode_der,
+ RANAP_M4_Threshold_decode_xer,
+ RANAP_M4_Threshold_encode_xer,
+ RANAP_M4_Threshold_decode_uper,
+ RANAP_M4_Threshold_encode_uper,
+ RANAP_M4_Threshold_decode_aper,
+ RANAP_M4_Threshold_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_M4_Threshold_tags_1,
+ sizeof(asn_DEF_RANAP_M4_Threshold_tags_1)
+ /sizeof(asn_DEF_RANAP_M4_Threshold_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_M4_Threshold_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_M4_Threshold_tags_1)
+ /sizeof(asn_DEF_RANAP_M4_Threshold_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_M4_Threshold_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_M4-Threshold.h b/src/ranap/RANAP_M4-Threshold.h
new file mode 100644
index 0000000..223cf9f
--- /dev/null
+++ b/src/ranap/RANAP_M4-Threshold.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_M4_Threshold_H_
+#define _RANAP_M4_Threshold_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_M4-Threshold */
+typedef long RANAP_M4_Threshold_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_M4_Threshold;
+asn_struct_free_f RANAP_M4_Threshold_free;
+asn_struct_print_f RANAP_M4_Threshold_print;
+asn_constr_check_f RANAP_M4_Threshold_constraint;
+ber_type_decoder_f RANAP_M4_Threshold_decode_ber;
+der_type_encoder_f RANAP_M4_Threshold_encode_der;
+xer_type_decoder_f RANAP_M4_Threshold_decode_xer;
+xer_type_encoder_f RANAP_M4_Threshold_encode_xer;
+per_type_decoder_f RANAP_M4_Threshold_decode_uper;
+per_type_encoder_f RANAP_M4_Threshold_encode_uper;
+per_type_decoder_f RANAP_M4_Threshold_decode_aper;
+per_type_encoder_f RANAP_M4_Threshold_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_M4_Threshold_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_M4Report.c b/src/ranap/RANAP_M4Report.c
new file mode 100644
index 0000000..777c769
--- /dev/null
+++ b/src/ranap/RANAP_M4Report.c
@@ -0,0 +1,72 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_M4Report.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_M4Report_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_M4Report_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_M4Report, choice.all),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NULL,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "all"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_M4Report, choice.m4_collection_parameters),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_M4_Collection_Parameters,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "m4-collection-parameters"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_M4Report_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* all */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* m4-collection-parameters */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_M4Report_specs_1 = {
+ sizeof(struct RANAP_M4Report),
+ offsetof(struct RANAP_M4Report, _asn_ctx),
+ offsetof(struct RANAP_M4Report, present),
+ sizeof(((struct RANAP_M4Report *)0)->present),
+ asn_MAP_RANAP_M4Report_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_M4Report = {
+ "RANAP_M4Report",
+ "RANAP_M4Report",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_M4Report_constr_1,
+ asn_MBR_RANAP_M4Report_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_M4Report_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_M4Report.h b/src/ranap/RANAP_M4Report.h
new file mode 100644
index 0000000..c0ccb06
--- /dev/null
+++ b/src/ranap/RANAP_M4Report.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_M4Report_H_
+#define _RANAP_M4Report_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NULL.h>
+#include "RANAP_M4-Collection-Parameters.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_M4Report_PR {
+ RANAP_M4Report_PR_NOTHING, /* No components present */
+ RANAP_M4Report_PR_all,
+ RANAP_M4Report_PR_m4_collection_parameters,
+ /* Extensions may appear below */
+
+} RANAP_M4Report_PR;
+
+/* RANAP_M4Report */
+typedef struct RANAP_M4Report {
+ RANAP_M4Report_PR present;
+ union RANAP_M4Report_u {
+ NULL_t all;
+ RANAP_M4_Collection_Parameters_t m4_collection_parameters;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_M4Report_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_M4Report;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_M4Report_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_M5-Period.c b/src/ranap/RANAP_M5-Period.c
new file mode 100644
index 0000000..403d645
--- /dev/null
+++ b/src/ranap/RANAP_M5-Period.c
@@ -0,0 +1,179 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_M5-Period.h"
+
+int
+RANAP_M5_Period_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_M5_Period_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_M5_Period_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_M5_Period_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_M5_Period_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_M5_Period_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_M5_Period_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_M5_Period_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_M5_Period_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_M5_Period_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_M5_Period_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_M5_Period_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_M5_Period_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_M5_Period_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_M5_Period_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_M5_Period_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_M5_Period_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_M5_Period_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_M5_Period_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_M5_Period_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_M5_Period_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_M5_Period_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_M5_Period_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0l, 7l } /* (0..7,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_M5_Period_value2enum_1[] = {
+ { 0, 5, "ms100" },
+ { 1, 5, "ms250" },
+ { 2, 5, "ms500" },
+ { 3, 6, "ms1000" },
+ { 4, 6, "ms2000" },
+ { 5, 6, "ms3000" },
+ { 6, 6, "ms4000" },
+ { 7, 6, "ms6000" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_M5_Period_enum2value_1[] = {
+ 0, /* ms100(0) */
+ 3, /* ms1000(3) */
+ 4, /* ms2000(4) */
+ 1, /* ms250(1) */
+ 5, /* ms3000(5) */
+ 6, /* ms4000(6) */
+ 2, /* ms500(2) */
+ 7 /* ms6000(7) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_M5_Period_specs_1 = {
+ asn_MAP_RANAP_M5_Period_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_M5_Period_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_RANAP_M5_Period_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_M5_Period = {
+ "RANAP_M5-Period",
+ "RANAP_M5-Period",
+ RANAP_M5_Period_free,
+ RANAP_M5_Period_print,
+ RANAP_M5_Period_constraint,
+ RANAP_M5_Period_decode_ber,
+ RANAP_M5_Period_encode_der,
+ RANAP_M5_Period_decode_xer,
+ RANAP_M5_Period_encode_xer,
+ RANAP_M5_Period_decode_uper,
+ RANAP_M5_Period_encode_uper,
+ RANAP_M5_Period_decode_aper,
+ RANAP_M5_Period_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_M5_Period_tags_1,
+ sizeof(asn_DEF_RANAP_M5_Period_tags_1)
+ /sizeof(asn_DEF_RANAP_M5_Period_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_M5_Period_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_M5_Period_tags_1)
+ /sizeof(asn_DEF_RANAP_M5_Period_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_M5_Period_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_M5_Period_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_M5-Period.h b/src/ranap/RANAP_M5-Period.h
new file mode 100644
index 0000000..9265658
--- /dev/null
+++ b/src/ranap/RANAP_M5-Period.h
@@ -0,0 +1,57 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_M5_Period_H_
+#define _RANAP_M5_Period_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_M5_Period {
+ RANAP_M5_Period_ms100 = 0,
+ RANAP_M5_Period_ms250 = 1,
+ RANAP_M5_Period_ms500 = 2,
+ RANAP_M5_Period_ms1000 = 3,
+ RANAP_M5_Period_ms2000 = 4,
+ RANAP_M5_Period_ms3000 = 5,
+ RANAP_M5_Period_ms4000 = 6,
+ RANAP_M5_Period_ms6000 = 7
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_M5_Period;
+
+/* RANAP_M5-Period */
+typedef long RANAP_M5_Period_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_M5_Period;
+asn_struct_free_f RANAP_M5_Period_free;
+asn_struct_print_f RANAP_M5_Period_print;
+asn_constr_check_f RANAP_M5_Period_constraint;
+ber_type_decoder_f RANAP_M5_Period_decode_ber;
+der_type_encoder_f RANAP_M5_Period_encode_der;
+xer_type_decoder_f RANAP_M5_Period_decode_xer;
+xer_type_encoder_f RANAP_M5_Period_encode_xer;
+per_type_decoder_f RANAP_M5_Period_decode_uper;
+per_type_encoder_f RANAP_M5_Period_encode_uper;
+per_type_decoder_f RANAP_M5_Period_decode_aper;
+per_type_encoder_f RANAP_M5_Period_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_M5_Period_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_M5Report.c b/src/ranap/RANAP_M5Report.c
new file mode 100644
index 0000000..015aecb
--- /dev/null
+++ b/src/ranap/RANAP_M5Report.c
@@ -0,0 +1,72 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_M5Report.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_M5Report_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_M5Report_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_M5Report, choice.when_available),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NULL,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "when-available"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_M5Report, choice.m5_period),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_M5_Period,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "m5-period"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_M5Report_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* when-available */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* m5-period */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_M5Report_specs_1 = {
+ sizeof(struct RANAP_M5Report),
+ offsetof(struct RANAP_M5Report, _asn_ctx),
+ offsetof(struct RANAP_M5Report, present),
+ sizeof(((struct RANAP_M5Report *)0)->present),
+ asn_MAP_RANAP_M5Report_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_M5Report = {
+ "RANAP_M5Report",
+ "RANAP_M5Report",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_M5Report_constr_1,
+ asn_MBR_RANAP_M5Report_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_M5Report_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_M5Report.h b/src/ranap/RANAP_M5Report.h
new file mode 100644
index 0000000..9e3e379
--- /dev/null
+++ b/src/ranap/RANAP_M5Report.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_M5Report_H_
+#define _RANAP_M5Report_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NULL.h>
+#include "RANAP_M5-Period.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_M5Report_PR {
+ RANAP_M5Report_PR_NOTHING, /* No components present */
+ RANAP_M5Report_PR_when_available,
+ RANAP_M5Report_PR_m5_period,
+ /* Extensions may appear below */
+
+} RANAP_M5Report_PR;
+
+/* RANAP_M5Report */
+typedef struct RANAP_M5Report {
+ RANAP_M5Report_PR present;
+ union RANAP_M5Report_u {
+ NULL_t when_available;
+ RANAP_M5_Period_t m5_period;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_M5Report_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_M5Report;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_M5Report_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_M6-Period.c b/src/ranap/RANAP_M6-Period.c
new file mode 100644
index 0000000..56b49d2
--- /dev/null
+++ b/src/ranap/RANAP_M6-Period.c
@@ -0,0 +1,189 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_M6-Period.h"
+
+int
+RANAP_M6_Period_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_M6_Period_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_M6_Period_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_M6_Period_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_M6_Period_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_M6_Period_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_M6_Period_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_M6_Period_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_M6_Period_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_M6_Period_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_M6_Period_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_M6_Period_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_M6_Period_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_M6_Period_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_M6_Period_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_M6_Period_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_M6_Period_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_M6_Period_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_M6_Period_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_M6_Period_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_M6_Period_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_M6_Period_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_M6_Period_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0l, 12l } /* (0..12,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_M6_Period_value2enum_1[] = {
+ { 0, 6, "ms1000" },
+ { 1, 6, "ms2000" },
+ { 2, 6, "ms3000" },
+ { 3, 6, "ms4000" },
+ { 4, 6, "ms6000" },
+ { 5, 6, "ms8000" },
+ { 6, 7, "ms12000" },
+ { 7, 7, "ms16000" },
+ { 8, 7, "ms20000" },
+ { 9, 7, "ms24000" },
+ { 10, 7, "ms28000" },
+ { 11, 7, "ms32000" },
+ { 12, 7, "ms64000" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_M6_Period_enum2value_1[] = {
+ 0, /* ms1000(0) */
+ 6, /* ms12000(6) */
+ 7, /* ms16000(7) */
+ 1, /* ms2000(1) */
+ 8, /* ms20000(8) */
+ 9, /* ms24000(9) */
+ 10, /* ms28000(10) */
+ 2, /* ms3000(2) */
+ 11, /* ms32000(11) */
+ 3, /* ms4000(3) */
+ 4, /* ms6000(4) */
+ 12, /* ms64000(12) */
+ 5 /* ms8000(5) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_M6_Period_specs_1 = {
+ asn_MAP_RANAP_M6_Period_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_M6_Period_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_RANAP_M6_Period_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_M6_Period = {
+ "RANAP_M6-Period",
+ "RANAP_M6-Period",
+ RANAP_M6_Period_free,
+ RANAP_M6_Period_print,
+ RANAP_M6_Period_constraint,
+ RANAP_M6_Period_decode_ber,
+ RANAP_M6_Period_encode_der,
+ RANAP_M6_Period_decode_xer,
+ RANAP_M6_Period_encode_xer,
+ RANAP_M6_Period_decode_uper,
+ RANAP_M6_Period_encode_uper,
+ RANAP_M6_Period_decode_aper,
+ RANAP_M6_Period_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_M6_Period_tags_1,
+ sizeof(asn_DEF_RANAP_M6_Period_tags_1)
+ /sizeof(asn_DEF_RANAP_M6_Period_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_M6_Period_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_M6_Period_tags_1)
+ /sizeof(asn_DEF_RANAP_M6_Period_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_M6_Period_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_M6_Period_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_M6-Period.h b/src/ranap/RANAP_M6-Period.h
new file mode 100644
index 0000000..90c8a84
--- /dev/null
+++ b/src/ranap/RANAP_M6-Period.h
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_M6_Period_H_
+#define _RANAP_M6_Period_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_M6_Period {
+ RANAP_M6_Period_ms1000 = 0,
+ RANAP_M6_Period_ms2000 = 1,
+ RANAP_M6_Period_ms3000 = 2,
+ RANAP_M6_Period_ms4000 = 3,
+ RANAP_M6_Period_ms6000 = 4,
+ RANAP_M6_Period_ms8000 = 5,
+ RANAP_M6_Period_ms12000 = 6,
+ RANAP_M6_Period_ms16000 = 7,
+ RANAP_M6_Period_ms20000 = 8,
+ RANAP_M6_Period_ms24000 = 9,
+ RANAP_M6_Period_ms28000 = 10,
+ RANAP_M6_Period_ms32000 = 11,
+ RANAP_M6_Period_ms64000 = 12
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_M6_Period;
+
+/* RANAP_M6-Period */
+typedef long RANAP_M6_Period_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_M6_Period;
+asn_struct_free_f RANAP_M6_Period_free;
+asn_struct_print_f RANAP_M6_Period_print;
+asn_constr_check_f RANAP_M6_Period_constraint;
+ber_type_decoder_f RANAP_M6_Period_decode_ber;
+der_type_encoder_f RANAP_M6_Period_encode_der;
+xer_type_decoder_f RANAP_M6_Period_decode_xer;
+xer_type_encoder_f RANAP_M6_Period_encode_xer;
+per_type_decoder_f RANAP_M6_Period_decode_uper;
+per_type_encoder_f RANAP_M6_Period_encode_uper;
+per_type_decoder_f RANAP_M6_Period_decode_aper;
+per_type_encoder_f RANAP_M6_Period_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_M6_Period_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_M6Report.c b/src/ranap/RANAP_M6Report.c
new file mode 100644
index 0000000..7e8fc65
--- /dev/null
+++ b/src/ranap/RANAP_M6Report.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_M6Report.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_M6Report_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_M6Report, m6_period),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_M6_Period,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "m6-period"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_M6Report, m6_links_to_log),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Links_to_log,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "m6-links-to-log"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_M6Report, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_M6Report_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_M6Report_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_M6Report_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* m6-period */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* m6-links-to-log */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_M6Report_specs_1 = {
+ sizeof(struct RANAP_M6Report),
+ offsetof(struct RANAP_M6Report, _asn_ctx),
+ asn_MAP_RANAP_M6Report_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_M6Report_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_M6Report = {
+ "RANAP_M6Report",
+ "RANAP_M6Report",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_M6Report_tags_1,
+ sizeof(asn_DEF_RANAP_M6Report_tags_1)
+ /sizeof(asn_DEF_RANAP_M6Report_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_M6Report_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_M6Report_tags_1)
+ /sizeof(asn_DEF_RANAP_M6Report_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_M6Report_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_M6Report_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_M6Report.h b/src/ranap/RANAP_M6Report.h
new file mode 100644
index 0000000..68dc7c5
--- /dev/null
+++ b/src/ranap/RANAP_M6Report.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_M6Report_H_
+#define _RANAP_M6Report_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_M6-Period.h"
+#include "RANAP_Links-to-log.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_M6Report */
+typedef struct RANAP_M6Report {
+ RANAP_M6_Period_t m6_period;
+ RANAP_Links_to_log_t m6_links_to_log;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_M6Report_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_M6Report;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_M6Report_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_M7-Period.c b/src/ranap/RANAP_M7-Period.c
new file mode 100644
index 0000000..6955d94
--- /dev/null
+++ b/src/ranap/RANAP_M7-Period.c
@@ -0,0 +1,189 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_M7-Period.h"
+
+int
+RANAP_M7_Period_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_M7_Period_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_M7_Period_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_M7_Period_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_M7_Period_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_M7_Period_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_M7_Period_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_M7_Period_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_M7_Period_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_M7_Period_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_M7_Period_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_M7_Period_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_M7_Period_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_M7_Period_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_M7_Period_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_M7_Period_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_M7_Period_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_M7_Period_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_M7_Period_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_M7_Period_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_M7_Period_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_M7_Period_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_M7_Period_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0l, 12l } /* (0..12,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_M7_Period_value2enum_1[] = {
+ { 0, 6, "ms1000" },
+ { 1, 6, "ms2000" },
+ { 2, 6, "ms3000" },
+ { 3, 6, "ms4000" },
+ { 4, 6, "ms6000" },
+ { 5, 6, "ms8000" },
+ { 6, 7, "ms12000" },
+ { 7, 7, "ms16000" },
+ { 8, 7, "ms20000" },
+ { 9, 7, "ms24000" },
+ { 10, 7, "ms28000" },
+ { 11, 7, "ms32000" },
+ { 12, 7, "ms64000" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_M7_Period_enum2value_1[] = {
+ 0, /* ms1000(0) */
+ 6, /* ms12000(6) */
+ 7, /* ms16000(7) */
+ 1, /* ms2000(1) */
+ 8, /* ms20000(8) */
+ 9, /* ms24000(9) */
+ 10, /* ms28000(10) */
+ 2, /* ms3000(2) */
+ 11, /* ms32000(11) */
+ 3, /* ms4000(3) */
+ 4, /* ms6000(4) */
+ 12, /* ms64000(12) */
+ 5 /* ms8000(5) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_M7_Period_specs_1 = {
+ asn_MAP_RANAP_M7_Period_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_M7_Period_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_RANAP_M7_Period_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_M7_Period = {
+ "RANAP_M7-Period",
+ "RANAP_M7-Period",
+ RANAP_M7_Period_free,
+ RANAP_M7_Period_print,
+ RANAP_M7_Period_constraint,
+ RANAP_M7_Period_decode_ber,
+ RANAP_M7_Period_encode_der,
+ RANAP_M7_Period_decode_xer,
+ RANAP_M7_Period_encode_xer,
+ RANAP_M7_Period_decode_uper,
+ RANAP_M7_Period_encode_uper,
+ RANAP_M7_Period_decode_aper,
+ RANAP_M7_Period_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_M7_Period_tags_1,
+ sizeof(asn_DEF_RANAP_M7_Period_tags_1)
+ /sizeof(asn_DEF_RANAP_M7_Period_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_M7_Period_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_M7_Period_tags_1)
+ /sizeof(asn_DEF_RANAP_M7_Period_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_M7_Period_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_M7_Period_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_M7-Period.h b/src/ranap/RANAP_M7-Period.h
new file mode 100644
index 0000000..3fcf0aa
--- /dev/null
+++ b/src/ranap/RANAP_M7-Period.h
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_M7_Period_H_
+#define _RANAP_M7_Period_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_M7_Period {
+ RANAP_M7_Period_ms1000 = 0,
+ RANAP_M7_Period_ms2000 = 1,
+ RANAP_M7_Period_ms3000 = 2,
+ RANAP_M7_Period_ms4000 = 3,
+ RANAP_M7_Period_ms6000 = 4,
+ RANAP_M7_Period_ms8000 = 5,
+ RANAP_M7_Period_ms12000 = 6,
+ RANAP_M7_Period_ms16000 = 7,
+ RANAP_M7_Period_ms20000 = 8,
+ RANAP_M7_Period_ms24000 = 9,
+ RANAP_M7_Period_ms28000 = 10,
+ RANAP_M7_Period_ms32000 = 11,
+ RANAP_M7_Period_ms64000 = 12
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_M7_Period;
+
+/* RANAP_M7-Period */
+typedef long RANAP_M7_Period_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_M7_Period;
+asn_struct_free_f RANAP_M7_Period_free;
+asn_struct_print_f RANAP_M7_Period_print;
+asn_constr_check_f RANAP_M7_Period_constraint;
+ber_type_decoder_f RANAP_M7_Period_decode_ber;
+der_type_encoder_f RANAP_M7_Period_encode_der;
+xer_type_decoder_f RANAP_M7_Period_decode_xer;
+xer_type_encoder_f RANAP_M7_Period_encode_xer;
+per_type_decoder_f RANAP_M7_Period_decode_uper;
+per_type_encoder_f RANAP_M7_Period_encode_uper;
+per_type_decoder_f RANAP_M7_Period_decode_aper;
+per_type_encoder_f RANAP_M7_Period_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_M7_Period_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_M7Report.c b/src/ranap/RANAP_M7Report.c
new file mode 100644
index 0000000..496c709
--- /dev/null
+++ b/src/ranap/RANAP_M7Report.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_M7Report.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_M7Report_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_M7Report, m7_period),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_M7_Period,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "m7-period"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_M7Report, m7_links_to_log),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Links_to_log,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "m7-links-to-log"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_M7Report, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_M7Report_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_M7Report_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_M7Report_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* m7-period */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* m7-links-to-log */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_M7Report_specs_1 = {
+ sizeof(struct RANAP_M7Report),
+ offsetof(struct RANAP_M7Report, _asn_ctx),
+ asn_MAP_RANAP_M7Report_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_M7Report_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_M7Report = {
+ "RANAP_M7Report",
+ "RANAP_M7Report",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_M7Report_tags_1,
+ sizeof(asn_DEF_RANAP_M7Report_tags_1)
+ /sizeof(asn_DEF_RANAP_M7Report_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_M7Report_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_M7Report_tags_1)
+ /sizeof(asn_DEF_RANAP_M7Report_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_M7Report_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_M7Report_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_M7Report.h b/src/ranap/RANAP_M7Report.h
new file mode 100644
index 0000000..1fe8697
--- /dev/null
+++ b/src/ranap/RANAP_M7Report.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_M7Report_H_
+#define _RANAP_M7Report_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_M7-Period.h"
+#include "RANAP_Links-to-log.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_M7Report */
+typedef struct RANAP_M7Report {
+ RANAP_M7_Period_t m7_period;
+ RANAP_Links_to_log_t m7_links_to_log;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_M7Report_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_M7Report;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_M7Report_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMS-PTP-RAB-ID.c b/src/ranap/RANAP_MBMS-PTP-RAB-ID.c
new file mode 100644
index 0000000..8962aa9
--- /dev/null
+++ b/src/ranap/RANAP_MBMS-PTP-RAB-ID.c
@@ -0,0 +1,171 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MBMS-PTP-RAB-ID.h"
+
+int
+RANAP_MBMS_PTP_RAB_ID_constraint(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 == 8l)) {
+ /* 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 void
+RANAP_MBMS_PTP_RAB_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_BIT_STRING.free_struct;
+ td->print_struct = asn_DEF_BIT_STRING.print_struct;
+ td->check_constraints = asn_DEF_BIT_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_BIT_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_BIT_STRING.per_constraints;
+ td->elements = asn_DEF_BIT_STRING.elements;
+ td->elements_count = asn_DEF_BIT_STRING.elements_count;
+ td->specifics = asn_DEF_BIT_STRING.specifics;
+}
+
+void
+RANAP_MBMS_PTP_RAB_ID_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_MBMS_PTP_RAB_ID_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_MBMS_PTP_RAB_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMS_PTP_RAB_ID_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMS_PTP_RAB_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_MBMS_PTP_RAB_ID_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_MBMS_PTP_RAB_ID_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMS_PTP_RAB_ID_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMS_PTP_RAB_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_MBMS_PTP_RAB_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_MBMS_PTP_RAB_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMS_PTP_RAB_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMS_PTP_RAB_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MBMS_PTP_RAB_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_MBMS_PTP_RAB_ID_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MBMS_PTP_RAB_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_MBMS_PTP_RAB_ID_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MBMS_PTP_RAB_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_MBMS_PTP_RAB_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MBMS_PTP_RAB_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_MBMS_PTP_RAB_ID_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 8l, 8l } /* (SIZE(8..8)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMS_PTP_RAB_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMS_PTP_RAB_ID = {
+ "RANAP_MBMS-PTP-RAB-ID",
+ "RANAP_MBMS-PTP-RAB-ID",
+ RANAP_MBMS_PTP_RAB_ID_free,
+ RANAP_MBMS_PTP_RAB_ID_print,
+ RANAP_MBMS_PTP_RAB_ID_constraint,
+ RANAP_MBMS_PTP_RAB_ID_decode_ber,
+ RANAP_MBMS_PTP_RAB_ID_encode_der,
+ RANAP_MBMS_PTP_RAB_ID_decode_xer,
+ RANAP_MBMS_PTP_RAB_ID_encode_xer,
+ RANAP_MBMS_PTP_RAB_ID_decode_uper,
+ RANAP_MBMS_PTP_RAB_ID_encode_uper,
+ RANAP_MBMS_PTP_RAB_ID_decode_aper,
+ RANAP_MBMS_PTP_RAB_ID_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMS_PTP_RAB_ID_tags_1,
+ sizeof(asn_DEF_RANAP_MBMS_PTP_RAB_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMS_PTP_RAB_ID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMS_PTP_RAB_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMS_PTP_RAB_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMS_PTP_RAB_ID_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_MBMS_PTP_RAB_ID_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_MBMS-PTP-RAB-ID.h b/src/ranap/RANAP_MBMS-PTP-RAB-ID.h
new file mode 100644
index 0000000..cbc2654
--- /dev/null
+++ b/src/ranap/RANAP_MBMS-PTP-RAB-ID.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MBMS_PTP_RAB_ID_H_
+#define _RANAP_MBMS_PTP_RAB_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMS-PTP-RAB-ID */
+typedef BIT_STRING_t RANAP_MBMS_PTP_RAB_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMS_PTP_RAB_ID;
+asn_struct_free_f RANAP_MBMS_PTP_RAB_ID_free;
+asn_struct_print_f RANAP_MBMS_PTP_RAB_ID_print;
+asn_constr_check_f RANAP_MBMS_PTP_RAB_ID_constraint;
+ber_type_decoder_f RANAP_MBMS_PTP_RAB_ID_decode_ber;
+der_type_encoder_f RANAP_MBMS_PTP_RAB_ID_encode_der;
+xer_type_decoder_f RANAP_MBMS_PTP_RAB_ID_decode_xer;
+xer_type_encoder_f RANAP_MBMS_PTP_RAB_ID_encode_xer;
+per_type_decoder_f RANAP_MBMS_PTP_RAB_ID_decode_uper;
+per_type_encoder_f RANAP_MBMS_PTP_RAB_ID_encode_uper;
+per_type_decoder_f RANAP_MBMS_PTP_RAB_ID_decode_aper;
+per_type_encoder_f RANAP_MBMS_PTP_RAB_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMS_PTP_RAB_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSBearerServiceType.c b/src/ranap/RANAP_MBMSBearerServiceType.c
new file mode 100644
index 0000000..e6128f5
--- /dev/null
+++ b/src/ranap/RANAP_MBMSBearerServiceType.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MBMSBearerServiceType.h"
+
+int
+RANAP_MBMSBearerServiceType_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_MBMSBearerServiceType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_MBMSBearerServiceType_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_MBMSBearerServiceType_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_MBMSBearerServiceType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSBearerServiceType_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSBearerServiceType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_MBMSBearerServiceType_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_MBMSBearerServiceType_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSBearerServiceType_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSBearerServiceType_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_MBMSBearerServiceType_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_MBMSBearerServiceType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSBearerServiceType_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSBearerServiceType_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MBMSBearerServiceType_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_MBMSBearerServiceType_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MBMSBearerServiceType_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_MBMSBearerServiceType_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MBMSBearerServiceType_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_MBMSBearerServiceType_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MBMSBearerServiceType_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_MBMSBearerServiceType_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_MBMSBearerServiceType_value2enum_1[] = {
+ { 0, 9, "multicast" },
+ { 1, 9, "broadcast" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_MBMSBearerServiceType_enum2value_1[] = {
+ 1, /* broadcast(1) */
+ 0 /* multicast(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_MBMSBearerServiceType_specs_1 = {
+ asn_MAP_RANAP_MBMSBearerServiceType_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_MBMSBearerServiceType_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_RANAP_MBMSBearerServiceType_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSBearerServiceType = {
+ "RANAP_MBMSBearerServiceType",
+ "RANAP_MBMSBearerServiceType",
+ RANAP_MBMSBearerServiceType_free,
+ RANAP_MBMSBearerServiceType_print,
+ RANAP_MBMSBearerServiceType_constraint,
+ RANAP_MBMSBearerServiceType_decode_ber,
+ RANAP_MBMSBearerServiceType_encode_der,
+ RANAP_MBMSBearerServiceType_decode_xer,
+ RANAP_MBMSBearerServiceType_encode_xer,
+ RANAP_MBMSBearerServiceType_decode_uper,
+ RANAP_MBMSBearerServiceType_encode_uper,
+ RANAP_MBMSBearerServiceType_decode_aper,
+ RANAP_MBMSBearerServiceType_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSBearerServiceType_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSBearerServiceType_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSBearerServiceType_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSBearerServiceType_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSBearerServiceType_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSBearerServiceType_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_MBMSBearerServiceType_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_MBMSBearerServiceType_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSBearerServiceType.h b/src/ranap/RANAP_MBMSBearerServiceType.h
new file mode 100644
index 0000000..03f32f3
--- /dev/null
+++ b/src/ranap/RANAP_MBMSBearerServiceType.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MBMSBearerServiceType_H_
+#define _RANAP_MBMSBearerServiceType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_MBMSBearerServiceType {
+ RANAP_MBMSBearerServiceType_multicast = 0,
+ RANAP_MBMSBearerServiceType_broadcast = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_MBMSBearerServiceType;
+
+/* RANAP_MBMSBearerServiceType */
+typedef long RANAP_MBMSBearerServiceType_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSBearerServiceType;
+asn_struct_free_f RANAP_MBMSBearerServiceType_free;
+asn_struct_print_f RANAP_MBMSBearerServiceType_print;
+asn_constr_check_f RANAP_MBMSBearerServiceType_constraint;
+ber_type_decoder_f RANAP_MBMSBearerServiceType_decode_ber;
+der_type_encoder_f RANAP_MBMSBearerServiceType_encode_der;
+xer_type_decoder_f RANAP_MBMSBearerServiceType_decode_xer;
+xer_type_encoder_f RANAP_MBMSBearerServiceType_encode_xer;
+per_type_decoder_f RANAP_MBMSBearerServiceType_decode_uper;
+per_type_encoder_f RANAP_MBMSBearerServiceType_encode_uper;
+per_type_decoder_f RANAP_MBMSBearerServiceType_decode_aper;
+per_type_encoder_f RANAP_MBMSBearerServiceType_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSBearerServiceType_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSCNDe-Registration.c b/src/ranap/RANAP_MBMSCNDe-Registration.c
new file mode 100644
index 0000000..ec35a23
--- /dev/null
+++ b/src/ranap/RANAP_MBMSCNDe-Registration.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MBMSCNDe-Registration.h"
+
+int
+RANAP_MBMSCNDe_Registration_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_MBMSCNDe_Registration_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_MBMSCNDe_Registration_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_MBMSCNDe_Registration_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_MBMSCNDe_Registration_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSCNDe_Registration_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSCNDe_Registration_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_MBMSCNDe_Registration_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_MBMSCNDe_Registration_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSCNDe_Registration_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSCNDe_Registration_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_MBMSCNDe_Registration_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_MBMSCNDe_Registration_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSCNDe_Registration_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSCNDe_Registration_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MBMSCNDe_Registration_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_MBMSCNDe_Registration_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MBMSCNDe_Registration_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_MBMSCNDe_Registration_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MBMSCNDe_Registration_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_MBMSCNDe_Registration_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MBMSCNDe_Registration_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_MBMSCNDe_Registration_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_MBMSCNDe_Registration_value2enum_1[] = {
+ { 0, 17, "normalsessionstop" },
+ { 1, 10, "deregister" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_MBMSCNDe_Registration_enum2value_1[] = {
+ 1, /* deregister(1) */
+ 0 /* normalsessionstop(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_MBMSCNDe_Registration_specs_1 = {
+ asn_MAP_RANAP_MBMSCNDe_Registration_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_MBMSCNDe_Registration_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_RANAP_MBMSCNDe_Registration_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSCNDe_Registration = {
+ "RANAP_MBMSCNDe-Registration",
+ "RANAP_MBMSCNDe-Registration",
+ RANAP_MBMSCNDe_Registration_free,
+ RANAP_MBMSCNDe_Registration_print,
+ RANAP_MBMSCNDe_Registration_constraint,
+ RANAP_MBMSCNDe_Registration_decode_ber,
+ RANAP_MBMSCNDe_Registration_encode_der,
+ RANAP_MBMSCNDe_Registration_decode_xer,
+ RANAP_MBMSCNDe_Registration_encode_xer,
+ RANAP_MBMSCNDe_Registration_decode_uper,
+ RANAP_MBMSCNDe_Registration_encode_uper,
+ RANAP_MBMSCNDe_Registration_decode_aper,
+ RANAP_MBMSCNDe_Registration_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSCNDe_Registration_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSCNDe_Registration_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSCNDe_Registration_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSCNDe_Registration_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSCNDe_Registration_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSCNDe_Registration_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_MBMSCNDe_Registration_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_MBMSCNDe_Registration_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSCNDe-Registration.h b/src/ranap/RANAP_MBMSCNDe-Registration.h
new file mode 100644
index 0000000..793e2f7
--- /dev/null
+++ b/src/ranap/RANAP_MBMSCNDe-Registration.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MBMSCNDe_Registration_H_
+#define _RANAP_MBMSCNDe_Registration_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_MBMSCNDe_Registration {
+ RANAP_MBMSCNDe_Registration_normalsessionstop = 0,
+ RANAP_MBMSCNDe_Registration_deregister = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_MBMSCNDe_Registration;
+
+/* RANAP_MBMSCNDe-Registration */
+typedef long RANAP_MBMSCNDe_Registration_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSCNDe_Registration;
+asn_struct_free_f RANAP_MBMSCNDe_Registration_free;
+asn_struct_print_f RANAP_MBMSCNDe_Registration_print;
+asn_constr_check_f RANAP_MBMSCNDe_Registration_constraint;
+ber_type_decoder_f RANAP_MBMSCNDe_Registration_decode_ber;
+der_type_encoder_f RANAP_MBMSCNDe_Registration_encode_der;
+xer_type_decoder_f RANAP_MBMSCNDe_Registration_decode_xer;
+xer_type_encoder_f RANAP_MBMSCNDe_Registration_encode_xer;
+per_type_decoder_f RANAP_MBMSCNDe_Registration_decode_uper;
+per_type_encoder_f RANAP_MBMSCNDe_Registration_encode_uper;
+per_type_decoder_f RANAP_MBMSCNDe_Registration_decode_aper;
+per_type_encoder_f RANAP_MBMSCNDe_Registration_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSCNDe_Registration_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSCNDe-RegistrationRequest.c b/src/ranap/RANAP_MBMSCNDe-RegistrationRequest.c
new file mode 100644
index 0000000..4abe8f3
--- /dev/null
+++ b/src/ranap/RANAP_MBMSCNDe-RegistrationRequest.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_MBMSCNDe-RegistrationRequest.h"
+
+static int
+memb_mBMSCNDe_RegistrationRequest_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_mBMSCNDe_RegistrationRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_mBMSCNDe_RegistrationRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_mBMSCNDe_RegistrationRequest_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_mBMSCNDe_RegistrationRequest_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_mBMSCNDe_RegistrationRequest_ies_specs_2 = {
+ sizeof(struct mBMSCNDe_RegistrationRequest_ies),
+ offsetof(struct mBMSCNDe_RegistrationRequest_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_mBMSCNDe_RegistrationRequest_ies_2 = {
+ "mBMSCNDe-RegistrationRequest-ies",
+ "mBMSCNDe-RegistrationRequest-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_mBMSCNDe_RegistrationRequest_ies_tags_2,
+ sizeof(asn_DEF_mBMSCNDe_RegistrationRequest_ies_tags_2)
+ /sizeof(asn_DEF_mBMSCNDe_RegistrationRequest_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_mBMSCNDe_RegistrationRequest_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_mBMSCNDe_RegistrationRequest_ies_tags_2)
+ /sizeof(asn_DEF_mBMSCNDe_RegistrationRequest_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_mBMSCNDe_RegistrationRequest_ies_constr_2,
+ asn_MBR_mBMSCNDe_RegistrationRequest_ies_2,
+ 1, /* Single element */
+ &asn_SPC_mBMSCNDe_RegistrationRequest_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_MBMSCNDe_RegistrationRequest_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MBMSCNDe_RegistrationRequest, mBMSCNDe_RegistrationRequest_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_mBMSCNDe_RegistrationRequest_ies_2,
+ memb_mBMSCNDe_RegistrationRequest_ies_constraint_1,
+ &asn_PER_memb_mBMSCNDe_RegistrationRequest_ies_constr_2,
+ 0,
+ "mBMSCNDe-RegistrationRequest-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSCNDe_RegistrationRequest_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MBMSCNDe_RegistrationRequest_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* mBMSCNDe-RegistrationRequest-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_MBMSCNDe_RegistrationRequest_specs_1 = {
+ sizeof(struct RANAP_MBMSCNDe_RegistrationRequest),
+ offsetof(struct RANAP_MBMSCNDe_RegistrationRequest, _asn_ctx),
+ asn_MAP_RANAP_MBMSCNDe_RegistrationRequest_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSCNDe_RegistrationRequest = {
+ "RANAP_MBMSCNDe-RegistrationRequest",
+ "RANAP_MBMSCNDe-RegistrationRequest",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSCNDe_RegistrationRequest_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSCNDe_RegistrationRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSCNDe_RegistrationRequest_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSCNDe_RegistrationRequest_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSCNDe_RegistrationRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSCNDe_RegistrationRequest_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_MBMSCNDe_RegistrationRequest_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_MBMSCNDe_RegistrationRequest_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSCNDe-RegistrationRequest.h b/src/ranap/RANAP_MBMSCNDe-RegistrationRequest.h
new file mode 100644
index 0000000..efe34e0
--- /dev/null
+++ b/src/ranap/RANAP_MBMSCNDe-RegistrationRequest.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_MBMSCNDe_RegistrationRequest_H_
+#define _RANAP_MBMSCNDe_RegistrationRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSCNDe-RegistrationRequest */
+typedef struct RANAP_MBMSCNDe_RegistrationRequest {
+ struct mBMSCNDe_RegistrationRequest_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } mBMSCNDe_RegistrationRequest_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MBMSCNDe_RegistrationRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSCNDe_RegistrationRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSCNDe_RegistrationRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSCNDe-RegistrationResponse.c b/src/ranap/RANAP_MBMSCNDe-RegistrationResponse.c
new file mode 100644
index 0000000..5bdbe6b
--- /dev/null
+++ b/src/ranap/RANAP_MBMSCNDe-RegistrationResponse.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_MBMSCNDe-RegistrationResponse.h"
+
+static int
+memb_mBMSCNDe_RegistrationResponse_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_mBMSCNDe_RegistrationResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_mBMSCNDe_RegistrationResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_mBMSCNDe_RegistrationResponse_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_mBMSCNDe_RegistrationResponse_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_mBMSCNDe_RegistrationResponse_ies_specs_2 = {
+ sizeof(struct mBMSCNDe_RegistrationResponse_ies),
+ offsetof(struct mBMSCNDe_RegistrationResponse_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_mBMSCNDe_RegistrationResponse_ies_2 = {
+ "mBMSCNDe-RegistrationResponse-ies",
+ "mBMSCNDe-RegistrationResponse-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_mBMSCNDe_RegistrationResponse_ies_tags_2,
+ sizeof(asn_DEF_mBMSCNDe_RegistrationResponse_ies_tags_2)
+ /sizeof(asn_DEF_mBMSCNDe_RegistrationResponse_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_mBMSCNDe_RegistrationResponse_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_mBMSCNDe_RegistrationResponse_ies_tags_2)
+ /sizeof(asn_DEF_mBMSCNDe_RegistrationResponse_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_mBMSCNDe_RegistrationResponse_ies_constr_2,
+ asn_MBR_mBMSCNDe_RegistrationResponse_ies_2,
+ 1, /* Single element */
+ &asn_SPC_mBMSCNDe_RegistrationResponse_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_MBMSCNDe_RegistrationResponse_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MBMSCNDe_RegistrationResponse, mBMSCNDe_RegistrationResponse_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_mBMSCNDe_RegistrationResponse_ies_2,
+ memb_mBMSCNDe_RegistrationResponse_ies_constraint_1,
+ &asn_PER_memb_mBMSCNDe_RegistrationResponse_ies_constr_2,
+ 0,
+ "mBMSCNDe-RegistrationResponse-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSCNDe_RegistrationResponse_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MBMSCNDe_RegistrationResponse_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* mBMSCNDe-RegistrationResponse-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_MBMSCNDe_RegistrationResponse_specs_1 = {
+ sizeof(struct RANAP_MBMSCNDe_RegistrationResponse),
+ offsetof(struct RANAP_MBMSCNDe_RegistrationResponse, _asn_ctx),
+ asn_MAP_RANAP_MBMSCNDe_RegistrationResponse_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSCNDe_RegistrationResponse = {
+ "RANAP_MBMSCNDe-RegistrationResponse",
+ "RANAP_MBMSCNDe-RegistrationResponse",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSCNDe_RegistrationResponse_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSCNDe_RegistrationResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSCNDe_RegistrationResponse_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSCNDe_RegistrationResponse_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSCNDe_RegistrationResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSCNDe_RegistrationResponse_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_MBMSCNDe_RegistrationResponse_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_MBMSCNDe_RegistrationResponse_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSCNDe-RegistrationResponse.h b/src/ranap/RANAP_MBMSCNDe-RegistrationResponse.h
new file mode 100644
index 0000000..d9be786
--- /dev/null
+++ b/src/ranap/RANAP_MBMSCNDe-RegistrationResponse.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_MBMSCNDe_RegistrationResponse_H_
+#define _RANAP_MBMSCNDe_RegistrationResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSCNDe-RegistrationResponse */
+typedef struct RANAP_MBMSCNDe_RegistrationResponse {
+ struct mBMSCNDe_RegistrationResponse_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } mBMSCNDe_RegistrationResponse_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MBMSCNDe_RegistrationResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSCNDe_RegistrationResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSCNDe_RegistrationResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSCountingInformation.c b/src/ranap/RANAP_MBMSCountingInformation.c
new file mode 100644
index 0000000..1804f22
--- /dev/null
+++ b/src/ranap/RANAP_MBMSCountingInformation.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MBMSCountingInformation.h"
+
+int
+RANAP_MBMSCountingInformation_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_MBMSCountingInformation_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_MBMSCountingInformation_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_MBMSCountingInformation_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_MBMSCountingInformation_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSCountingInformation_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSCountingInformation_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_MBMSCountingInformation_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_MBMSCountingInformation_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSCountingInformation_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSCountingInformation_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_MBMSCountingInformation_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_MBMSCountingInformation_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSCountingInformation_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSCountingInformation_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MBMSCountingInformation_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_MBMSCountingInformation_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MBMSCountingInformation_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_MBMSCountingInformation_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MBMSCountingInformation_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_MBMSCountingInformation_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MBMSCountingInformation_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_MBMSCountingInformation_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_MBMSCountingInformation_value2enum_1[] = {
+ { 0, 8, "counting" },
+ { 1, 11, "notcounting" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_MBMSCountingInformation_enum2value_1[] = {
+ 0, /* counting(0) */
+ 1 /* notcounting(1) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_MBMSCountingInformation_specs_1 = {
+ asn_MAP_RANAP_MBMSCountingInformation_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_MBMSCountingInformation_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_RANAP_MBMSCountingInformation_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSCountingInformation = {
+ "RANAP_MBMSCountingInformation",
+ "RANAP_MBMSCountingInformation",
+ RANAP_MBMSCountingInformation_free,
+ RANAP_MBMSCountingInformation_print,
+ RANAP_MBMSCountingInformation_constraint,
+ RANAP_MBMSCountingInformation_decode_ber,
+ RANAP_MBMSCountingInformation_encode_der,
+ RANAP_MBMSCountingInformation_decode_xer,
+ RANAP_MBMSCountingInformation_encode_xer,
+ RANAP_MBMSCountingInformation_decode_uper,
+ RANAP_MBMSCountingInformation_encode_uper,
+ RANAP_MBMSCountingInformation_decode_aper,
+ RANAP_MBMSCountingInformation_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSCountingInformation_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSCountingInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSCountingInformation_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSCountingInformation_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSCountingInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSCountingInformation_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_MBMSCountingInformation_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_MBMSCountingInformation_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSCountingInformation.h b/src/ranap/RANAP_MBMSCountingInformation.h
new file mode 100644
index 0000000..cb56317
--- /dev/null
+++ b/src/ranap/RANAP_MBMSCountingInformation.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MBMSCountingInformation_H_
+#define _RANAP_MBMSCountingInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_MBMSCountingInformation {
+ RANAP_MBMSCountingInformation_counting = 0,
+ RANAP_MBMSCountingInformation_notcounting = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_MBMSCountingInformation;
+
+/* RANAP_MBMSCountingInformation */
+typedef long RANAP_MBMSCountingInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSCountingInformation;
+asn_struct_free_f RANAP_MBMSCountingInformation_free;
+asn_struct_print_f RANAP_MBMSCountingInformation_print;
+asn_constr_check_f RANAP_MBMSCountingInformation_constraint;
+ber_type_decoder_f RANAP_MBMSCountingInformation_decode_ber;
+der_type_encoder_f RANAP_MBMSCountingInformation_encode_der;
+xer_type_decoder_f RANAP_MBMSCountingInformation_decode_xer;
+xer_type_encoder_f RANAP_MBMSCountingInformation_encode_xer;
+per_type_decoder_f RANAP_MBMSCountingInformation_decode_uper;
+per_type_encoder_f RANAP_MBMSCountingInformation_encode_uper;
+per_type_decoder_f RANAP_MBMSCountingInformation_decode_aper;
+per_type_encoder_f RANAP_MBMSCountingInformation_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSCountingInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSHCIndicator.c b/src/ranap/RANAP_MBMSHCIndicator.c
new file mode 100644
index 0000000..55afb2a
--- /dev/null
+++ b/src/ranap/RANAP_MBMSHCIndicator.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MBMSHCIndicator.h"
+
+int
+RANAP_MBMSHCIndicator_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_MBMSHCIndicator_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_MBMSHCIndicator_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_MBMSHCIndicator_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_MBMSHCIndicator_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSHCIndicator_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSHCIndicator_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_MBMSHCIndicator_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_MBMSHCIndicator_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSHCIndicator_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSHCIndicator_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_MBMSHCIndicator_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_MBMSHCIndicator_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSHCIndicator_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSHCIndicator_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MBMSHCIndicator_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_MBMSHCIndicator_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MBMSHCIndicator_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_MBMSHCIndicator_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MBMSHCIndicator_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_MBMSHCIndicator_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MBMSHCIndicator_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_MBMSHCIndicator_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_MBMSHCIndicator_value2enum_1[] = {
+ { 0, 19, "uncompressed-header" },
+ { 1, 17, "compressed-header" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_MBMSHCIndicator_enum2value_1[] = {
+ 1, /* compressed-header(1) */
+ 0 /* uncompressed-header(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_MBMSHCIndicator_specs_1 = {
+ asn_MAP_RANAP_MBMSHCIndicator_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_MBMSHCIndicator_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_RANAP_MBMSHCIndicator_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSHCIndicator = {
+ "RANAP_MBMSHCIndicator",
+ "RANAP_MBMSHCIndicator",
+ RANAP_MBMSHCIndicator_free,
+ RANAP_MBMSHCIndicator_print,
+ RANAP_MBMSHCIndicator_constraint,
+ RANAP_MBMSHCIndicator_decode_ber,
+ RANAP_MBMSHCIndicator_encode_der,
+ RANAP_MBMSHCIndicator_decode_xer,
+ RANAP_MBMSHCIndicator_encode_xer,
+ RANAP_MBMSHCIndicator_decode_uper,
+ RANAP_MBMSHCIndicator_encode_uper,
+ RANAP_MBMSHCIndicator_decode_aper,
+ RANAP_MBMSHCIndicator_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSHCIndicator_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSHCIndicator_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSHCIndicator_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSHCIndicator_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSHCIndicator_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSHCIndicator_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_MBMSHCIndicator_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_MBMSHCIndicator_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSHCIndicator.h b/src/ranap/RANAP_MBMSHCIndicator.h
new file mode 100644
index 0000000..71cdccc
--- /dev/null
+++ b/src/ranap/RANAP_MBMSHCIndicator.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MBMSHCIndicator_H_
+#define _RANAP_MBMSHCIndicator_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_MBMSHCIndicator {
+ RANAP_MBMSHCIndicator_uncompressed_header = 0,
+ RANAP_MBMSHCIndicator_compressed_header = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_MBMSHCIndicator;
+
+/* RANAP_MBMSHCIndicator */
+typedef long RANAP_MBMSHCIndicator_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSHCIndicator;
+asn_struct_free_f RANAP_MBMSHCIndicator_free;
+asn_struct_print_f RANAP_MBMSHCIndicator_print;
+asn_constr_check_f RANAP_MBMSHCIndicator_constraint;
+ber_type_decoder_f RANAP_MBMSHCIndicator_decode_ber;
+der_type_encoder_f RANAP_MBMSHCIndicator_encode_der;
+xer_type_decoder_f RANAP_MBMSHCIndicator_decode_xer;
+xer_type_encoder_f RANAP_MBMSHCIndicator_encode_xer;
+per_type_decoder_f RANAP_MBMSHCIndicator_decode_uper;
+per_type_encoder_f RANAP_MBMSHCIndicator_encode_uper;
+per_type_decoder_f RANAP_MBMSHCIndicator_decode_aper;
+per_type_encoder_f RANAP_MBMSHCIndicator_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSHCIndicator_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSIPMulticastAddressandAPNRequest.c b/src/ranap/RANAP_MBMSIPMulticastAddressandAPNRequest.c
new file mode 100644
index 0000000..fdd21c1
--- /dev/null
+++ b/src/ranap/RANAP_MBMSIPMulticastAddressandAPNRequest.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MBMSIPMulticastAddressandAPNRequest.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_MBMSIPMulticastAddressandAPNRequest_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 9, 9, 1l, 512l } /* (SIZE(1..512)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_MBMSIPMulticastAddressandAPNRequest_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_TMGI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSIPMulticastAddressandAPNRequest_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_MBMSIPMulticastAddressandAPNRequest_specs_1 = {
+ sizeof(struct RANAP_MBMSIPMulticastAddressandAPNRequest),
+ offsetof(struct RANAP_MBMSIPMulticastAddressandAPNRequest, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSIPMulticastAddressandAPNRequest = {
+ "RANAP_MBMSIPMulticastAddressandAPNRequest",
+ "RANAP_MBMSIPMulticastAddressandAPNRequest",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSIPMulticastAddressandAPNRequest_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSIPMulticastAddressandAPNRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSIPMulticastAddressandAPNRequest_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSIPMulticastAddressandAPNRequest_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSIPMulticastAddressandAPNRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSIPMulticastAddressandAPNRequest_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_MBMSIPMulticastAddressandAPNRequest_constr_1,
+ asn_MBR_RANAP_MBMSIPMulticastAddressandAPNRequest_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_MBMSIPMulticastAddressandAPNRequest_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSIPMulticastAddressandAPNRequest.h b/src/ranap/RANAP_MBMSIPMulticastAddressandAPNRequest.h
new file mode 100644
index 0000000..4fceb72
--- /dev/null
+++ b/src/ranap/RANAP_MBMSIPMulticastAddressandAPNRequest.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MBMSIPMulticastAddressandAPNRequest_H_
+#define _RANAP_MBMSIPMulticastAddressandAPNRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_TMGI.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSIPMulticastAddressandAPNRequest */
+typedef struct RANAP_MBMSIPMulticastAddressandAPNRequest {
+ A_SEQUENCE_OF(RANAP_TMGI_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MBMSIPMulticastAddressandAPNRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSIPMulticastAddressandAPNRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSIPMulticastAddressandAPNRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSIPMulticastAddressandAPNlist.c b/src/ranap/RANAP_MBMSIPMulticastAddressandAPNlist.c
new file mode 100644
index 0000000..c84c547
--- /dev/null
+++ b/src/ranap/RANAP_MBMSIPMulticastAddressandAPNlist.c
@@ -0,0 +1,93 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MBMSIPMulticastAddressandAPNlist.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_MBMSIPMulticastAddressandAPNlist_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MBMSIPMulticastAddressandAPNlist, tMGI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TMGI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "tMGI"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MBMSIPMulticastAddressandAPNlist, iPMulticastAddress),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IPMulticastAddress,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iPMulticastAddress"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MBMSIPMulticastAddressandAPNlist, aPN),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_APN,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "aPN"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_MBMSIPMulticastAddressandAPNlist, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_MBMSIPMulticastAddressandAPNlist_oms_1[] = { 3 };
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSIPMulticastAddressandAPNlist_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MBMSIPMulticastAddressandAPNlist_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tMGI */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* iPMulticastAddress */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* aPN */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_MBMSIPMulticastAddressandAPNlist_specs_1 = {
+ sizeof(struct RANAP_MBMSIPMulticastAddressandAPNlist),
+ offsetof(struct RANAP_MBMSIPMulticastAddressandAPNlist, _asn_ctx),
+ asn_MAP_RANAP_MBMSIPMulticastAddressandAPNlist_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_RANAP_MBMSIPMulticastAddressandAPNlist_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 3, /* Start extensions */
+ 5 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSIPMulticastAddressandAPNlist = {
+ "RANAP_MBMSIPMulticastAddressandAPNlist",
+ "RANAP_MBMSIPMulticastAddressandAPNlist",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSIPMulticastAddressandAPNlist_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSIPMulticastAddressandAPNlist_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSIPMulticastAddressandAPNlist_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSIPMulticastAddressandAPNlist_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSIPMulticastAddressandAPNlist_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSIPMulticastAddressandAPNlist_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_MBMSIPMulticastAddressandAPNlist_1,
+ 4, /* Elements count */
+ &asn_SPC_RANAP_MBMSIPMulticastAddressandAPNlist_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSIPMulticastAddressandAPNlist.h b/src/ranap/RANAP_MBMSIPMulticastAddressandAPNlist.h
new file mode 100644
index 0000000..9654467
--- /dev/null
+++ b/src/ranap/RANAP_MBMSIPMulticastAddressandAPNlist.h
@@ -0,0 +1,47 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MBMSIPMulticastAddressandAPNlist_H_
+#define _RANAP_MBMSIPMulticastAddressandAPNlist_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_TMGI.h"
+#include "RANAP_IPMulticastAddress.h"
+#include "RANAP_APN.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSIPMulticastAddressandAPNlist */
+typedef struct RANAP_MBMSIPMulticastAddressandAPNlist {
+ RANAP_TMGI_t tMGI;
+ RANAP_IPMulticastAddress_t iPMulticastAddress;
+ RANAP_APN_t aPN;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MBMSIPMulticastAddressandAPNlist_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSIPMulticastAddressandAPNlist;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSIPMulticastAddressandAPNlist_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSLinkingInformation.c b/src/ranap/RANAP_MBMSLinkingInformation.c
new file mode 100644
index 0000000..77d5ffb
--- /dev/null
+++ b/src/ranap/RANAP_MBMSLinkingInformation.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MBMSLinkingInformation.h"
+
+int
+RANAP_MBMSLinkingInformation_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_MBMSLinkingInformation_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_MBMSLinkingInformation_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_MBMSLinkingInformation_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_MBMSLinkingInformation_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSLinkingInformation_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSLinkingInformation_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_MBMSLinkingInformation_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_MBMSLinkingInformation_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSLinkingInformation_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSLinkingInformation_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_MBMSLinkingInformation_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_MBMSLinkingInformation_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSLinkingInformation_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSLinkingInformation_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MBMSLinkingInformation_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_MBMSLinkingInformation_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MBMSLinkingInformation_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_MBMSLinkingInformation_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MBMSLinkingInformation_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_MBMSLinkingInformation_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MBMSLinkingInformation_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_MBMSLinkingInformation_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_MBMSLinkingInformation_value2enum_1[] = {
+ { 0, 32, "uE-has-joined-multicast-services" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_MBMSLinkingInformation_enum2value_1[] = {
+ 0 /* uE-has-joined-multicast-services(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_MBMSLinkingInformation_specs_1 = {
+ asn_MAP_RANAP_MBMSLinkingInformation_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_MBMSLinkingInformation_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_RANAP_MBMSLinkingInformation_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSLinkingInformation = {
+ "RANAP_MBMSLinkingInformation",
+ "RANAP_MBMSLinkingInformation",
+ RANAP_MBMSLinkingInformation_free,
+ RANAP_MBMSLinkingInformation_print,
+ RANAP_MBMSLinkingInformation_constraint,
+ RANAP_MBMSLinkingInformation_decode_ber,
+ RANAP_MBMSLinkingInformation_encode_der,
+ RANAP_MBMSLinkingInformation_decode_xer,
+ RANAP_MBMSLinkingInformation_encode_xer,
+ RANAP_MBMSLinkingInformation_decode_uper,
+ RANAP_MBMSLinkingInformation_encode_uper,
+ RANAP_MBMSLinkingInformation_decode_aper,
+ RANAP_MBMSLinkingInformation_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSLinkingInformation_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSLinkingInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSLinkingInformation_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSLinkingInformation_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSLinkingInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSLinkingInformation_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_MBMSLinkingInformation_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_MBMSLinkingInformation_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSLinkingInformation.h b/src/ranap/RANAP_MBMSLinkingInformation.h
new file mode 100644
index 0000000..8ce5bc2
--- /dev/null
+++ b/src/ranap/RANAP_MBMSLinkingInformation.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MBMSLinkingInformation_H_
+#define _RANAP_MBMSLinkingInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_MBMSLinkingInformation {
+ RANAP_MBMSLinkingInformation_uE_has_joined_multicast_services = 0
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_MBMSLinkingInformation;
+
+/* RANAP_MBMSLinkingInformation */
+typedef long RANAP_MBMSLinkingInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSLinkingInformation;
+asn_struct_free_f RANAP_MBMSLinkingInformation_free;
+asn_struct_print_f RANAP_MBMSLinkingInformation_print;
+asn_constr_check_f RANAP_MBMSLinkingInformation_constraint;
+ber_type_decoder_f RANAP_MBMSLinkingInformation_decode_ber;
+der_type_encoder_f RANAP_MBMSLinkingInformation_encode_der;
+xer_type_decoder_f RANAP_MBMSLinkingInformation_decode_xer;
+xer_type_encoder_f RANAP_MBMSLinkingInformation_encode_xer;
+per_type_decoder_f RANAP_MBMSLinkingInformation_decode_uper;
+per_type_encoder_f RANAP_MBMSLinkingInformation_encode_uper;
+per_type_decoder_f RANAP_MBMSLinkingInformation_decode_aper;
+per_type_encoder_f RANAP_MBMSLinkingInformation_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSLinkingInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSRABEstablishmentIndication.c b/src/ranap/RANAP_MBMSRABEstablishmentIndication.c
new file mode 100644
index 0000000..78c0ae0
--- /dev/null
+++ b/src/ranap/RANAP_MBMSRABEstablishmentIndication.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_MBMSRABEstablishmentIndication.h"
+
+static int
+memb_mBMSRABEstablishmentIndication_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_mBMSRABEstablishmentIndication_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_mBMSRABEstablishmentIndication_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_mBMSRABEstablishmentIndication_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_mBMSRABEstablishmentIndication_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_mBMSRABEstablishmentIndication_ies_specs_2 = {
+ sizeof(struct mBMSRABEstablishmentIndication_ies),
+ offsetof(struct mBMSRABEstablishmentIndication_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_mBMSRABEstablishmentIndication_ies_2 = {
+ "mBMSRABEstablishmentIndication-ies",
+ "mBMSRABEstablishmentIndication-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_mBMSRABEstablishmentIndication_ies_tags_2,
+ sizeof(asn_DEF_mBMSRABEstablishmentIndication_ies_tags_2)
+ /sizeof(asn_DEF_mBMSRABEstablishmentIndication_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_mBMSRABEstablishmentIndication_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_mBMSRABEstablishmentIndication_ies_tags_2)
+ /sizeof(asn_DEF_mBMSRABEstablishmentIndication_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_mBMSRABEstablishmentIndication_ies_constr_2,
+ asn_MBR_mBMSRABEstablishmentIndication_ies_2,
+ 1, /* Single element */
+ &asn_SPC_mBMSRABEstablishmentIndication_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_MBMSRABEstablishmentIndication_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MBMSRABEstablishmentIndication, mBMSRABEstablishmentIndication_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_mBMSRABEstablishmentIndication_ies_2,
+ memb_mBMSRABEstablishmentIndication_ies_constraint_1,
+ &asn_PER_memb_mBMSRABEstablishmentIndication_ies_constr_2,
+ 0,
+ "mBMSRABEstablishmentIndication-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSRABEstablishmentIndication_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MBMSRABEstablishmentIndication_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* mBMSRABEstablishmentIndication-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_MBMSRABEstablishmentIndication_specs_1 = {
+ sizeof(struct RANAP_MBMSRABEstablishmentIndication),
+ offsetof(struct RANAP_MBMSRABEstablishmentIndication, _asn_ctx),
+ asn_MAP_RANAP_MBMSRABEstablishmentIndication_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSRABEstablishmentIndication = {
+ "RANAP_MBMSRABEstablishmentIndication",
+ "RANAP_MBMSRABEstablishmentIndication",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSRABEstablishmentIndication_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSRABEstablishmentIndication_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSRABEstablishmentIndication_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSRABEstablishmentIndication_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSRABEstablishmentIndication_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSRABEstablishmentIndication_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_MBMSRABEstablishmentIndication_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_MBMSRABEstablishmentIndication_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSRABEstablishmentIndication.h b/src/ranap/RANAP_MBMSRABEstablishmentIndication.h
new file mode 100644
index 0000000..88972eb
--- /dev/null
+++ b/src/ranap/RANAP_MBMSRABEstablishmentIndication.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_MBMSRABEstablishmentIndication_H_
+#define _RANAP_MBMSRABEstablishmentIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSRABEstablishmentIndication */
+typedef struct RANAP_MBMSRABEstablishmentIndication {
+ struct mBMSRABEstablishmentIndication_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } mBMSRABEstablishmentIndication_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MBMSRABEstablishmentIndication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSRABEstablishmentIndication;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSRABEstablishmentIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSRABRelease.c b/src/ranap/RANAP_MBMSRABRelease.c
new file mode 100644
index 0000000..8f29f6d
--- /dev/null
+++ b/src/ranap/RANAP_MBMSRABRelease.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_MBMSRABRelease.h"
+
+static int
+memb_mBMSRABRelease_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_mBMSRABRelease_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_mBMSRABRelease_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_mBMSRABRelease_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_mBMSRABRelease_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_mBMSRABRelease_ies_specs_2 = {
+ sizeof(struct mBMSRABRelease_ies),
+ offsetof(struct mBMSRABRelease_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_mBMSRABRelease_ies_2 = {
+ "mBMSRABRelease-ies",
+ "mBMSRABRelease-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_mBMSRABRelease_ies_tags_2,
+ sizeof(asn_DEF_mBMSRABRelease_ies_tags_2)
+ /sizeof(asn_DEF_mBMSRABRelease_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_mBMSRABRelease_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_mBMSRABRelease_ies_tags_2)
+ /sizeof(asn_DEF_mBMSRABRelease_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_mBMSRABRelease_ies_constr_2,
+ asn_MBR_mBMSRABRelease_ies_2,
+ 1, /* Single element */
+ &asn_SPC_mBMSRABRelease_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_MBMSRABRelease_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MBMSRABRelease, mBMSRABRelease_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_mBMSRABRelease_ies_2,
+ memb_mBMSRABRelease_ies_constraint_1,
+ &asn_PER_memb_mBMSRABRelease_ies_constr_2,
+ 0,
+ "mBMSRABRelease-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSRABRelease_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MBMSRABRelease_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* mBMSRABRelease-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_MBMSRABRelease_specs_1 = {
+ sizeof(struct RANAP_MBMSRABRelease),
+ offsetof(struct RANAP_MBMSRABRelease, _asn_ctx),
+ asn_MAP_RANAP_MBMSRABRelease_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSRABRelease = {
+ "RANAP_MBMSRABRelease",
+ "RANAP_MBMSRABRelease",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSRABRelease_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSRABRelease_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSRABRelease_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSRABRelease_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSRABRelease_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSRABRelease_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_MBMSRABRelease_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_MBMSRABRelease_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSRABRelease.h b/src/ranap/RANAP_MBMSRABRelease.h
new file mode 100644
index 0000000..db2b5e9
--- /dev/null
+++ b/src/ranap/RANAP_MBMSRABRelease.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_MBMSRABRelease_H_
+#define _RANAP_MBMSRABRelease_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSRABRelease */
+typedef struct RANAP_MBMSRABRelease {
+ struct mBMSRABRelease_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } mBMSRABRelease_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MBMSRABRelease_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSRABRelease;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSRABRelease_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSRABReleaseFailure.c b/src/ranap/RANAP_MBMSRABReleaseFailure.c
new file mode 100644
index 0000000..e6c73f3
--- /dev/null
+++ b/src/ranap/RANAP_MBMSRABReleaseFailure.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_MBMSRABReleaseFailure.h"
+
+static int
+memb_mBMSRABReleaseFailure_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_mBMSRABReleaseFailure_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_mBMSRABReleaseFailure_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_mBMSRABReleaseFailure_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_mBMSRABReleaseFailure_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_mBMSRABReleaseFailure_ies_specs_2 = {
+ sizeof(struct mBMSRABReleaseFailure_ies),
+ offsetof(struct mBMSRABReleaseFailure_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_mBMSRABReleaseFailure_ies_2 = {
+ "mBMSRABReleaseFailure-ies",
+ "mBMSRABReleaseFailure-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_mBMSRABReleaseFailure_ies_tags_2,
+ sizeof(asn_DEF_mBMSRABReleaseFailure_ies_tags_2)
+ /sizeof(asn_DEF_mBMSRABReleaseFailure_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_mBMSRABReleaseFailure_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_mBMSRABReleaseFailure_ies_tags_2)
+ /sizeof(asn_DEF_mBMSRABReleaseFailure_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_mBMSRABReleaseFailure_ies_constr_2,
+ asn_MBR_mBMSRABReleaseFailure_ies_2,
+ 1, /* Single element */
+ &asn_SPC_mBMSRABReleaseFailure_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_MBMSRABReleaseFailure_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MBMSRABReleaseFailure, mBMSRABReleaseFailure_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_mBMSRABReleaseFailure_ies_2,
+ memb_mBMSRABReleaseFailure_ies_constraint_1,
+ &asn_PER_memb_mBMSRABReleaseFailure_ies_constr_2,
+ 0,
+ "mBMSRABReleaseFailure-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSRABReleaseFailure_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MBMSRABReleaseFailure_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* mBMSRABReleaseFailure-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_MBMSRABReleaseFailure_specs_1 = {
+ sizeof(struct RANAP_MBMSRABReleaseFailure),
+ offsetof(struct RANAP_MBMSRABReleaseFailure, _asn_ctx),
+ asn_MAP_RANAP_MBMSRABReleaseFailure_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSRABReleaseFailure = {
+ "RANAP_MBMSRABReleaseFailure",
+ "RANAP_MBMSRABReleaseFailure",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSRABReleaseFailure_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSRABReleaseFailure_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSRABReleaseFailure_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSRABReleaseFailure_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSRABReleaseFailure_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSRABReleaseFailure_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_MBMSRABReleaseFailure_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_MBMSRABReleaseFailure_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSRABReleaseFailure.h b/src/ranap/RANAP_MBMSRABReleaseFailure.h
new file mode 100644
index 0000000..b3ec38b
--- /dev/null
+++ b/src/ranap/RANAP_MBMSRABReleaseFailure.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_MBMSRABReleaseFailure_H_
+#define _RANAP_MBMSRABReleaseFailure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSRABReleaseFailure */
+typedef struct RANAP_MBMSRABReleaseFailure {
+ struct mBMSRABReleaseFailure_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } mBMSRABReleaseFailure_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MBMSRABReleaseFailure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSRABReleaseFailure;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSRABReleaseFailure_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSRABReleaseRequest.c b/src/ranap/RANAP_MBMSRABReleaseRequest.c
new file mode 100644
index 0000000..0de4127
--- /dev/null
+++ b/src/ranap/RANAP_MBMSRABReleaseRequest.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_MBMSRABReleaseRequest.h"
+
+static int
+memb_mBMSRABReleaseRequest_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_mBMSRABReleaseRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_mBMSRABReleaseRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_mBMSRABReleaseRequest_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_mBMSRABReleaseRequest_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_mBMSRABReleaseRequest_ies_specs_2 = {
+ sizeof(struct mBMSRABReleaseRequest_ies),
+ offsetof(struct mBMSRABReleaseRequest_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_mBMSRABReleaseRequest_ies_2 = {
+ "mBMSRABReleaseRequest-ies",
+ "mBMSRABReleaseRequest-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_mBMSRABReleaseRequest_ies_tags_2,
+ sizeof(asn_DEF_mBMSRABReleaseRequest_ies_tags_2)
+ /sizeof(asn_DEF_mBMSRABReleaseRequest_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_mBMSRABReleaseRequest_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_mBMSRABReleaseRequest_ies_tags_2)
+ /sizeof(asn_DEF_mBMSRABReleaseRequest_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_mBMSRABReleaseRequest_ies_constr_2,
+ asn_MBR_mBMSRABReleaseRequest_ies_2,
+ 1, /* Single element */
+ &asn_SPC_mBMSRABReleaseRequest_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_MBMSRABReleaseRequest_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MBMSRABReleaseRequest, mBMSRABReleaseRequest_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_mBMSRABReleaseRequest_ies_2,
+ memb_mBMSRABReleaseRequest_ies_constraint_1,
+ &asn_PER_memb_mBMSRABReleaseRequest_ies_constr_2,
+ 0,
+ "mBMSRABReleaseRequest-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSRABReleaseRequest_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MBMSRABReleaseRequest_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* mBMSRABReleaseRequest-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_MBMSRABReleaseRequest_specs_1 = {
+ sizeof(struct RANAP_MBMSRABReleaseRequest),
+ offsetof(struct RANAP_MBMSRABReleaseRequest, _asn_ctx),
+ asn_MAP_RANAP_MBMSRABReleaseRequest_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSRABReleaseRequest = {
+ "RANAP_MBMSRABReleaseRequest",
+ "RANAP_MBMSRABReleaseRequest",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSRABReleaseRequest_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSRABReleaseRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSRABReleaseRequest_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSRABReleaseRequest_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSRABReleaseRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSRABReleaseRequest_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_MBMSRABReleaseRequest_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_MBMSRABReleaseRequest_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSRABReleaseRequest.h b/src/ranap/RANAP_MBMSRABReleaseRequest.h
new file mode 100644
index 0000000..6f9d34a
--- /dev/null
+++ b/src/ranap/RANAP_MBMSRABReleaseRequest.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_MBMSRABReleaseRequest_H_
+#define _RANAP_MBMSRABReleaseRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSRABReleaseRequest */
+typedef struct RANAP_MBMSRABReleaseRequest {
+ struct mBMSRABReleaseRequest_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } mBMSRABReleaseRequest_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MBMSRABReleaseRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSRABReleaseRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSRABReleaseRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSRegistrationFailure.c b/src/ranap/RANAP_MBMSRegistrationFailure.c
new file mode 100644
index 0000000..f6a7301
--- /dev/null
+++ b/src/ranap/RANAP_MBMSRegistrationFailure.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_MBMSRegistrationFailure.h"
+
+static int
+memb_mBMSRegistrationFailure_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_mBMSRegistrationFailure_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_mBMSRegistrationFailure_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_mBMSRegistrationFailure_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_mBMSRegistrationFailure_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_mBMSRegistrationFailure_ies_specs_2 = {
+ sizeof(struct mBMSRegistrationFailure_ies),
+ offsetof(struct mBMSRegistrationFailure_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_mBMSRegistrationFailure_ies_2 = {
+ "mBMSRegistrationFailure-ies",
+ "mBMSRegistrationFailure-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_mBMSRegistrationFailure_ies_tags_2,
+ sizeof(asn_DEF_mBMSRegistrationFailure_ies_tags_2)
+ /sizeof(asn_DEF_mBMSRegistrationFailure_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_mBMSRegistrationFailure_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_mBMSRegistrationFailure_ies_tags_2)
+ /sizeof(asn_DEF_mBMSRegistrationFailure_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_mBMSRegistrationFailure_ies_constr_2,
+ asn_MBR_mBMSRegistrationFailure_ies_2,
+ 1, /* Single element */
+ &asn_SPC_mBMSRegistrationFailure_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_MBMSRegistrationFailure_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MBMSRegistrationFailure, mBMSRegistrationFailure_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_mBMSRegistrationFailure_ies_2,
+ memb_mBMSRegistrationFailure_ies_constraint_1,
+ &asn_PER_memb_mBMSRegistrationFailure_ies_constr_2,
+ 0,
+ "mBMSRegistrationFailure-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSRegistrationFailure_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MBMSRegistrationFailure_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* mBMSRegistrationFailure-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_MBMSRegistrationFailure_specs_1 = {
+ sizeof(struct RANAP_MBMSRegistrationFailure),
+ offsetof(struct RANAP_MBMSRegistrationFailure, _asn_ctx),
+ asn_MAP_RANAP_MBMSRegistrationFailure_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSRegistrationFailure = {
+ "RANAP_MBMSRegistrationFailure",
+ "RANAP_MBMSRegistrationFailure",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSRegistrationFailure_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSRegistrationFailure_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSRegistrationFailure_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSRegistrationFailure_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSRegistrationFailure_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSRegistrationFailure_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_MBMSRegistrationFailure_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_MBMSRegistrationFailure_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSRegistrationFailure.h b/src/ranap/RANAP_MBMSRegistrationFailure.h
new file mode 100644
index 0000000..2d673fc
--- /dev/null
+++ b/src/ranap/RANAP_MBMSRegistrationFailure.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_MBMSRegistrationFailure_H_
+#define _RANAP_MBMSRegistrationFailure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSRegistrationFailure */
+typedef struct RANAP_MBMSRegistrationFailure {
+ struct mBMSRegistrationFailure_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } mBMSRegistrationFailure_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MBMSRegistrationFailure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSRegistrationFailure;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSRegistrationFailure_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSRegistrationRequest.c b/src/ranap/RANAP_MBMSRegistrationRequest.c
new file mode 100644
index 0000000..d70890a
--- /dev/null
+++ b/src/ranap/RANAP_MBMSRegistrationRequest.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_MBMSRegistrationRequest.h"
+
+static int
+memb_mBMSRegistrationRequest_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_mBMSRegistrationRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_mBMSRegistrationRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_mBMSRegistrationRequest_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_mBMSRegistrationRequest_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_mBMSRegistrationRequest_ies_specs_2 = {
+ sizeof(struct mBMSRegistrationRequest_ies),
+ offsetof(struct mBMSRegistrationRequest_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_mBMSRegistrationRequest_ies_2 = {
+ "mBMSRegistrationRequest-ies",
+ "mBMSRegistrationRequest-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_mBMSRegistrationRequest_ies_tags_2,
+ sizeof(asn_DEF_mBMSRegistrationRequest_ies_tags_2)
+ /sizeof(asn_DEF_mBMSRegistrationRequest_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_mBMSRegistrationRequest_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_mBMSRegistrationRequest_ies_tags_2)
+ /sizeof(asn_DEF_mBMSRegistrationRequest_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_mBMSRegistrationRequest_ies_constr_2,
+ asn_MBR_mBMSRegistrationRequest_ies_2,
+ 1, /* Single element */
+ &asn_SPC_mBMSRegistrationRequest_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_MBMSRegistrationRequest_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MBMSRegistrationRequest, mBMSRegistrationRequest_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_mBMSRegistrationRequest_ies_2,
+ memb_mBMSRegistrationRequest_ies_constraint_1,
+ &asn_PER_memb_mBMSRegistrationRequest_ies_constr_2,
+ 0,
+ "mBMSRegistrationRequest-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSRegistrationRequest_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MBMSRegistrationRequest_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* mBMSRegistrationRequest-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_MBMSRegistrationRequest_specs_1 = {
+ sizeof(struct RANAP_MBMSRegistrationRequest),
+ offsetof(struct RANAP_MBMSRegistrationRequest, _asn_ctx),
+ asn_MAP_RANAP_MBMSRegistrationRequest_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSRegistrationRequest = {
+ "RANAP_MBMSRegistrationRequest",
+ "RANAP_MBMSRegistrationRequest",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSRegistrationRequest_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSRegistrationRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSRegistrationRequest_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSRegistrationRequest_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSRegistrationRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSRegistrationRequest_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_MBMSRegistrationRequest_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_MBMSRegistrationRequest_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSRegistrationRequest.h b/src/ranap/RANAP_MBMSRegistrationRequest.h
new file mode 100644
index 0000000..5138504
--- /dev/null
+++ b/src/ranap/RANAP_MBMSRegistrationRequest.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_MBMSRegistrationRequest_H_
+#define _RANAP_MBMSRegistrationRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSRegistrationRequest */
+typedef struct RANAP_MBMSRegistrationRequest {
+ struct mBMSRegistrationRequest_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } mBMSRegistrationRequest_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MBMSRegistrationRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSRegistrationRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSRegistrationRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSRegistrationRequestType.c b/src/ranap/RANAP_MBMSRegistrationRequestType.c
new file mode 100644
index 0000000..ab1d933
--- /dev/null
+++ b/src/ranap/RANAP_MBMSRegistrationRequestType.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MBMSRegistrationRequestType.h"
+
+int
+RANAP_MBMSRegistrationRequestType_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_MBMSRegistrationRequestType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_MBMSRegistrationRequestType_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_MBMSRegistrationRequestType_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_MBMSRegistrationRequestType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSRegistrationRequestType_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSRegistrationRequestType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_MBMSRegistrationRequestType_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_MBMSRegistrationRequestType_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSRegistrationRequestType_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSRegistrationRequestType_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_MBMSRegistrationRequestType_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_MBMSRegistrationRequestType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSRegistrationRequestType_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSRegistrationRequestType_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MBMSRegistrationRequestType_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_MBMSRegistrationRequestType_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MBMSRegistrationRequestType_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_MBMSRegistrationRequestType_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MBMSRegistrationRequestType_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_MBMSRegistrationRequestType_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MBMSRegistrationRequestType_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_MBMSRegistrationRequestType_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_MBMSRegistrationRequestType_value2enum_1[] = {
+ { 0, 8, "register" },
+ { 1, 10, "deregister" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_MBMSRegistrationRequestType_enum2value_1[] = {
+ 1, /* deregister(1) */
+ 0 /* register(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_MBMSRegistrationRequestType_specs_1 = {
+ asn_MAP_RANAP_MBMSRegistrationRequestType_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_MBMSRegistrationRequestType_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_RANAP_MBMSRegistrationRequestType_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSRegistrationRequestType = {
+ "RANAP_MBMSRegistrationRequestType",
+ "RANAP_MBMSRegistrationRequestType",
+ RANAP_MBMSRegistrationRequestType_free,
+ RANAP_MBMSRegistrationRequestType_print,
+ RANAP_MBMSRegistrationRequestType_constraint,
+ RANAP_MBMSRegistrationRequestType_decode_ber,
+ RANAP_MBMSRegistrationRequestType_encode_der,
+ RANAP_MBMSRegistrationRequestType_decode_xer,
+ RANAP_MBMSRegistrationRequestType_encode_xer,
+ RANAP_MBMSRegistrationRequestType_decode_uper,
+ RANAP_MBMSRegistrationRequestType_encode_uper,
+ RANAP_MBMSRegistrationRequestType_decode_aper,
+ RANAP_MBMSRegistrationRequestType_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSRegistrationRequestType_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSRegistrationRequestType_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSRegistrationRequestType_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSRegistrationRequestType_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSRegistrationRequestType_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSRegistrationRequestType_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_MBMSRegistrationRequestType_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_MBMSRegistrationRequestType_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSRegistrationRequestType.h b/src/ranap/RANAP_MBMSRegistrationRequestType.h
new file mode 100644
index 0000000..720b6a6
--- /dev/null
+++ b/src/ranap/RANAP_MBMSRegistrationRequestType.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MBMSRegistrationRequestType_H_
+#define _RANAP_MBMSRegistrationRequestType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_MBMSRegistrationRequestType {
+ RANAP_MBMSRegistrationRequestType_register = 0,
+ RANAP_MBMSRegistrationRequestType_deregister = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_MBMSRegistrationRequestType;
+
+/* RANAP_MBMSRegistrationRequestType */
+typedef long RANAP_MBMSRegistrationRequestType_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSRegistrationRequestType;
+asn_struct_free_f RANAP_MBMSRegistrationRequestType_free;
+asn_struct_print_f RANAP_MBMSRegistrationRequestType_print;
+asn_constr_check_f RANAP_MBMSRegistrationRequestType_constraint;
+ber_type_decoder_f RANAP_MBMSRegistrationRequestType_decode_ber;
+der_type_encoder_f RANAP_MBMSRegistrationRequestType_encode_der;
+xer_type_decoder_f RANAP_MBMSRegistrationRequestType_decode_xer;
+xer_type_encoder_f RANAP_MBMSRegistrationRequestType_encode_xer;
+per_type_decoder_f RANAP_MBMSRegistrationRequestType_decode_uper;
+per_type_encoder_f RANAP_MBMSRegistrationRequestType_encode_uper;
+per_type_decoder_f RANAP_MBMSRegistrationRequestType_decode_aper;
+per_type_encoder_f RANAP_MBMSRegistrationRequestType_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSRegistrationRequestType_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSRegistrationResponse.c b/src/ranap/RANAP_MBMSRegistrationResponse.c
new file mode 100644
index 0000000..72ead77
--- /dev/null
+++ b/src/ranap/RANAP_MBMSRegistrationResponse.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_MBMSRegistrationResponse.h"
+
+static int
+memb_mBMSRegistrationResponse_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_mBMSRegistrationResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_mBMSRegistrationResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_mBMSRegistrationResponse_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_mBMSRegistrationResponse_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_mBMSRegistrationResponse_ies_specs_2 = {
+ sizeof(struct mBMSRegistrationResponse_ies),
+ offsetof(struct mBMSRegistrationResponse_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_mBMSRegistrationResponse_ies_2 = {
+ "mBMSRegistrationResponse-ies",
+ "mBMSRegistrationResponse-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_mBMSRegistrationResponse_ies_tags_2,
+ sizeof(asn_DEF_mBMSRegistrationResponse_ies_tags_2)
+ /sizeof(asn_DEF_mBMSRegistrationResponse_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_mBMSRegistrationResponse_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_mBMSRegistrationResponse_ies_tags_2)
+ /sizeof(asn_DEF_mBMSRegistrationResponse_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_mBMSRegistrationResponse_ies_constr_2,
+ asn_MBR_mBMSRegistrationResponse_ies_2,
+ 1, /* Single element */
+ &asn_SPC_mBMSRegistrationResponse_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_MBMSRegistrationResponse_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MBMSRegistrationResponse, mBMSRegistrationResponse_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_mBMSRegistrationResponse_ies_2,
+ memb_mBMSRegistrationResponse_ies_constraint_1,
+ &asn_PER_memb_mBMSRegistrationResponse_ies_constr_2,
+ 0,
+ "mBMSRegistrationResponse-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSRegistrationResponse_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MBMSRegistrationResponse_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* mBMSRegistrationResponse-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_MBMSRegistrationResponse_specs_1 = {
+ sizeof(struct RANAP_MBMSRegistrationResponse),
+ offsetof(struct RANAP_MBMSRegistrationResponse, _asn_ctx),
+ asn_MAP_RANAP_MBMSRegistrationResponse_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSRegistrationResponse = {
+ "RANAP_MBMSRegistrationResponse",
+ "RANAP_MBMSRegistrationResponse",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSRegistrationResponse_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSRegistrationResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSRegistrationResponse_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSRegistrationResponse_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSRegistrationResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSRegistrationResponse_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_MBMSRegistrationResponse_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_MBMSRegistrationResponse_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSRegistrationResponse.h b/src/ranap/RANAP_MBMSRegistrationResponse.h
new file mode 100644
index 0000000..e83af69
--- /dev/null
+++ b/src/ranap/RANAP_MBMSRegistrationResponse.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_MBMSRegistrationResponse_H_
+#define _RANAP_MBMSRegistrationResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSRegistrationResponse */
+typedef struct RANAP_MBMSRegistrationResponse {
+ struct mBMSRegistrationResponse_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } mBMSRegistrationResponse_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MBMSRegistrationResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSRegistrationResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSRegistrationResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSServiceArea.c b/src/ranap/RANAP_MBMSServiceArea.c
new file mode 100644
index 0000000..b103e9f
--- /dev/null
+++ b/src/ranap/RANAP_MBMSServiceArea.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MBMSServiceArea.h"
+
+int
+RANAP_MBMSServiceArea_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_MBMSServiceArea_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_MBMSServiceArea_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_MBMSServiceArea_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_MBMSServiceArea_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSServiceArea_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSServiceArea_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_MBMSServiceArea_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_MBMSServiceArea_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSServiceArea_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSServiceArea_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_MBMSServiceArea_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_MBMSServiceArea_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSServiceArea_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSServiceArea_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MBMSServiceArea_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_MBMSServiceArea_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MBMSServiceArea_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_MBMSServiceArea_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MBMSServiceArea_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_MBMSServiceArea_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MBMSServiceArea_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSServiceArea_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSServiceArea = {
+ "RANAP_MBMSServiceArea",
+ "RANAP_MBMSServiceArea",
+ RANAP_MBMSServiceArea_free,
+ RANAP_MBMSServiceArea_print,
+ RANAP_MBMSServiceArea_constraint,
+ RANAP_MBMSServiceArea_decode_ber,
+ RANAP_MBMSServiceArea_encode_der,
+ RANAP_MBMSServiceArea_decode_xer,
+ RANAP_MBMSServiceArea_encode_xer,
+ RANAP_MBMSServiceArea_decode_uper,
+ RANAP_MBMSServiceArea_encode_uper,
+ RANAP_MBMSServiceArea_decode_aper,
+ RANAP_MBMSServiceArea_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSServiceArea_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSServiceArea_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSServiceArea_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSServiceArea_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSServiceArea_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSServiceArea_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_MBMSServiceArea.h b/src/ranap/RANAP_MBMSServiceArea.h
new file mode 100644
index 0000000..fe0b524
--- /dev/null
+++ b/src/ranap/RANAP_MBMSServiceArea.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MBMSServiceArea_H_
+#define _RANAP_MBMSServiceArea_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSServiceArea */
+typedef OCTET_STRING_t RANAP_MBMSServiceArea_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSServiceArea;
+asn_struct_free_f RANAP_MBMSServiceArea_free;
+asn_struct_print_f RANAP_MBMSServiceArea_print;
+asn_constr_check_f RANAP_MBMSServiceArea_constraint;
+ber_type_decoder_f RANAP_MBMSServiceArea_decode_ber;
+der_type_encoder_f RANAP_MBMSServiceArea_encode_der;
+xer_type_decoder_f RANAP_MBMSServiceArea_decode_xer;
+xer_type_encoder_f RANAP_MBMSServiceArea_encode_xer;
+per_type_decoder_f RANAP_MBMSServiceArea_decode_uper;
+per_type_encoder_f RANAP_MBMSServiceArea_encode_uper;
+per_type_decoder_f RANAP_MBMSServiceArea_decode_aper;
+per_type_encoder_f RANAP_MBMSServiceArea_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSServiceArea_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSSessionDuration.c b/src/ranap/RANAP_MBMSSessionDuration.c
new file mode 100644
index 0000000..e072258
--- /dev/null
+++ b/src/ranap/RANAP_MBMSSessionDuration.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MBMSSessionDuration.h"
+
+int
+RANAP_MBMSSessionDuration_constraint(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 == 3l)) {
+ /* 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 void
+RANAP_MBMSSessionDuration_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_MBMSSessionDuration_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_MBMSSessionDuration_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_MBMSSessionDuration_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSSessionDuration_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSSessionDuration_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_MBMSSessionDuration_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_MBMSSessionDuration_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSSessionDuration_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSSessionDuration_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_MBMSSessionDuration_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_MBMSSessionDuration_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSSessionDuration_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSSessionDuration_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MBMSSessionDuration_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_MBMSSessionDuration_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MBMSSessionDuration_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_MBMSSessionDuration_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MBMSSessionDuration_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_MBMSSessionDuration_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MBMSSessionDuration_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_MBMSSessionDuration_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 3l, 3l } /* (SIZE(3..3)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSSessionDuration_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSSessionDuration = {
+ "RANAP_MBMSSessionDuration",
+ "RANAP_MBMSSessionDuration",
+ RANAP_MBMSSessionDuration_free,
+ RANAP_MBMSSessionDuration_print,
+ RANAP_MBMSSessionDuration_constraint,
+ RANAP_MBMSSessionDuration_decode_ber,
+ RANAP_MBMSSessionDuration_encode_der,
+ RANAP_MBMSSessionDuration_decode_xer,
+ RANAP_MBMSSessionDuration_encode_xer,
+ RANAP_MBMSSessionDuration_decode_uper,
+ RANAP_MBMSSessionDuration_encode_uper,
+ RANAP_MBMSSessionDuration_decode_aper,
+ RANAP_MBMSSessionDuration_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSSessionDuration_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSSessionDuration_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSSessionDuration_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSSessionDuration_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSSessionDuration_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSSessionDuration_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_MBMSSessionDuration_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_MBMSSessionDuration.h b/src/ranap/RANAP_MBMSSessionDuration.h
new file mode 100644
index 0000000..208da5f
--- /dev/null
+++ b/src/ranap/RANAP_MBMSSessionDuration.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MBMSSessionDuration_H_
+#define _RANAP_MBMSSessionDuration_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSSessionDuration */
+typedef OCTET_STRING_t RANAP_MBMSSessionDuration_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSSessionDuration;
+asn_struct_free_f RANAP_MBMSSessionDuration_free;
+asn_struct_print_f RANAP_MBMSSessionDuration_print;
+asn_constr_check_f RANAP_MBMSSessionDuration_constraint;
+ber_type_decoder_f RANAP_MBMSSessionDuration_decode_ber;
+der_type_encoder_f RANAP_MBMSSessionDuration_encode_der;
+xer_type_decoder_f RANAP_MBMSSessionDuration_decode_xer;
+xer_type_encoder_f RANAP_MBMSSessionDuration_encode_xer;
+per_type_decoder_f RANAP_MBMSSessionDuration_decode_uper;
+per_type_encoder_f RANAP_MBMSSessionDuration_encode_uper;
+per_type_decoder_f RANAP_MBMSSessionDuration_decode_aper;
+per_type_encoder_f RANAP_MBMSSessionDuration_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSSessionDuration_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSSessionIdentity.c b/src/ranap/RANAP_MBMSSessionIdentity.c
new file mode 100644
index 0000000..e71c3b2
--- /dev/null
+++ b/src/ranap/RANAP_MBMSSessionIdentity.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MBMSSessionIdentity.h"
+
+int
+RANAP_MBMSSessionIdentity_constraint(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 == 1l)) {
+ /* 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 void
+RANAP_MBMSSessionIdentity_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_MBMSSessionIdentity_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_MBMSSessionIdentity_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_MBMSSessionIdentity_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSSessionIdentity_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSSessionIdentity_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_MBMSSessionIdentity_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_MBMSSessionIdentity_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSSessionIdentity_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSSessionIdentity_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_MBMSSessionIdentity_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_MBMSSessionIdentity_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSSessionIdentity_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSSessionIdentity_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MBMSSessionIdentity_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_MBMSSessionIdentity_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MBMSSessionIdentity_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_MBMSSessionIdentity_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MBMSSessionIdentity_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_MBMSSessionIdentity_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MBMSSessionIdentity_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_MBMSSessionIdentity_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 1l, 1l } /* (SIZE(1..1)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSSessionIdentity_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSSessionIdentity = {
+ "RANAP_MBMSSessionIdentity",
+ "RANAP_MBMSSessionIdentity",
+ RANAP_MBMSSessionIdentity_free,
+ RANAP_MBMSSessionIdentity_print,
+ RANAP_MBMSSessionIdentity_constraint,
+ RANAP_MBMSSessionIdentity_decode_ber,
+ RANAP_MBMSSessionIdentity_encode_der,
+ RANAP_MBMSSessionIdentity_decode_xer,
+ RANAP_MBMSSessionIdentity_encode_xer,
+ RANAP_MBMSSessionIdentity_decode_uper,
+ RANAP_MBMSSessionIdentity_encode_uper,
+ RANAP_MBMSSessionIdentity_decode_aper,
+ RANAP_MBMSSessionIdentity_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSSessionIdentity_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSSessionIdentity_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSSessionIdentity_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSSessionIdentity_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSSessionIdentity_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSSessionIdentity_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_MBMSSessionIdentity_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_MBMSSessionIdentity.h b/src/ranap/RANAP_MBMSSessionIdentity.h
new file mode 100644
index 0000000..f9d7892
--- /dev/null
+++ b/src/ranap/RANAP_MBMSSessionIdentity.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MBMSSessionIdentity_H_
+#define _RANAP_MBMSSessionIdentity_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSSessionIdentity */
+typedef OCTET_STRING_t RANAP_MBMSSessionIdentity_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSSessionIdentity;
+asn_struct_free_f RANAP_MBMSSessionIdentity_free;
+asn_struct_print_f RANAP_MBMSSessionIdentity_print;
+asn_constr_check_f RANAP_MBMSSessionIdentity_constraint;
+ber_type_decoder_f RANAP_MBMSSessionIdentity_decode_ber;
+der_type_encoder_f RANAP_MBMSSessionIdentity_encode_der;
+xer_type_decoder_f RANAP_MBMSSessionIdentity_decode_xer;
+xer_type_encoder_f RANAP_MBMSSessionIdentity_encode_xer;
+per_type_decoder_f RANAP_MBMSSessionIdentity_decode_uper;
+per_type_encoder_f RANAP_MBMSSessionIdentity_encode_uper;
+per_type_decoder_f RANAP_MBMSSessionIdentity_decode_aper;
+per_type_encoder_f RANAP_MBMSSessionIdentity_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSSessionIdentity_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSSessionRepetitionNumber.c b/src/ranap/RANAP_MBMSSessionRepetitionNumber.c
new file mode 100644
index 0000000..76a372b
--- /dev/null
+++ b/src/ranap/RANAP_MBMSSessionRepetitionNumber.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MBMSSessionRepetitionNumber.h"
+
+int
+RANAP_MBMSSessionRepetitionNumber_constraint(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 == 1l)) {
+ /* 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 void
+RANAP_MBMSSessionRepetitionNumber_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_MBMSSessionRepetitionNumber_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_MBMSSessionRepetitionNumber_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_MBMSSessionRepetitionNumber_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSSessionRepetitionNumber_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSSessionRepetitionNumber_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_MBMSSessionRepetitionNumber_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_MBMSSessionRepetitionNumber_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSSessionRepetitionNumber_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSSessionRepetitionNumber_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_MBMSSessionRepetitionNumber_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_MBMSSessionRepetitionNumber_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MBMSSessionRepetitionNumber_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MBMSSessionRepetitionNumber_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MBMSSessionRepetitionNumber_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_MBMSSessionRepetitionNumber_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MBMSSessionRepetitionNumber_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_MBMSSessionRepetitionNumber_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MBMSSessionRepetitionNumber_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_MBMSSessionRepetitionNumber_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MBMSSessionRepetitionNumber_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_MBMSSessionRepetitionNumber_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 1l, 1l } /* (SIZE(1..1)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSSessionRepetitionNumber_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSSessionRepetitionNumber = {
+ "RANAP_MBMSSessionRepetitionNumber",
+ "RANAP_MBMSSessionRepetitionNumber",
+ RANAP_MBMSSessionRepetitionNumber_free,
+ RANAP_MBMSSessionRepetitionNumber_print,
+ RANAP_MBMSSessionRepetitionNumber_constraint,
+ RANAP_MBMSSessionRepetitionNumber_decode_ber,
+ RANAP_MBMSSessionRepetitionNumber_encode_der,
+ RANAP_MBMSSessionRepetitionNumber_decode_xer,
+ RANAP_MBMSSessionRepetitionNumber_encode_xer,
+ RANAP_MBMSSessionRepetitionNumber_decode_uper,
+ RANAP_MBMSSessionRepetitionNumber_encode_uper,
+ RANAP_MBMSSessionRepetitionNumber_decode_aper,
+ RANAP_MBMSSessionRepetitionNumber_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSSessionRepetitionNumber_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSSessionRepetitionNumber_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSSessionRepetitionNumber_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSSessionRepetitionNumber_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSSessionRepetitionNumber_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSSessionRepetitionNumber_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_MBMSSessionRepetitionNumber_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_MBMSSessionRepetitionNumber.h b/src/ranap/RANAP_MBMSSessionRepetitionNumber.h
new file mode 100644
index 0000000..980c186
--- /dev/null
+++ b/src/ranap/RANAP_MBMSSessionRepetitionNumber.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MBMSSessionRepetitionNumber_H_
+#define _RANAP_MBMSSessionRepetitionNumber_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSSessionRepetitionNumber */
+typedef OCTET_STRING_t RANAP_MBMSSessionRepetitionNumber_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSSessionRepetitionNumber;
+asn_struct_free_f RANAP_MBMSSessionRepetitionNumber_free;
+asn_struct_print_f RANAP_MBMSSessionRepetitionNumber_print;
+asn_constr_check_f RANAP_MBMSSessionRepetitionNumber_constraint;
+ber_type_decoder_f RANAP_MBMSSessionRepetitionNumber_decode_ber;
+der_type_encoder_f RANAP_MBMSSessionRepetitionNumber_encode_der;
+xer_type_decoder_f RANAP_MBMSSessionRepetitionNumber_decode_xer;
+xer_type_encoder_f RANAP_MBMSSessionRepetitionNumber_encode_xer;
+per_type_decoder_f RANAP_MBMSSessionRepetitionNumber_decode_uper;
+per_type_encoder_f RANAP_MBMSSessionRepetitionNumber_encode_uper;
+per_type_decoder_f RANAP_MBMSSessionRepetitionNumber_decode_aper;
+per_type_encoder_f RANAP_MBMSSessionRepetitionNumber_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSSessionRepetitionNumber_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSSessionStart.c b/src/ranap/RANAP_MBMSSessionStart.c
new file mode 100644
index 0000000..507e9a4
--- /dev/null
+++ b/src/ranap/RANAP_MBMSSessionStart.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_MBMSSessionStart.h"
+
+static int
+memb_mBMSSessionStart_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_mBMSSessionStart_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_mBMSSessionStart_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_mBMSSessionStart_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_mBMSSessionStart_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_mBMSSessionStart_ies_specs_2 = {
+ sizeof(struct mBMSSessionStart_ies),
+ offsetof(struct mBMSSessionStart_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_mBMSSessionStart_ies_2 = {
+ "mBMSSessionStart-ies",
+ "mBMSSessionStart-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_mBMSSessionStart_ies_tags_2,
+ sizeof(asn_DEF_mBMSSessionStart_ies_tags_2)
+ /sizeof(asn_DEF_mBMSSessionStart_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_mBMSSessionStart_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_mBMSSessionStart_ies_tags_2)
+ /sizeof(asn_DEF_mBMSSessionStart_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_mBMSSessionStart_ies_constr_2,
+ asn_MBR_mBMSSessionStart_ies_2,
+ 1, /* Single element */
+ &asn_SPC_mBMSSessionStart_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_MBMSSessionStart_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MBMSSessionStart, mBMSSessionStart_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_mBMSSessionStart_ies_2,
+ memb_mBMSSessionStart_ies_constraint_1,
+ &asn_PER_memb_mBMSSessionStart_ies_constr_2,
+ 0,
+ "mBMSSessionStart-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSSessionStart_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MBMSSessionStart_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* mBMSSessionStart-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_MBMSSessionStart_specs_1 = {
+ sizeof(struct RANAP_MBMSSessionStart),
+ offsetof(struct RANAP_MBMSSessionStart, _asn_ctx),
+ asn_MAP_RANAP_MBMSSessionStart_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSSessionStart = {
+ "RANAP_MBMSSessionStart",
+ "RANAP_MBMSSessionStart",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSSessionStart_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSSessionStart_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSSessionStart_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSSessionStart_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSSessionStart_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSSessionStart_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_MBMSSessionStart_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_MBMSSessionStart_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSSessionStart.h b/src/ranap/RANAP_MBMSSessionStart.h
new file mode 100644
index 0000000..4f3fa13
--- /dev/null
+++ b/src/ranap/RANAP_MBMSSessionStart.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_MBMSSessionStart_H_
+#define _RANAP_MBMSSessionStart_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSSessionStart */
+typedef struct RANAP_MBMSSessionStart {
+ struct mBMSSessionStart_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } mBMSSessionStart_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MBMSSessionStart_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSSessionStart;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSSessionStart_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSSessionStartFailure.c b/src/ranap/RANAP_MBMSSessionStartFailure.c
new file mode 100644
index 0000000..01f2af8
--- /dev/null
+++ b/src/ranap/RANAP_MBMSSessionStartFailure.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_MBMSSessionStartFailure.h"
+
+static int
+memb_mBMSSessionStartFailure_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_mBMSSessionStartFailure_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_mBMSSessionStartFailure_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_mBMSSessionStartFailure_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_mBMSSessionStartFailure_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_mBMSSessionStartFailure_ies_specs_2 = {
+ sizeof(struct mBMSSessionStartFailure_ies),
+ offsetof(struct mBMSSessionStartFailure_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_mBMSSessionStartFailure_ies_2 = {
+ "mBMSSessionStartFailure-ies",
+ "mBMSSessionStartFailure-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_mBMSSessionStartFailure_ies_tags_2,
+ sizeof(asn_DEF_mBMSSessionStartFailure_ies_tags_2)
+ /sizeof(asn_DEF_mBMSSessionStartFailure_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_mBMSSessionStartFailure_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_mBMSSessionStartFailure_ies_tags_2)
+ /sizeof(asn_DEF_mBMSSessionStartFailure_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_mBMSSessionStartFailure_ies_constr_2,
+ asn_MBR_mBMSSessionStartFailure_ies_2,
+ 1, /* Single element */
+ &asn_SPC_mBMSSessionStartFailure_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_MBMSSessionStartFailure_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MBMSSessionStartFailure, mBMSSessionStartFailure_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_mBMSSessionStartFailure_ies_2,
+ memb_mBMSSessionStartFailure_ies_constraint_1,
+ &asn_PER_memb_mBMSSessionStartFailure_ies_constr_2,
+ 0,
+ "mBMSSessionStartFailure-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSSessionStartFailure_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MBMSSessionStartFailure_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* mBMSSessionStartFailure-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_MBMSSessionStartFailure_specs_1 = {
+ sizeof(struct RANAP_MBMSSessionStartFailure),
+ offsetof(struct RANAP_MBMSSessionStartFailure, _asn_ctx),
+ asn_MAP_RANAP_MBMSSessionStartFailure_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSSessionStartFailure = {
+ "RANAP_MBMSSessionStartFailure",
+ "RANAP_MBMSSessionStartFailure",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSSessionStartFailure_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSSessionStartFailure_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSSessionStartFailure_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSSessionStartFailure_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSSessionStartFailure_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSSessionStartFailure_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_MBMSSessionStartFailure_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_MBMSSessionStartFailure_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSSessionStartFailure.h b/src/ranap/RANAP_MBMSSessionStartFailure.h
new file mode 100644
index 0000000..ba73d35
--- /dev/null
+++ b/src/ranap/RANAP_MBMSSessionStartFailure.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_MBMSSessionStartFailure_H_
+#define _RANAP_MBMSSessionStartFailure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSSessionStartFailure */
+typedef struct RANAP_MBMSSessionStartFailure {
+ struct mBMSSessionStartFailure_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } mBMSSessionStartFailure_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MBMSSessionStartFailure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSSessionStartFailure;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSSessionStartFailure_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSSessionStartResponse.c b/src/ranap/RANAP_MBMSSessionStartResponse.c
new file mode 100644
index 0000000..5fea9b4
--- /dev/null
+++ b/src/ranap/RANAP_MBMSSessionStartResponse.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_MBMSSessionStartResponse.h"
+
+static int
+memb_mBMSSessionStartResponse_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_mBMSSessionStartResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_mBMSSessionStartResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_mBMSSessionStartResponse_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_mBMSSessionStartResponse_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_mBMSSessionStartResponse_ies_specs_2 = {
+ sizeof(struct mBMSSessionStartResponse_ies),
+ offsetof(struct mBMSSessionStartResponse_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_mBMSSessionStartResponse_ies_2 = {
+ "mBMSSessionStartResponse-ies",
+ "mBMSSessionStartResponse-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_mBMSSessionStartResponse_ies_tags_2,
+ sizeof(asn_DEF_mBMSSessionStartResponse_ies_tags_2)
+ /sizeof(asn_DEF_mBMSSessionStartResponse_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_mBMSSessionStartResponse_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_mBMSSessionStartResponse_ies_tags_2)
+ /sizeof(asn_DEF_mBMSSessionStartResponse_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_mBMSSessionStartResponse_ies_constr_2,
+ asn_MBR_mBMSSessionStartResponse_ies_2,
+ 1, /* Single element */
+ &asn_SPC_mBMSSessionStartResponse_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_MBMSSessionStartResponse_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MBMSSessionStartResponse, mBMSSessionStartResponse_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_mBMSSessionStartResponse_ies_2,
+ memb_mBMSSessionStartResponse_ies_constraint_1,
+ &asn_PER_memb_mBMSSessionStartResponse_ies_constr_2,
+ 0,
+ "mBMSSessionStartResponse-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSSessionStartResponse_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MBMSSessionStartResponse_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* mBMSSessionStartResponse-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_MBMSSessionStartResponse_specs_1 = {
+ sizeof(struct RANAP_MBMSSessionStartResponse),
+ offsetof(struct RANAP_MBMSSessionStartResponse, _asn_ctx),
+ asn_MAP_RANAP_MBMSSessionStartResponse_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSSessionStartResponse = {
+ "RANAP_MBMSSessionStartResponse",
+ "RANAP_MBMSSessionStartResponse",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSSessionStartResponse_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSSessionStartResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSSessionStartResponse_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSSessionStartResponse_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSSessionStartResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSSessionStartResponse_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_MBMSSessionStartResponse_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_MBMSSessionStartResponse_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSSessionStartResponse.h b/src/ranap/RANAP_MBMSSessionStartResponse.h
new file mode 100644
index 0000000..ebad774
--- /dev/null
+++ b/src/ranap/RANAP_MBMSSessionStartResponse.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_MBMSSessionStartResponse_H_
+#define _RANAP_MBMSSessionStartResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSSessionStartResponse */
+typedef struct RANAP_MBMSSessionStartResponse {
+ struct mBMSSessionStartResponse_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } mBMSSessionStartResponse_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MBMSSessionStartResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSSessionStartResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSSessionStartResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSSessionStop.c b/src/ranap/RANAP_MBMSSessionStop.c
new file mode 100644
index 0000000..1797bea
--- /dev/null
+++ b/src/ranap/RANAP_MBMSSessionStop.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_MBMSSessionStop.h"
+
+static int
+memb_mBMSSessionStop_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_mBMSSessionStop_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_mBMSSessionStop_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_mBMSSessionStop_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_mBMSSessionStop_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_mBMSSessionStop_ies_specs_2 = {
+ sizeof(struct mBMSSessionStop_ies),
+ offsetof(struct mBMSSessionStop_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_mBMSSessionStop_ies_2 = {
+ "mBMSSessionStop-ies",
+ "mBMSSessionStop-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_mBMSSessionStop_ies_tags_2,
+ sizeof(asn_DEF_mBMSSessionStop_ies_tags_2)
+ /sizeof(asn_DEF_mBMSSessionStop_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_mBMSSessionStop_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_mBMSSessionStop_ies_tags_2)
+ /sizeof(asn_DEF_mBMSSessionStop_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_mBMSSessionStop_ies_constr_2,
+ asn_MBR_mBMSSessionStop_ies_2,
+ 1, /* Single element */
+ &asn_SPC_mBMSSessionStop_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_MBMSSessionStop_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MBMSSessionStop, mBMSSessionStop_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_mBMSSessionStop_ies_2,
+ memb_mBMSSessionStop_ies_constraint_1,
+ &asn_PER_memb_mBMSSessionStop_ies_constr_2,
+ 0,
+ "mBMSSessionStop-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSSessionStop_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MBMSSessionStop_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* mBMSSessionStop-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_MBMSSessionStop_specs_1 = {
+ sizeof(struct RANAP_MBMSSessionStop),
+ offsetof(struct RANAP_MBMSSessionStop, _asn_ctx),
+ asn_MAP_RANAP_MBMSSessionStop_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSSessionStop = {
+ "RANAP_MBMSSessionStop",
+ "RANAP_MBMSSessionStop",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSSessionStop_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSSessionStop_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSSessionStop_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSSessionStop_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSSessionStop_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSSessionStop_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_MBMSSessionStop_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_MBMSSessionStop_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSSessionStop.h b/src/ranap/RANAP_MBMSSessionStop.h
new file mode 100644
index 0000000..eb4cc1a
--- /dev/null
+++ b/src/ranap/RANAP_MBMSSessionStop.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_MBMSSessionStop_H_
+#define _RANAP_MBMSSessionStop_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSSessionStop */
+typedef struct RANAP_MBMSSessionStop {
+ struct mBMSSessionStop_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } mBMSSessionStop_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MBMSSessionStop_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSSessionStop;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSSessionStop_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSSessionStopResponse.c b/src/ranap/RANAP_MBMSSessionStopResponse.c
new file mode 100644
index 0000000..a1730f5
--- /dev/null
+++ b/src/ranap/RANAP_MBMSSessionStopResponse.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_MBMSSessionStopResponse.h"
+
+static int
+memb_mBMSSessionStopResponse_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_mBMSSessionStopResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_mBMSSessionStopResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_mBMSSessionStopResponse_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_mBMSSessionStopResponse_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_mBMSSessionStopResponse_ies_specs_2 = {
+ sizeof(struct mBMSSessionStopResponse_ies),
+ offsetof(struct mBMSSessionStopResponse_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_mBMSSessionStopResponse_ies_2 = {
+ "mBMSSessionStopResponse-ies",
+ "mBMSSessionStopResponse-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_mBMSSessionStopResponse_ies_tags_2,
+ sizeof(asn_DEF_mBMSSessionStopResponse_ies_tags_2)
+ /sizeof(asn_DEF_mBMSSessionStopResponse_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_mBMSSessionStopResponse_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_mBMSSessionStopResponse_ies_tags_2)
+ /sizeof(asn_DEF_mBMSSessionStopResponse_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_mBMSSessionStopResponse_ies_constr_2,
+ asn_MBR_mBMSSessionStopResponse_ies_2,
+ 1, /* Single element */
+ &asn_SPC_mBMSSessionStopResponse_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_MBMSSessionStopResponse_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MBMSSessionStopResponse, mBMSSessionStopResponse_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_mBMSSessionStopResponse_ies_2,
+ memb_mBMSSessionStopResponse_ies_constraint_1,
+ &asn_PER_memb_mBMSSessionStopResponse_ies_constr_2,
+ 0,
+ "mBMSSessionStopResponse-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSSessionStopResponse_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MBMSSessionStopResponse_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* mBMSSessionStopResponse-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_MBMSSessionStopResponse_specs_1 = {
+ sizeof(struct RANAP_MBMSSessionStopResponse),
+ offsetof(struct RANAP_MBMSSessionStopResponse, _asn_ctx),
+ asn_MAP_RANAP_MBMSSessionStopResponse_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSSessionStopResponse = {
+ "RANAP_MBMSSessionStopResponse",
+ "RANAP_MBMSSessionStopResponse",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSSessionStopResponse_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSSessionStopResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSSessionStopResponse_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSSessionStopResponse_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSSessionStopResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSSessionStopResponse_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_MBMSSessionStopResponse_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_MBMSSessionStopResponse_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSSessionStopResponse.h b/src/ranap/RANAP_MBMSSessionStopResponse.h
new file mode 100644
index 0000000..1cfc02e
--- /dev/null
+++ b/src/ranap/RANAP_MBMSSessionStopResponse.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_MBMSSessionStopResponse_H_
+#define _RANAP_MBMSSessionStopResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSSessionStopResponse */
+typedef struct RANAP_MBMSSessionStopResponse {
+ struct mBMSSessionStopResponse_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } mBMSSessionStopResponse_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MBMSSessionStopResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSSessionStopResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSSessionStopResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSSessionUpdate.c b/src/ranap/RANAP_MBMSSessionUpdate.c
new file mode 100644
index 0000000..6d84b28
--- /dev/null
+++ b/src/ranap/RANAP_MBMSSessionUpdate.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_MBMSSessionUpdate.h"
+
+static int
+memb_mBMSSessionUpdate_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_mBMSSessionUpdate_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_mBMSSessionUpdate_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_mBMSSessionUpdate_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_mBMSSessionUpdate_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_mBMSSessionUpdate_ies_specs_2 = {
+ sizeof(struct mBMSSessionUpdate_ies),
+ offsetof(struct mBMSSessionUpdate_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_mBMSSessionUpdate_ies_2 = {
+ "mBMSSessionUpdate-ies",
+ "mBMSSessionUpdate-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_mBMSSessionUpdate_ies_tags_2,
+ sizeof(asn_DEF_mBMSSessionUpdate_ies_tags_2)
+ /sizeof(asn_DEF_mBMSSessionUpdate_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_mBMSSessionUpdate_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_mBMSSessionUpdate_ies_tags_2)
+ /sizeof(asn_DEF_mBMSSessionUpdate_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_mBMSSessionUpdate_ies_constr_2,
+ asn_MBR_mBMSSessionUpdate_ies_2,
+ 1, /* Single element */
+ &asn_SPC_mBMSSessionUpdate_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_MBMSSessionUpdate_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MBMSSessionUpdate, mBMSSessionUpdate_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_mBMSSessionUpdate_ies_2,
+ memb_mBMSSessionUpdate_ies_constraint_1,
+ &asn_PER_memb_mBMSSessionUpdate_ies_constr_2,
+ 0,
+ "mBMSSessionUpdate-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSSessionUpdate_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MBMSSessionUpdate_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* mBMSSessionUpdate-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_MBMSSessionUpdate_specs_1 = {
+ sizeof(struct RANAP_MBMSSessionUpdate),
+ offsetof(struct RANAP_MBMSSessionUpdate, _asn_ctx),
+ asn_MAP_RANAP_MBMSSessionUpdate_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSSessionUpdate = {
+ "RANAP_MBMSSessionUpdate",
+ "RANAP_MBMSSessionUpdate",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSSessionUpdate_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSSessionUpdate_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSSessionUpdate_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSSessionUpdate_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSSessionUpdate_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSSessionUpdate_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_MBMSSessionUpdate_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_MBMSSessionUpdate_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSSessionUpdate.h b/src/ranap/RANAP_MBMSSessionUpdate.h
new file mode 100644
index 0000000..515544b
--- /dev/null
+++ b/src/ranap/RANAP_MBMSSessionUpdate.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_MBMSSessionUpdate_H_
+#define _RANAP_MBMSSessionUpdate_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSSessionUpdate */
+typedef struct RANAP_MBMSSessionUpdate {
+ struct mBMSSessionUpdate_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } mBMSSessionUpdate_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MBMSSessionUpdate_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSSessionUpdate;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSSessionUpdate_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSSessionUpdateFailure.c b/src/ranap/RANAP_MBMSSessionUpdateFailure.c
new file mode 100644
index 0000000..392de3a
--- /dev/null
+++ b/src/ranap/RANAP_MBMSSessionUpdateFailure.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_MBMSSessionUpdateFailure.h"
+
+static int
+memb_mBMSSessionUpdateFailure_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_mBMSSessionUpdateFailure_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_mBMSSessionUpdateFailure_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_mBMSSessionUpdateFailure_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_mBMSSessionUpdateFailure_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_mBMSSessionUpdateFailure_ies_specs_2 = {
+ sizeof(struct mBMSSessionUpdateFailure_ies),
+ offsetof(struct mBMSSessionUpdateFailure_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_mBMSSessionUpdateFailure_ies_2 = {
+ "mBMSSessionUpdateFailure-ies",
+ "mBMSSessionUpdateFailure-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_mBMSSessionUpdateFailure_ies_tags_2,
+ sizeof(asn_DEF_mBMSSessionUpdateFailure_ies_tags_2)
+ /sizeof(asn_DEF_mBMSSessionUpdateFailure_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_mBMSSessionUpdateFailure_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_mBMSSessionUpdateFailure_ies_tags_2)
+ /sizeof(asn_DEF_mBMSSessionUpdateFailure_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_mBMSSessionUpdateFailure_ies_constr_2,
+ asn_MBR_mBMSSessionUpdateFailure_ies_2,
+ 1, /* Single element */
+ &asn_SPC_mBMSSessionUpdateFailure_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_MBMSSessionUpdateFailure_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MBMSSessionUpdateFailure, mBMSSessionUpdateFailure_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_mBMSSessionUpdateFailure_ies_2,
+ memb_mBMSSessionUpdateFailure_ies_constraint_1,
+ &asn_PER_memb_mBMSSessionUpdateFailure_ies_constr_2,
+ 0,
+ "mBMSSessionUpdateFailure-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSSessionUpdateFailure_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MBMSSessionUpdateFailure_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* mBMSSessionUpdateFailure-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_MBMSSessionUpdateFailure_specs_1 = {
+ sizeof(struct RANAP_MBMSSessionUpdateFailure),
+ offsetof(struct RANAP_MBMSSessionUpdateFailure, _asn_ctx),
+ asn_MAP_RANAP_MBMSSessionUpdateFailure_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSSessionUpdateFailure = {
+ "RANAP_MBMSSessionUpdateFailure",
+ "RANAP_MBMSSessionUpdateFailure",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSSessionUpdateFailure_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSSessionUpdateFailure_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSSessionUpdateFailure_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSSessionUpdateFailure_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSSessionUpdateFailure_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSSessionUpdateFailure_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_MBMSSessionUpdateFailure_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_MBMSSessionUpdateFailure_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSSessionUpdateFailure.h b/src/ranap/RANAP_MBMSSessionUpdateFailure.h
new file mode 100644
index 0000000..2913926
--- /dev/null
+++ b/src/ranap/RANAP_MBMSSessionUpdateFailure.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_MBMSSessionUpdateFailure_H_
+#define _RANAP_MBMSSessionUpdateFailure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSSessionUpdateFailure */
+typedef struct RANAP_MBMSSessionUpdateFailure {
+ struct mBMSSessionUpdateFailure_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } mBMSSessionUpdateFailure_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MBMSSessionUpdateFailure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSSessionUpdateFailure;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSSessionUpdateFailure_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSSessionUpdateResponse.c b/src/ranap/RANAP_MBMSSessionUpdateResponse.c
new file mode 100644
index 0000000..5c30885
--- /dev/null
+++ b/src/ranap/RANAP_MBMSSessionUpdateResponse.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_MBMSSessionUpdateResponse.h"
+
+static int
+memb_mBMSSessionUpdateResponse_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_mBMSSessionUpdateResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_mBMSSessionUpdateResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_mBMSSessionUpdateResponse_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_mBMSSessionUpdateResponse_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_mBMSSessionUpdateResponse_ies_specs_2 = {
+ sizeof(struct mBMSSessionUpdateResponse_ies),
+ offsetof(struct mBMSSessionUpdateResponse_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_mBMSSessionUpdateResponse_ies_2 = {
+ "mBMSSessionUpdateResponse-ies",
+ "mBMSSessionUpdateResponse-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_mBMSSessionUpdateResponse_ies_tags_2,
+ sizeof(asn_DEF_mBMSSessionUpdateResponse_ies_tags_2)
+ /sizeof(asn_DEF_mBMSSessionUpdateResponse_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_mBMSSessionUpdateResponse_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_mBMSSessionUpdateResponse_ies_tags_2)
+ /sizeof(asn_DEF_mBMSSessionUpdateResponse_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_mBMSSessionUpdateResponse_ies_constr_2,
+ asn_MBR_mBMSSessionUpdateResponse_ies_2,
+ 1, /* Single element */
+ &asn_SPC_mBMSSessionUpdateResponse_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_MBMSSessionUpdateResponse_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MBMSSessionUpdateResponse, mBMSSessionUpdateResponse_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_mBMSSessionUpdateResponse_ies_2,
+ memb_mBMSSessionUpdateResponse_ies_constraint_1,
+ &asn_PER_memb_mBMSSessionUpdateResponse_ies_constr_2,
+ 0,
+ "mBMSSessionUpdateResponse-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSSessionUpdateResponse_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MBMSSessionUpdateResponse_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* mBMSSessionUpdateResponse-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_MBMSSessionUpdateResponse_specs_1 = {
+ sizeof(struct RANAP_MBMSSessionUpdateResponse),
+ offsetof(struct RANAP_MBMSSessionUpdateResponse, _asn_ctx),
+ asn_MAP_RANAP_MBMSSessionUpdateResponse_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSSessionUpdateResponse = {
+ "RANAP_MBMSSessionUpdateResponse",
+ "RANAP_MBMSSessionUpdateResponse",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSSessionUpdateResponse_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSSessionUpdateResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSSessionUpdateResponse_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSSessionUpdateResponse_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSSessionUpdateResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSSessionUpdateResponse_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_MBMSSessionUpdateResponse_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_MBMSSessionUpdateResponse_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSSessionUpdateResponse.h b/src/ranap/RANAP_MBMSSessionUpdateResponse.h
new file mode 100644
index 0000000..95d0f7f
--- /dev/null
+++ b/src/ranap/RANAP_MBMSSessionUpdateResponse.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_MBMSSessionUpdateResponse_H_
+#define _RANAP_MBMSSessionUpdateResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSSessionUpdateResponse */
+typedef struct RANAP_MBMSSessionUpdateResponse {
+ struct mBMSSessionUpdateResponse_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } mBMSSessionUpdateResponse_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MBMSSessionUpdateResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSSessionUpdateResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSSessionUpdateResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSUELinkingRequest.c b/src/ranap/RANAP_MBMSUELinkingRequest.c
new file mode 100644
index 0000000..3f5e152
--- /dev/null
+++ b/src/ranap/RANAP_MBMSUELinkingRequest.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_MBMSUELinkingRequest.h"
+
+static int
+memb_mBMSUELinkingRequest_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_mBMSUELinkingRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_mBMSUELinkingRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_mBMSUELinkingRequest_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_mBMSUELinkingRequest_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_mBMSUELinkingRequest_ies_specs_2 = {
+ sizeof(struct mBMSUELinkingRequest_ies),
+ offsetof(struct mBMSUELinkingRequest_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_mBMSUELinkingRequest_ies_2 = {
+ "mBMSUELinkingRequest-ies",
+ "mBMSUELinkingRequest-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_mBMSUELinkingRequest_ies_tags_2,
+ sizeof(asn_DEF_mBMSUELinkingRequest_ies_tags_2)
+ /sizeof(asn_DEF_mBMSUELinkingRequest_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_mBMSUELinkingRequest_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_mBMSUELinkingRequest_ies_tags_2)
+ /sizeof(asn_DEF_mBMSUELinkingRequest_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_mBMSUELinkingRequest_ies_constr_2,
+ asn_MBR_mBMSUELinkingRequest_ies_2,
+ 1, /* Single element */
+ &asn_SPC_mBMSUELinkingRequest_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_MBMSUELinkingRequest_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MBMSUELinkingRequest, mBMSUELinkingRequest_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_mBMSUELinkingRequest_ies_2,
+ memb_mBMSUELinkingRequest_ies_constraint_1,
+ &asn_PER_memb_mBMSUELinkingRequest_ies_constr_2,
+ 0,
+ "mBMSUELinkingRequest-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSUELinkingRequest_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MBMSUELinkingRequest_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* mBMSUELinkingRequest-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_MBMSUELinkingRequest_specs_1 = {
+ sizeof(struct RANAP_MBMSUELinkingRequest),
+ offsetof(struct RANAP_MBMSUELinkingRequest, _asn_ctx),
+ asn_MAP_RANAP_MBMSUELinkingRequest_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSUELinkingRequest = {
+ "RANAP_MBMSUELinkingRequest",
+ "RANAP_MBMSUELinkingRequest",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSUELinkingRequest_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSUELinkingRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSUELinkingRequest_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSUELinkingRequest_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSUELinkingRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSUELinkingRequest_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_MBMSUELinkingRequest_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_MBMSUELinkingRequest_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSUELinkingRequest.h b/src/ranap/RANAP_MBMSUELinkingRequest.h
new file mode 100644
index 0000000..7f99842
--- /dev/null
+++ b/src/ranap/RANAP_MBMSUELinkingRequest.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_MBMSUELinkingRequest_H_
+#define _RANAP_MBMSUELinkingRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSUELinkingRequest */
+typedef struct RANAP_MBMSUELinkingRequest {
+ struct mBMSUELinkingRequest_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } mBMSUELinkingRequest_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MBMSUELinkingRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSUELinkingRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSUELinkingRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MBMSUELinkingResponse.c b/src/ranap/RANAP_MBMSUELinkingResponse.c
new file mode 100644
index 0000000..9f04128
--- /dev/null
+++ b/src/ranap/RANAP_MBMSUELinkingResponse.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_MBMSUELinkingResponse.h"
+
+static int
+memb_mBMSUELinkingResponse_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_mBMSUELinkingResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_mBMSUELinkingResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_mBMSUELinkingResponse_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_mBMSUELinkingResponse_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_mBMSUELinkingResponse_ies_specs_2 = {
+ sizeof(struct mBMSUELinkingResponse_ies),
+ offsetof(struct mBMSUELinkingResponse_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_mBMSUELinkingResponse_ies_2 = {
+ "mBMSUELinkingResponse-ies",
+ "mBMSUELinkingResponse-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_mBMSUELinkingResponse_ies_tags_2,
+ sizeof(asn_DEF_mBMSUELinkingResponse_ies_tags_2)
+ /sizeof(asn_DEF_mBMSUELinkingResponse_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_mBMSUELinkingResponse_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_mBMSUELinkingResponse_ies_tags_2)
+ /sizeof(asn_DEF_mBMSUELinkingResponse_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_mBMSUELinkingResponse_ies_constr_2,
+ asn_MBR_mBMSUELinkingResponse_ies_2,
+ 1, /* Single element */
+ &asn_SPC_mBMSUELinkingResponse_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_MBMSUELinkingResponse_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MBMSUELinkingResponse, mBMSUELinkingResponse_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_mBMSUELinkingResponse_ies_2,
+ memb_mBMSUELinkingResponse_ies_constraint_1,
+ &asn_PER_memb_mBMSUELinkingResponse_ies_constr_2,
+ 0,
+ "mBMSUELinkingResponse-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MBMSUELinkingResponse_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MBMSUELinkingResponse_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* mBMSUELinkingResponse-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_MBMSUELinkingResponse_specs_1 = {
+ sizeof(struct RANAP_MBMSUELinkingResponse),
+ offsetof(struct RANAP_MBMSUELinkingResponse, _asn_ctx),
+ asn_MAP_RANAP_MBMSUELinkingResponse_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSUELinkingResponse = {
+ "RANAP_MBMSUELinkingResponse",
+ "RANAP_MBMSUELinkingResponse",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MBMSUELinkingResponse_tags_1,
+ sizeof(asn_DEF_RANAP_MBMSUELinkingResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSUELinkingResponse_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MBMSUELinkingResponse_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MBMSUELinkingResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_MBMSUELinkingResponse_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_MBMSUELinkingResponse_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_MBMSUELinkingResponse_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MBMSUELinkingResponse.h b/src/ranap/RANAP_MBMSUELinkingResponse.h
new file mode 100644
index 0000000..c68c1c4
--- /dev/null
+++ b/src/ranap/RANAP_MBMSUELinkingResponse.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_MBMSUELinkingResponse_H_
+#define _RANAP_MBMSUELinkingResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MBMSUELinkingResponse */
+typedef struct RANAP_MBMSUELinkingResponse {
+ struct mBMSUELinkingResponse_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } mBMSUELinkingResponse_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MBMSUELinkingResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MBMSUELinkingResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MBMSUELinkingResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MDT-Activation.c b/src/ranap/RANAP_MDT-Activation.c
new file mode 100644
index 0000000..4269a33
--- /dev/null
+++ b/src/ranap/RANAP_MDT-Activation.c
@@ -0,0 +1,169 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MDT-Activation.h"
+
+int
+RANAP_MDT_Activation_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_MDT_Activation_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_MDT_Activation_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_MDT_Activation_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_MDT_Activation_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MDT_Activation_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MDT_Activation_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_MDT_Activation_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_MDT_Activation_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MDT_Activation_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MDT_Activation_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_MDT_Activation_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_MDT_Activation_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MDT_Activation_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MDT_Activation_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MDT_Activation_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_MDT_Activation_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MDT_Activation_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_MDT_Activation_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MDT_Activation_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_MDT_Activation_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MDT_Activation_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_MDT_Activation_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 2l } /* (0..2,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_MDT_Activation_value2enum_1[] = {
+ { 0, 16, "immediateMDTonly" },
+ { 1, 13, "loggedMDTonly" },
+ { 2, 20, "immediateMDTandTrace" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_MDT_Activation_enum2value_1[] = {
+ 2, /* immediateMDTandTrace(2) */
+ 0, /* immediateMDTonly(0) */
+ 1 /* loggedMDTonly(1) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_MDT_Activation_specs_1 = {
+ asn_MAP_RANAP_MDT_Activation_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_MDT_Activation_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_RANAP_MDT_Activation_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MDT_Activation = {
+ "RANAP_MDT-Activation",
+ "RANAP_MDT-Activation",
+ RANAP_MDT_Activation_free,
+ RANAP_MDT_Activation_print,
+ RANAP_MDT_Activation_constraint,
+ RANAP_MDT_Activation_decode_ber,
+ RANAP_MDT_Activation_encode_der,
+ RANAP_MDT_Activation_decode_xer,
+ RANAP_MDT_Activation_encode_xer,
+ RANAP_MDT_Activation_decode_uper,
+ RANAP_MDT_Activation_encode_uper,
+ RANAP_MDT_Activation_decode_aper,
+ RANAP_MDT_Activation_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MDT_Activation_tags_1,
+ sizeof(asn_DEF_RANAP_MDT_Activation_tags_1)
+ /sizeof(asn_DEF_RANAP_MDT_Activation_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MDT_Activation_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MDT_Activation_tags_1)
+ /sizeof(asn_DEF_RANAP_MDT_Activation_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_MDT_Activation_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_MDT_Activation_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MDT-Activation.h b/src/ranap/RANAP_MDT-Activation.h
new file mode 100644
index 0000000..d74a08a
--- /dev/null
+++ b/src/ranap/RANAP_MDT-Activation.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MDT_Activation_H_
+#define _RANAP_MDT_Activation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_MDT_Activation {
+ RANAP_MDT_Activation_immediateMDTonly = 0,
+ RANAP_MDT_Activation_loggedMDTonly = 1,
+ RANAP_MDT_Activation_immediateMDTandTrace = 2
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_MDT_Activation;
+
+/* RANAP_MDT-Activation */
+typedef long RANAP_MDT_Activation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MDT_Activation;
+asn_struct_free_f RANAP_MDT_Activation_free;
+asn_struct_print_f RANAP_MDT_Activation_print;
+asn_constr_check_f RANAP_MDT_Activation_constraint;
+ber_type_decoder_f RANAP_MDT_Activation_decode_ber;
+der_type_encoder_f RANAP_MDT_Activation_encode_der;
+xer_type_decoder_f RANAP_MDT_Activation_decode_xer;
+xer_type_encoder_f RANAP_MDT_Activation_encode_xer;
+per_type_decoder_f RANAP_MDT_Activation_decode_uper;
+per_type_encoder_f RANAP_MDT_Activation_encode_uper;
+per_type_decoder_f RANAP_MDT_Activation_decode_aper;
+per_type_encoder_f RANAP_MDT_Activation_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MDT_Activation_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MDT-Configuration.c b/src/ranap/RANAP_MDT-Configuration.c
new file mode 100644
index 0000000..3d3efd1
--- /dev/null
+++ b/src/ranap/RANAP_MDT-Configuration.c
@@ -0,0 +1,93 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MDT-Configuration.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_MDT_Configuration_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MDT_Configuration, mdtActivation),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_MDT_Activation,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "mdtActivation"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MDT_Configuration, mdtAreaScope),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANAP_MDTAreaScope,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "mdtAreaScope"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MDT_Configuration, mdtMode),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANAP_MDTMode,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "mdtMode"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_MDT_Configuration, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_MDT_Configuration_oms_1[] = { 3 };
+static const ber_tlv_tag_t asn_DEF_RANAP_MDT_Configuration_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MDT_Configuration_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* mdtActivation */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* mdtAreaScope */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* mdtMode */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_MDT_Configuration_specs_1 = {
+ sizeof(struct RANAP_MDT_Configuration),
+ offsetof(struct RANAP_MDT_Configuration, _asn_ctx),
+ asn_MAP_RANAP_MDT_Configuration_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_RANAP_MDT_Configuration_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 3, /* Start extensions */
+ 5 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MDT_Configuration = {
+ "RANAP_MDT-Configuration",
+ "RANAP_MDT-Configuration",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MDT_Configuration_tags_1,
+ sizeof(asn_DEF_RANAP_MDT_Configuration_tags_1)
+ /sizeof(asn_DEF_RANAP_MDT_Configuration_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MDT_Configuration_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MDT_Configuration_tags_1)
+ /sizeof(asn_DEF_RANAP_MDT_Configuration_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_MDT_Configuration_1,
+ 4, /* Elements count */
+ &asn_SPC_RANAP_MDT_Configuration_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MDT-Configuration.h b/src/ranap/RANAP_MDT-Configuration.h
new file mode 100644
index 0000000..128cc7c
--- /dev/null
+++ b/src/ranap/RANAP_MDT-Configuration.h
@@ -0,0 +1,47 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MDT_Configuration_H_
+#define _RANAP_MDT_Configuration_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_MDT-Activation.h"
+#include "RANAP_MDTAreaScope.h"
+#include "RANAP_MDTMode.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MDT-Configuration */
+typedef struct RANAP_MDT_Configuration {
+ RANAP_MDT_Activation_t mdtActivation;
+ RANAP_MDTAreaScope_t mdtAreaScope;
+ RANAP_MDTMode_t mdtMode;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MDT_Configuration_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MDT_Configuration;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MDT_Configuration_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MDT-PLMN-List.c b/src/ranap/RANAP_MDT-PLMN-List.c
new file mode 100644
index 0000000..e24381d
--- /dev/null
+++ b/src/ranap/RANAP_MDT-PLMN-List.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MDT-PLMN-List.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_MDT_PLMN_List_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 4, 4, 1l, 16l } /* (SIZE(1..16)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_MDT_PLMN_List_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_PLMNidentity,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MDT_PLMN_List_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_MDT_PLMN_List_specs_1 = {
+ sizeof(struct RANAP_MDT_PLMN_List),
+ offsetof(struct RANAP_MDT_PLMN_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MDT_PLMN_List = {
+ "RANAP_MDT-PLMN-List",
+ "RANAP_MDT-PLMN-List",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MDT_PLMN_List_tags_1,
+ sizeof(asn_DEF_RANAP_MDT_PLMN_List_tags_1)
+ /sizeof(asn_DEF_RANAP_MDT_PLMN_List_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MDT_PLMN_List_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MDT_PLMN_List_tags_1)
+ /sizeof(asn_DEF_RANAP_MDT_PLMN_List_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_MDT_PLMN_List_constr_1,
+ asn_MBR_RANAP_MDT_PLMN_List_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_MDT_PLMN_List_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MDT-PLMN-List.h b/src/ranap/RANAP_MDT-PLMN-List.h
new file mode 100644
index 0000000..329f2fd
--- /dev/null
+++ b/src/ranap/RANAP_MDT-PLMN-List.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MDT_PLMN_List_H_
+#define _RANAP_MDT_PLMN_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_PLMNidentity.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MDT-PLMN-List */
+typedef struct RANAP_MDT_PLMN_List {
+ A_SEQUENCE_OF(RANAP_PLMNidentity_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MDT_PLMN_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MDT_PLMN_List;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MDT_PLMN_List_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MDT-Report-Parameters.c b/src/ranap/RANAP_MDT-Report-Parameters.c
new file mode 100644
index 0000000..da15db3
--- /dev/null
+++ b/src/ranap/RANAP_MDT-Report-Parameters.c
@@ -0,0 +1,71 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MDT-Report-Parameters.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_MDT_Report_Parameters_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MDT_Report_Parameters, reportInterval),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_ReportInterval,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "reportInterval"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MDT_Report_Parameters, reportAmount),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_ReportAmount,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "reportAmount"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MDT_Report_Parameters_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MDT_Report_Parameters_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* reportInterval */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* reportAmount */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_MDT_Report_Parameters_specs_1 = {
+ sizeof(struct RANAP_MDT_Report_Parameters),
+ offsetof(struct RANAP_MDT_Report_Parameters, _asn_ctx),
+ asn_MAP_RANAP_MDT_Report_Parameters_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* Start extensions */
+ 3 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MDT_Report_Parameters = {
+ "RANAP_MDT-Report-Parameters",
+ "RANAP_MDT-Report-Parameters",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MDT_Report_Parameters_tags_1,
+ sizeof(asn_DEF_RANAP_MDT_Report_Parameters_tags_1)
+ /sizeof(asn_DEF_RANAP_MDT_Report_Parameters_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MDT_Report_Parameters_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MDT_Report_Parameters_tags_1)
+ /sizeof(asn_DEF_RANAP_MDT_Report_Parameters_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_MDT_Report_Parameters_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_MDT_Report_Parameters_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MDT-Report-Parameters.h b/src/ranap/RANAP_MDT-Report-Parameters.h
new file mode 100644
index 0000000..2b1225b
--- /dev/null
+++ b/src/ranap/RANAP_MDT-Report-Parameters.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MDT_Report_Parameters_H_
+#define _RANAP_MDT_Report_Parameters_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_ReportInterval.h"
+#include "RANAP_ReportAmount.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MDT-Report-Parameters */
+typedef struct RANAP_MDT_Report_Parameters {
+ RANAP_ReportInterval_t reportInterval;
+ RANAP_ReportAmount_t reportAmount;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MDT_Report_Parameters_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MDT_Report_Parameters;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MDT_Report_Parameters_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MDTAreaScope.c b/src/ranap/RANAP_MDTAreaScope.c
new file mode 100644
index 0000000..dc00852
--- /dev/null
+++ b/src/ranap/RANAP_MDTAreaScope.c
@@ -0,0 +1,92 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MDTAreaScope.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_MDTAreaScope_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 3l } /* (0..3,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_MDTAreaScope_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MDTAreaScope, choice.cellbased),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_CellBased,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "cellbased"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MDTAreaScope, choice.labased),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_LABased,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "labased"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MDTAreaScope, choice.rabased),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RABased,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rabased"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MDTAreaScope, choice.plmn_area_based),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NULL,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "plmn-area-based"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MDTAreaScope_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellbased */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* labased */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* rabased */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* plmn-area-based */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_MDTAreaScope_specs_1 = {
+ sizeof(struct RANAP_MDTAreaScope),
+ offsetof(struct RANAP_MDTAreaScope, _asn_ctx),
+ offsetof(struct RANAP_MDTAreaScope, present),
+ sizeof(((struct RANAP_MDTAreaScope *)0)->present),
+ asn_MAP_RANAP_MDTAreaScope_tag2el_1,
+ 4, /* Count of tags in the map */
+ 0,
+ 4 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MDTAreaScope = {
+ "RANAP_MDTAreaScope",
+ "RANAP_MDTAreaScope",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_MDTAreaScope_constr_1,
+ asn_MBR_RANAP_MDTAreaScope_1,
+ 4, /* Elements count */
+ &asn_SPC_RANAP_MDTAreaScope_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MDTAreaScope.h b/src/ranap/RANAP_MDTAreaScope.h
new file mode 100644
index 0000000..d538daa
--- /dev/null
+++ b/src/ranap/RANAP_MDTAreaScope.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MDTAreaScope_H_
+#define _RANAP_MDTAreaScope_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_CellBased.h"
+#include "RANAP_LABased.h"
+#include "RANAP_RABased.h"
+#include <NULL.h>
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_MDTAreaScope_PR {
+ RANAP_MDTAreaScope_PR_NOTHING, /* No components present */
+ RANAP_MDTAreaScope_PR_cellbased,
+ RANAP_MDTAreaScope_PR_labased,
+ RANAP_MDTAreaScope_PR_rabased,
+ RANAP_MDTAreaScope_PR_plmn_area_based,
+ /* Extensions may appear below */
+
+} RANAP_MDTAreaScope_PR;
+
+/* RANAP_MDTAreaScope */
+typedef struct RANAP_MDTAreaScope {
+ RANAP_MDTAreaScope_PR present;
+ union RANAP_MDTAreaScope_u {
+ RANAP_CellBased_t cellbased;
+ RANAP_LABased_t labased;
+ RANAP_RABased_t rabased;
+ NULL_t plmn_area_based;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MDTAreaScope_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MDTAreaScope;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MDTAreaScope_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MDTMode.c b/src/ranap/RANAP_MDTMode.c
new file mode 100644
index 0000000..0391501
--- /dev/null
+++ b/src/ranap/RANAP_MDTMode.c
@@ -0,0 +1,72 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MDTMode.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_MDTMode_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_MDTMode_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MDTMode, choice.immediateMDT),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_ImmediateMDT,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "immediateMDT"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_MDTMode, choice.loggedMDT),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_LoggedMDT,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "loggedMDT"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_MDTMode_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* immediateMDT */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* loggedMDT */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_MDTMode_specs_1 = {
+ sizeof(struct RANAP_MDTMode),
+ offsetof(struct RANAP_MDTMode, _asn_ctx),
+ offsetof(struct RANAP_MDTMode, present),
+ sizeof(((struct RANAP_MDTMode *)0)->present),
+ asn_MAP_RANAP_MDTMode_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MDTMode = {
+ "RANAP_MDTMode",
+ "RANAP_MDTMode",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_MDTMode_constr_1,
+ asn_MBR_RANAP_MDTMode_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_MDTMode_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MDTMode.h b/src/ranap/RANAP_MDTMode.h
new file mode 100644
index 0000000..71da3af
--- /dev/null
+++ b/src/ranap/RANAP_MDTMode.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MDTMode_H_
+#define _RANAP_MDTMode_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_ImmediateMDT.h"
+#include "RANAP_LoggedMDT.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_MDTMode_PR {
+ RANAP_MDTMode_PR_NOTHING, /* No components present */
+ RANAP_MDTMode_PR_immediateMDT,
+ RANAP_MDTMode_PR_loggedMDT,
+ /* Extensions may appear below */
+
+} RANAP_MDTMode_PR;
+
+/* RANAP_MDTMode */
+typedef struct RANAP_MDTMode {
+ RANAP_MDTMode_PR present;
+ union RANAP_MDTMode_u {
+ RANAP_ImmediateMDT_t immediateMDT;
+ RANAP_LoggedMDT_t loggedMDT;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MDTMode_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MDTMode;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MDTMode_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MSISDN.c b/src/ranap/RANAP_MSISDN.c
new file mode 100644
index 0000000..c359e3f
--- /dev/null
+++ b/src/ranap/RANAP_MSISDN.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MSISDN.h"
+
+int
+RANAP_MSISDN_constraint(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 >= 1l && size <= 9l)) {
+ /* 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 void
+RANAP_MSISDN_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_MSISDN_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_MSISDN_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_MSISDN_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MSISDN_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MSISDN_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_MSISDN_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_MSISDN_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MSISDN_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MSISDN_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_MSISDN_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_MSISDN_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MSISDN_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MSISDN_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MSISDN_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_MSISDN_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MSISDN_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_MSISDN_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MSISDN_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_MSISDN_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MSISDN_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_MSISDN_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 4, 4, 1l, 9l } /* (SIZE(1..9)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MSISDN_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MSISDN = {
+ "RANAP_MSISDN",
+ "RANAP_MSISDN",
+ RANAP_MSISDN_free,
+ RANAP_MSISDN_print,
+ RANAP_MSISDN_constraint,
+ RANAP_MSISDN_decode_ber,
+ RANAP_MSISDN_encode_der,
+ RANAP_MSISDN_decode_xer,
+ RANAP_MSISDN_encode_xer,
+ RANAP_MSISDN_decode_uper,
+ RANAP_MSISDN_encode_uper,
+ RANAP_MSISDN_decode_aper,
+ RANAP_MSISDN_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MSISDN_tags_1,
+ sizeof(asn_DEF_RANAP_MSISDN_tags_1)
+ /sizeof(asn_DEF_RANAP_MSISDN_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MSISDN_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MSISDN_tags_1)
+ /sizeof(asn_DEF_RANAP_MSISDN_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_MSISDN_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_MSISDN.h b/src/ranap/RANAP_MSISDN.h
new file mode 100644
index 0000000..5b248fb
--- /dev/null
+++ b/src/ranap/RANAP_MSISDN.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MSISDN_H_
+#define _RANAP_MSISDN_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MSISDN */
+typedef OCTET_STRING_t RANAP_MSISDN_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MSISDN;
+asn_struct_free_f RANAP_MSISDN_free;
+asn_struct_print_f RANAP_MSISDN_print;
+asn_constr_check_f RANAP_MSISDN_constraint;
+ber_type_decoder_f RANAP_MSISDN_decode_ber;
+der_type_encoder_f RANAP_MSISDN_encode_der;
+xer_type_decoder_f RANAP_MSISDN_decode_xer;
+xer_type_encoder_f RANAP_MSISDN_encode_xer;
+per_type_decoder_f RANAP_MSISDN_decode_uper;
+per_type_encoder_f RANAP_MSISDN_encode_uper;
+per_type_decoder_f RANAP_MSISDN_decode_aper;
+per_type_encoder_f RANAP_MSISDN_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MSISDN_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Management-Based-MDT-Allowed.c b/src/ranap/RANAP_Management-Based-MDT-Allowed.c
new file mode 100644
index 0000000..e48be5c
--- /dev/null
+++ b/src/ranap/RANAP_Management-Based-MDT-Allowed.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Management-Based-MDT-Allowed.h"
+
+int
+RANAP_Management_Based_MDT_Allowed_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_Management_Based_MDT_Allowed_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_Management_Based_MDT_Allowed_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Management_Based_MDT_Allowed_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Management_Based_MDT_Allowed_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Management_Based_MDT_Allowed_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Management_Based_MDT_Allowed_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Management_Based_MDT_Allowed_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Management_Based_MDT_Allowed_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Management_Based_MDT_Allowed_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Management_Based_MDT_Allowed_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Management_Based_MDT_Allowed_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Management_Based_MDT_Allowed_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Management_Based_MDT_Allowed_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Management_Based_MDT_Allowed_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Management_Based_MDT_Allowed_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Management_Based_MDT_Allowed_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Management_Based_MDT_Allowed_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Management_Based_MDT_Allowed_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Management_Based_MDT_Allowed_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Management_Based_MDT_Allowed_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Management_Based_MDT_Allowed_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_Management_Based_MDT_Allowed_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_Management_Based_MDT_Allowed_value2enum_1[] = {
+ { 0, 7, "allowed" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_Management_Based_MDT_Allowed_enum2value_1[] = {
+ 0 /* allowed(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_Management_Based_MDT_Allowed_specs_1 = {
+ asn_MAP_RANAP_Management_Based_MDT_Allowed_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_Management_Based_MDT_Allowed_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_RANAP_Management_Based_MDT_Allowed_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Management_Based_MDT_Allowed = {
+ "RANAP_Management-Based-MDT-Allowed",
+ "RANAP_Management-Based-MDT-Allowed",
+ RANAP_Management_Based_MDT_Allowed_free,
+ RANAP_Management_Based_MDT_Allowed_print,
+ RANAP_Management_Based_MDT_Allowed_constraint,
+ RANAP_Management_Based_MDT_Allowed_decode_ber,
+ RANAP_Management_Based_MDT_Allowed_encode_der,
+ RANAP_Management_Based_MDT_Allowed_decode_xer,
+ RANAP_Management_Based_MDT_Allowed_encode_xer,
+ RANAP_Management_Based_MDT_Allowed_decode_uper,
+ RANAP_Management_Based_MDT_Allowed_encode_uper,
+ RANAP_Management_Based_MDT_Allowed_decode_aper,
+ RANAP_Management_Based_MDT_Allowed_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Management_Based_MDT_Allowed_tags_1,
+ sizeof(asn_DEF_RANAP_Management_Based_MDT_Allowed_tags_1)
+ /sizeof(asn_DEF_RANAP_Management_Based_MDT_Allowed_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Management_Based_MDT_Allowed_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Management_Based_MDT_Allowed_tags_1)
+ /sizeof(asn_DEF_RANAP_Management_Based_MDT_Allowed_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Management_Based_MDT_Allowed_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_Management_Based_MDT_Allowed_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Management-Based-MDT-Allowed.h b/src/ranap/RANAP_Management-Based-MDT-Allowed.h
new file mode 100644
index 0000000..48ad306
--- /dev/null
+++ b/src/ranap/RANAP_Management-Based-MDT-Allowed.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Management_Based_MDT_Allowed_H_
+#define _RANAP_Management_Based_MDT_Allowed_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_Management_Based_MDT_Allowed {
+ RANAP_Management_Based_MDT_Allowed_allowed = 0
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_Management_Based_MDT_Allowed;
+
+/* RANAP_Management-Based-MDT-Allowed */
+typedef long RANAP_Management_Based_MDT_Allowed_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Management_Based_MDT_Allowed;
+asn_struct_free_f RANAP_Management_Based_MDT_Allowed_free;
+asn_struct_print_f RANAP_Management_Based_MDT_Allowed_print;
+asn_constr_check_f RANAP_Management_Based_MDT_Allowed_constraint;
+ber_type_decoder_f RANAP_Management_Based_MDT_Allowed_decode_ber;
+der_type_encoder_f RANAP_Management_Based_MDT_Allowed_encode_der;
+xer_type_decoder_f RANAP_Management_Based_MDT_Allowed_decode_xer;
+xer_type_encoder_f RANAP_Management_Based_MDT_Allowed_encode_xer;
+per_type_decoder_f RANAP_Management_Based_MDT_Allowed_decode_uper;
+per_type_encoder_f RANAP_Management_Based_MDT_Allowed_encode_uper;
+per_type_decoder_f RANAP_Management_Based_MDT_Allowed_decode_aper;
+per_type_encoder_f RANAP_Management_Based_MDT_Allowed_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Management_Based_MDT_Allowed_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MaxBitrate.c b/src/ranap/RANAP_MaxBitrate.c
new file mode 100644
index 0000000..72c4720
--- /dev/null
+++ b/src/ranap/RANAP_MaxBitrate.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MaxBitrate.h"
+
+int
+RANAP_MaxBitrate_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1l && value <= 16000000l)) {
+ /* 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 void
+RANAP_MaxBitrate_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_MaxBitrate_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_MaxBitrate_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_MaxBitrate_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MaxBitrate_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MaxBitrate_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_MaxBitrate_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_MaxBitrate_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MaxBitrate_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MaxBitrate_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_MaxBitrate_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_MaxBitrate_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MaxBitrate_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MaxBitrate_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MaxBitrate_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_MaxBitrate_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MaxBitrate_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_MaxBitrate_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MaxBitrate_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_MaxBitrate_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MaxBitrate_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_MaxBitrate_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 24, -1, 1l, 16000000l } /* (1..16000000) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MaxBitrate_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MaxBitrate = {
+ "RANAP_MaxBitrate",
+ "RANAP_MaxBitrate",
+ RANAP_MaxBitrate_free,
+ RANAP_MaxBitrate_print,
+ RANAP_MaxBitrate_constraint,
+ RANAP_MaxBitrate_decode_ber,
+ RANAP_MaxBitrate_encode_der,
+ RANAP_MaxBitrate_decode_xer,
+ RANAP_MaxBitrate_encode_xer,
+ RANAP_MaxBitrate_decode_uper,
+ RANAP_MaxBitrate_encode_uper,
+ RANAP_MaxBitrate_decode_aper,
+ RANAP_MaxBitrate_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MaxBitrate_tags_1,
+ sizeof(asn_DEF_RANAP_MaxBitrate_tags_1)
+ /sizeof(asn_DEF_RANAP_MaxBitrate_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MaxBitrate_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MaxBitrate_tags_1)
+ /sizeof(asn_DEF_RANAP_MaxBitrate_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_MaxBitrate_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_MaxBitrate.h b/src/ranap/RANAP_MaxBitrate.h
new file mode 100644
index 0000000..2dad1b6
--- /dev/null
+++ b/src/ranap/RANAP_MaxBitrate.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MaxBitrate_H_
+#define _RANAP_MaxBitrate_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MaxBitrate */
+typedef long RANAP_MaxBitrate_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MaxBitrate;
+asn_struct_free_f RANAP_MaxBitrate_free;
+asn_struct_print_f RANAP_MaxBitrate_print;
+asn_constr_check_f RANAP_MaxBitrate_constraint;
+ber_type_decoder_f RANAP_MaxBitrate_decode_ber;
+der_type_encoder_f RANAP_MaxBitrate_encode_der;
+xer_type_decoder_f RANAP_MaxBitrate_decode_xer;
+xer_type_encoder_f RANAP_MaxBitrate_encode_xer;
+per_type_decoder_f RANAP_MaxBitrate_decode_uper;
+per_type_encoder_f RANAP_MaxBitrate_encode_uper;
+per_type_decoder_f RANAP_MaxBitrate_decode_aper;
+per_type_encoder_f RANAP_MaxBitrate_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MaxBitrate_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MaxSDU-Size.c b/src/ranap/RANAP_MaxSDU-Size.c
new file mode 100644
index 0000000..2dfaa2e
--- /dev/null
+++ b/src/ranap/RANAP_MaxSDU-Size.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MaxSDU-Size.h"
+
+int
+RANAP_MaxSDU_Size_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 32768l)) {
+ /* 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 void
+RANAP_MaxSDU_Size_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_MaxSDU_Size_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_MaxSDU_Size_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_MaxSDU_Size_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MaxSDU_Size_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MaxSDU_Size_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_MaxSDU_Size_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_MaxSDU_Size_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MaxSDU_Size_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MaxSDU_Size_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_MaxSDU_Size_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_MaxSDU_Size_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MaxSDU_Size_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MaxSDU_Size_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MaxSDU_Size_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_MaxSDU_Size_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MaxSDU_Size_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_MaxSDU_Size_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MaxSDU_Size_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_MaxSDU_Size_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MaxSDU_Size_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_MaxSDU_Size_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0l, 32768l } /* (0..32768) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MaxSDU_Size_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MaxSDU_Size = {
+ "RANAP_MaxSDU-Size",
+ "RANAP_MaxSDU-Size",
+ RANAP_MaxSDU_Size_free,
+ RANAP_MaxSDU_Size_print,
+ RANAP_MaxSDU_Size_constraint,
+ RANAP_MaxSDU_Size_decode_ber,
+ RANAP_MaxSDU_Size_encode_der,
+ RANAP_MaxSDU_Size_decode_xer,
+ RANAP_MaxSDU_Size_encode_xer,
+ RANAP_MaxSDU_Size_decode_uper,
+ RANAP_MaxSDU_Size_encode_uper,
+ RANAP_MaxSDU_Size_decode_aper,
+ RANAP_MaxSDU_Size_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MaxSDU_Size_tags_1,
+ sizeof(asn_DEF_RANAP_MaxSDU_Size_tags_1)
+ /sizeof(asn_DEF_RANAP_MaxSDU_Size_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MaxSDU_Size_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MaxSDU_Size_tags_1)
+ /sizeof(asn_DEF_RANAP_MaxSDU_Size_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_MaxSDU_Size_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_MaxSDU-Size.h b/src/ranap/RANAP_MaxSDU-Size.h
new file mode 100644
index 0000000..cf680ba
--- /dev/null
+++ b/src/ranap/RANAP_MaxSDU-Size.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MaxSDU_Size_H_
+#define _RANAP_MaxSDU_Size_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MaxSDU-Size */
+typedef long RANAP_MaxSDU_Size_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MaxSDU_Size;
+asn_struct_free_f RANAP_MaxSDU_Size_free;
+asn_struct_print_f RANAP_MaxSDU_Size_print;
+asn_constr_check_f RANAP_MaxSDU_Size_constraint;
+ber_type_decoder_f RANAP_MaxSDU_Size_decode_ber;
+der_type_encoder_f RANAP_MaxSDU_Size_encode_der;
+xer_type_decoder_f RANAP_MaxSDU_Size_decode_xer;
+xer_type_encoder_f RANAP_MaxSDU_Size_encode_xer;
+per_type_decoder_f RANAP_MaxSDU_Size_decode_uper;
+per_type_encoder_f RANAP_MaxSDU_Size_encode_uper;
+per_type_decoder_f RANAP_MaxSDU_Size_decode_aper;
+per_type_encoder_f RANAP_MaxSDU_Size_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MaxSDU_Size_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MeasBand.c b/src/ranap/RANAP_MeasBand.c
new file mode 100644
index 0000000..feb6867
--- /dev/null
+++ b/src/ranap/RANAP_MeasBand.c
@@ -0,0 +1,173 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MeasBand.h"
+
+int
+RANAP_MeasBand_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_MeasBand_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_MeasBand_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_MeasBand_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_MeasBand_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MeasBand_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MeasBand_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_MeasBand_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_MeasBand_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MeasBand_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MeasBand_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_MeasBand_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_MeasBand_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MeasBand_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MeasBand_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MeasBand_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_MeasBand_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MeasBand_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_MeasBand_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MeasBand_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_MeasBand_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MeasBand_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_MeasBand_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 3, 3, 0l, 5l } /* (0..5) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_MeasBand_value2enum_1[] = {
+ { 0, 2, "v6" },
+ { 1, 3, "v15" },
+ { 2, 3, "v25" },
+ { 3, 3, "v50" },
+ { 4, 3, "v75" },
+ { 5, 4, "v100" }
+};
+static const unsigned int asn_MAP_RANAP_MeasBand_enum2value_1[] = {
+ 5, /* v100(5) */
+ 1, /* v15(1) */
+ 2, /* v25(2) */
+ 3, /* v50(3) */
+ 0, /* v6(0) */
+ 4 /* v75(4) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_MeasBand_specs_1 = {
+ asn_MAP_RANAP_MeasBand_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_MeasBand_enum2value_1, /* N => "tag"; sorted by N */
+ 6, /* 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_RANAP_MeasBand_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MeasBand = {
+ "RANAP_MeasBand",
+ "RANAP_MeasBand",
+ RANAP_MeasBand_free,
+ RANAP_MeasBand_print,
+ RANAP_MeasBand_constraint,
+ RANAP_MeasBand_decode_ber,
+ RANAP_MeasBand_encode_der,
+ RANAP_MeasBand_decode_xer,
+ RANAP_MeasBand_encode_xer,
+ RANAP_MeasBand_decode_uper,
+ RANAP_MeasBand_encode_uper,
+ RANAP_MeasBand_decode_aper,
+ RANAP_MeasBand_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MeasBand_tags_1,
+ sizeof(asn_DEF_RANAP_MeasBand_tags_1)
+ /sizeof(asn_DEF_RANAP_MeasBand_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MeasBand_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MeasBand_tags_1)
+ /sizeof(asn_DEF_RANAP_MeasBand_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_MeasBand_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_MeasBand_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MeasBand.h b/src/ranap/RANAP_MeasBand.h
new file mode 100644
index 0000000..580cd33
--- /dev/null
+++ b/src/ranap/RANAP_MeasBand.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MeasBand_H_
+#define _RANAP_MeasBand_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_MeasBand {
+ RANAP_MeasBand_v6 = 0,
+ RANAP_MeasBand_v15 = 1,
+ RANAP_MeasBand_v25 = 2,
+ RANAP_MeasBand_v50 = 3,
+ RANAP_MeasBand_v75 = 4,
+ RANAP_MeasBand_v100 = 5
+} e_RANAP_MeasBand;
+
+/* RANAP_MeasBand */
+typedef long RANAP_MeasBand_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MeasBand;
+asn_struct_free_f RANAP_MeasBand_free;
+asn_struct_print_f RANAP_MeasBand_print;
+asn_constr_check_f RANAP_MeasBand_constraint;
+ber_type_decoder_f RANAP_MeasBand_decode_ber;
+der_type_encoder_f RANAP_MeasBand_encode_der;
+xer_type_decoder_f RANAP_MeasBand_decode_xer;
+xer_type_encoder_f RANAP_MeasBand_encode_xer;
+per_type_decoder_f RANAP_MeasBand_decode_uper;
+per_type_encoder_f RANAP_MeasBand_encode_uper;
+per_type_decoder_f RANAP_MeasBand_decode_aper;
+per_type_encoder_f RANAP_MeasBand_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MeasBand_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MeasurementQuantity.c b/src/ranap/RANAP_MeasurementQuantity.c
new file mode 100644
index 0000000..19e367d
--- /dev/null
+++ b/src/ranap/RANAP_MeasurementQuantity.c
@@ -0,0 +1,169 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MeasurementQuantity.h"
+
+int
+RANAP_MeasurementQuantity_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_MeasurementQuantity_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_MeasurementQuantity_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_MeasurementQuantity_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_MeasurementQuantity_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MeasurementQuantity_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MeasurementQuantity_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_MeasurementQuantity_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_MeasurementQuantity_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MeasurementQuantity_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MeasurementQuantity_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_MeasurementQuantity_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_MeasurementQuantity_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MeasurementQuantity_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MeasurementQuantity_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MeasurementQuantity_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_MeasurementQuantity_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MeasurementQuantity_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_MeasurementQuantity_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MeasurementQuantity_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_MeasurementQuantity_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MeasurementQuantity_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_MeasurementQuantity_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 2l } /* (0..2,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_MeasurementQuantity_value2enum_1[] = {
+ { 0, 9, "cpichEcNo" },
+ { 1, 9, "cpichRSCP" },
+ { 2, 8, "pathloss" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_MeasurementQuantity_enum2value_1[] = {
+ 0, /* cpichEcNo(0) */
+ 1, /* cpichRSCP(1) */
+ 2 /* pathloss(2) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_MeasurementQuantity_specs_1 = {
+ asn_MAP_RANAP_MeasurementQuantity_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_MeasurementQuantity_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_RANAP_MeasurementQuantity_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MeasurementQuantity = {
+ "RANAP_MeasurementQuantity",
+ "RANAP_MeasurementQuantity",
+ RANAP_MeasurementQuantity_free,
+ RANAP_MeasurementQuantity_print,
+ RANAP_MeasurementQuantity_constraint,
+ RANAP_MeasurementQuantity_decode_ber,
+ RANAP_MeasurementQuantity_encode_der,
+ RANAP_MeasurementQuantity_decode_xer,
+ RANAP_MeasurementQuantity_encode_xer,
+ RANAP_MeasurementQuantity_decode_uper,
+ RANAP_MeasurementQuantity_encode_uper,
+ RANAP_MeasurementQuantity_decode_aper,
+ RANAP_MeasurementQuantity_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MeasurementQuantity_tags_1,
+ sizeof(asn_DEF_RANAP_MeasurementQuantity_tags_1)
+ /sizeof(asn_DEF_RANAP_MeasurementQuantity_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MeasurementQuantity_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MeasurementQuantity_tags_1)
+ /sizeof(asn_DEF_RANAP_MeasurementQuantity_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_MeasurementQuantity_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_MeasurementQuantity_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MeasurementQuantity.h b/src/ranap/RANAP_MeasurementQuantity.h
new file mode 100644
index 0000000..4685528
--- /dev/null
+++ b/src/ranap/RANAP_MeasurementQuantity.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MeasurementQuantity_H_
+#define _RANAP_MeasurementQuantity_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_MeasurementQuantity {
+ RANAP_MeasurementQuantity_cpichEcNo = 0,
+ RANAP_MeasurementQuantity_cpichRSCP = 1,
+ RANAP_MeasurementQuantity_pathloss = 2
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_MeasurementQuantity;
+
+/* RANAP_MeasurementQuantity */
+typedef long RANAP_MeasurementQuantity_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MeasurementQuantity;
+asn_struct_free_f RANAP_MeasurementQuantity_free;
+asn_struct_print_f RANAP_MeasurementQuantity_print;
+asn_constr_check_f RANAP_MeasurementQuantity_constraint;
+ber_type_decoder_f RANAP_MeasurementQuantity_decode_ber;
+der_type_encoder_f RANAP_MeasurementQuantity_encode_der;
+xer_type_decoder_f RANAP_MeasurementQuantity_decode_xer;
+xer_type_encoder_f RANAP_MeasurementQuantity_encode_xer;
+per_type_decoder_f RANAP_MeasurementQuantity_decode_uper;
+per_type_encoder_f RANAP_MeasurementQuantity_encode_uper;
+per_type_decoder_f RANAP_MeasurementQuantity_decode_aper;
+per_type_encoder_f RANAP_MeasurementQuantity_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MeasurementQuantity_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MeasurementsToActivate.c b/src/ranap/RANAP_MeasurementsToActivate.c
new file mode 100644
index 0000000..7396470
--- /dev/null
+++ b/src/ranap/RANAP_MeasurementsToActivate.c
@@ -0,0 +1,171 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MeasurementsToActivate.h"
+
+int
+RANAP_MeasurementsToActivate_constraint(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 == 8l)) {
+ /* 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 void
+RANAP_MeasurementsToActivate_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_BIT_STRING.free_struct;
+ td->print_struct = asn_DEF_BIT_STRING.print_struct;
+ td->check_constraints = asn_DEF_BIT_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_BIT_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_BIT_STRING.per_constraints;
+ td->elements = asn_DEF_BIT_STRING.elements;
+ td->elements_count = asn_DEF_BIT_STRING.elements_count;
+ td->specifics = asn_DEF_BIT_STRING.specifics;
+}
+
+void
+RANAP_MeasurementsToActivate_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_MeasurementsToActivate_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_MeasurementsToActivate_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MeasurementsToActivate_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MeasurementsToActivate_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_MeasurementsToActivate_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_MeasurementsToActivate_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MeasurementsToActivate_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MeasurementsToActivate_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_MeasurementsToActivate_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_MeasurementsToActivate_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_MeasurementsToActivate_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_MeasurementsToActivate_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MeasurementsToActivate_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_MeasurementsToActivate_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MeasurementsToActivate_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_MeasurementsToActivate_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_MeasurementsToActivate_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_MeasurementsToActivate_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_MeasurementsToActivate_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_MeasurementsToActivate_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 8l, 8l } /* (SIZE(8..8)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MeasurementsToActivate_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MeasurementsToActivate = {
+ "RANAP_MeasurementsToActivate",
+ "RANAP_MeasurementsToActivate",
+ RANAP_MeasurementsToActivate_free,
+ RANAP_MeasurementsToActivate_print,
+ RANAP_MeasurementsToActivate_constraint,
+ RANAP_MeasurementsToActivate_decode_ber,
+ RANAP_MeasurementsToActivate_encode_der,
+ RANAP_MeasurementsToActivate_decode_xer,
+ RANAP_MeasurementsToActivate_encode_xer,
+ RANAP_MeasurementsToActivate_decode_uper,
+ RANAP_MeasurementsToActivate_encode_uper,
+ RANAP_MeasurementsToActivate_decode_aper,
+ RANAP_MeasurementsToActivate_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MeasurementsToActivate_tags_1,
+ sizeof(asn_DEF_RANAP_MeasurementsToActivate_tags_1)
+ /sizeof(asn_DEF_RANAP_MeasurementsToActivate_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MeasurementsToActivate_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MeasurementsToActivate_tags_1)
+ /sizeof(asn_DEF_RANAP_MeasurementsToActivate_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_MeasurementsToActivate_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_MeasurementsToActivate.h b/src/ranap/RANAP_MeasurementsToActivate.h
new file mode 100644
index 0000000..b0c3695
--- /dev/null
+++ b/src/ranap/RANAP_MeasurementsToActivate.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MeasurementsToActivate_H_
+#define _RANAP_MeasurementsToActivate_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MeasurementsToActivate */
+typedef BIT_STRING_t RANAP_MeasurementsToActivate_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MeasurementsToActivate;
+asn_struct_free_f RANAP_MeasurementsToActivate_free;
+asn_struct_print_f RANAP_MeasurementsToActivate_print;
+asn_constr_check_f RANAP_MeasurementsToActivate_constraint;
+ber_type_decoder_f RANAP_MeasurementsToActivate_decode_ber;
+der_type_encoder_f RANAP_MeasurementsToActivate_encode_der;
+xer_type_decoder_f RANAP_MeasurementsToActivate_decode_xer;
+xer_type_encoder_f RANAP_MeasurementsToActivate_encode_xer;
+per_type_decoder_f RANAP_MeasurementsToActivate_decode_uper;
+per_type_encoder_f RANAP_MeasurementsToActivate_encode_uper;
+per_type_decoder_f RANAP_MeasurementsToActivate_decode_aper;
+per_type_encoder_f RANAP_MeasurementsToActivate_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MeasurementsToActivate_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_MessageStructure.c b/src/ranap/RANAP_MessageStructure.c
new file mode 100644
index 0000000..e41b0da
--- /dev/null
+++ b/src/ranap/RANAP_MessageStructure.c
@@ -0,0 +1,135 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_MessageStructure.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_MessageStructure_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 8, 8, 1l, 256l } /* (SIZE(1..256)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_Member_2[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct Member, iE_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_ProtocolIE_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-ID"
+ },
+ { ATF_POINTER, 2, offsetof(struct Member, repetitionNumber),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RepetitionNumber1,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "repetitionNumber"
+ },
+ { ATF_POINTER, 1, offsetof(struct Member, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "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 }, /* iE-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* repetitionNumber */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
+ sizeof(struct Member),
+ offsetof(struct 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 */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_Member_2 = {
+ "SEQUENCE",
+ "SEQUENCE",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ 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, /* No PER visible constraints */
+ asn_MBR_Member_2,
+ 3, /* Elements count */
+ &asn_SPC_Member_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_MessageStructure_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_Member_2,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_MessageStructure_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_MessageStructure_specs_1 = {
+ sizeof(struct RANAP_MessageStructure),
+ offsetof(struct RANAP_MessageStructure, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_MessageStructure = {
+ "RANAP_MessageStructure",
+ "RANAP_MessageStructure",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_MessageStructure_tags_1,
+ sizeof(asn_DEF_RANAP_MessageStructure_tags_1)
+ /sizeof(asn_DEF_RANAP_MessageStructure_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_MessageStructure_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_MessageStructure_tags_1)
+ /sizeof(asn_DEF_RANAP_MessageStructure_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_MessageStructure_constr_1,
+ asn_MBR_RANAP_MessageStructure_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_MessageStructure_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_MessageStructure.h b/src/ranap/RANAP_MessageStructure.h
new file mode 100644
index 0000000..d1f2829
--- /dev/null
+++ b/src/ranap/RANAP_MessageStructure.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_MessageStructure_H_
+#define _RANAP_MessageStructure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include "RANAP_ProtocolIE-ID.h"
+#include "RANAP_RepetitionNumber1.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_MessageStructure */
+typedef struct RANAP_MessageStructure {
+ A_SEQUENCE_OF(struct Member {
+ RANAP_ProtocolIE_ID_t iE_ID;
+ RANAP_RepetitionNumber1_t *repetitionNumber /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } ) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_MessageStructure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_MessageStructure;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_MessageStructure_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_NAS-PDU.c b/src/ranap/RANAP_NAS-PDU.c
new file mode 100644
index 0000000..7f03fce
--- /dev/null
+++ b/src/ranap/RANAP_NAS-PDU.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_NAS-PDU.h"
+
+int
+RANAP_NAS_PDU_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_NAS_PDU_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_NAS_PDU_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_NAS_PDU_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_NAS_PDU_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NAS_PDU_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NAS_PDU_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_NAS_PDU_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_NAS_PDU_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NAS_PDU_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NAS_PDU_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_NAS_PDU_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_NAS_PDU_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NAS_PDU_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NAS_PDU_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_NAS_PDU_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_NAS_PDU_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_NAS_PDU_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_NAS_PDU_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_NAS_PDU_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_NAS_PDU_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_NAS_PDU_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static const ber_tlv_tag_t asn_DEF_RANAP_NAS_PDU_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_NAS_PDU = {
+ "RANAP_NAS-PDU",
+ "RANAP_NAS-PDU",
+ RANAP_NAS_PDU_free,
+ RANAP_NAS_PDU_print,
+ RANAP_NAS_PDU_constraint,
+ RANAP_NAS_PDU_decode_ber,
+ RANAP_NAS_PDU_encode_der,
+ RANAP_NAS_PDU_decode_xer,
+ RANAP_NAS_PDU_encode_xer,
+ RANAP_NAS_PDU_decode_uper,
+ RANAP_NAS_PDU_encode_uper,
+ RANAP_NAS_PDU_decode_aper,
+ RANAP_NAS_PDU_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_NAS_PDU_tags_1,
+ sizeof(asn_DEF_RANAP_NAS_PDU_tags_1)
+ /sizeof(asn_DEF_RANAP_NAS_PDU_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_NAS_PDU_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_NAS_PDU_tags_1)
+ /sizeof(asn_DEF_RANAP_NAS_PDU_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_NAS-PDU.h b/src/ranap/RANAP_NAS-PDU.h
new file mode 100644
index 0000000..52a85ee
--- /dev/null
+++ b/src/ranap/RANAP_NAS-PDU.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_NAS_PDU_H_
+#define _RANAP_NAS_PDU_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_NAS-PDU */
+typedef OCTET_STRING_t RANAP_NAS_PDU_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_NAS_PDU;
+asn_struct_free_f RANAP_NAS_PDU_free;
+asn_struct_print_f RANAP_NAS_PDU_print;
+asn_constr_check_f RANAP_NAS_PDU_constraint;
+ber_type_decoder_f RANAP_NAS_PDU_decode_ber;
+der_type_encoder_f RANAP_NAS_PDU_encode_der;
+xer_type_decoder_f RANAP_NAS_PDU_decode_xer;
+xer_type_encoder_f RANAP_NAS_PDU_encode_xer;
+per_type_decoder_f RANAP_NAS_PDU_decode_uper;
+per_type_encoder_f RANAP_NAS_PDU_encode_uper;
+per_type_decoder_f RANAP_NAS_PDU_decode_aper;
+per_type_encoder_f RANAP_NAS_PDU_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_NAS_PDU_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_NAS-SequenceNumber.c b/src/ranap/RANAP_NAS-SequenceNumber.c
new file mode 100644
index 0000000..2603154
--- /dev/null
+++ b/src/ranap/RANAP_NAS-SequenceNumber.c
@@ -0,0 +1,171 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_NAS-SequenceNumber.h"
+
+int
+RANAP_NAS_SequenceNumber_constraint(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 == 2l)) {
+ /* 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 void
+RANAP_NAS_SequenceNumber_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_BIT_STRING.free_struct;
+ td->print_struct = asn_DEF_BIT_STRING.print_struct;
+ td->check_constraints = asn_DEF_BIT_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_BIT_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_BIT_STRING.per_constraints;
+ td->elements = asn_DEF_BIT_STRING.elements;
+ td->elements_count = asn_DEF_BIT_STRING.elements_count;
+ td->specifics = asn_DEF_BIT_STRING.specifics;
+}
+
+void
+RANAP_NAS_SequenceNumber_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_NAS_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_NAS_SequenceNumber_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NAS_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NAS_SequenceNumber_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_NAS_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_NAS_SequenceNumber_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NAS_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NAS_SequenceNumber_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_NAS_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_NAS_SequenceNumber_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NAS_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NAS_SequenceNumber_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_NAS_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_NAS_SequenceNumber_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_NAS_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_NAS_SequenceNumber_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_NAS_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_NAS_SequenceNumber_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_NAS_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_NAS_SequenceNumber_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 2l, 2l } /* (SIZE(2..2)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_NAS_SequenceNumber_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_NAS_SequenceNumber = {
+ "RANAP_NAS-SequenceNumber",
+ "RANAP_NAS-SequenceNumber",
+ RANAP_NAS_SequenceNumber_free,
+ RANAP_NAS_SequenceNumber_print,
+ RANAP_NAS_SequenceNumber_constraint,
+ RANAP_NAS_SequenceNumber_decode_ber,
+ RANAP_NAS_SequenceNumber_encode_der,
+ RANAP_NAS_SequenceNumber_decode_xer,
+ RANAP_NAS_SequenceNumber_encode_xer,
+ RANAP_NAS_SequenceNumber_decode_uper,
+ RANAP_NAS_SequenceNumber_encode_uper,
+ RANAP_NAS_SequenceNumber_decode_aper,
+ RANAP_NAS_SequenceNumber_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_NAS_SequenceNumber_tags_1,
+ sizeof(asn_DEF_RANAP_NAS_SequenceNumber_tags_1)
+ /sizeof(asn_DEF_RANAP_NAS_SequenceNumber_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_NAS_SequenceNumber_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_NAS_SequenceNumber_tags_1)
+ /sizeof(asn_DEF_RANAP_NAS_SequenceNumber_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_NAS_SequenceNumber_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_NAS-SequenceNumber.h b/src/ranap/RANAP_NAS-SequenceNumber.h
new file mode 100644
index 0000000..a394e2d
--- /dev/null
+++ b/src/ranap/RANAP_NAS-SequenceNumber.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_NAS_SequenceNumber_H_
+#define _RANAP_NAS_SequenceNumber_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_NAS-SequenceNumber */
+typedef BIT_STRING_t RANAP_NAS_SequenceNumber_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_NAS_SequenceNumber;
+asn_struct_free_f RANAP_NAS_SequenceNumber_free;
+asn_struct_print_f RANAP_NAS_SequenceNumber_print;
+asn_constr_check_f RANAP_NAS_SequenceNumber_constraint;
+ber_type_decoder_f RANAP_NAS_SequenceNumber_decode_ber;
+der_type_encoder_f RANAP_NAS_SequenceNumber_encode_der;
+xer_type_decoder_f RANAP_NAS_SequenceNumber_decode_xer;
+xer_type_encoder_f RANAP_NAS_SequenceNumber_encode_xer;
+per_type_decoder_f RANAP_NAS_SequenceNumber_decode_uper;
+per_type_encoder_f RANAP_NAS_SequenceNumber_encode_uper;
+per_type_decoder_f RANAP_NAS_SequenceNumber_decode_aper;
+per_type_encoder_f RANAP_NAS_SequenceNumber_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_NAS_SequenceNumber_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_NAS-SynchronisationIndicator.c b/src/ranap/RANAP_NAS-SynchronisationIndicator.c
new file mode 100644
index 0000000..16dcaed
--- /dev/null
+++ b/src/ranap/RANAP_NAS-SynchronisationIndicator.c
@@ -0,0 +1,171 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_NAS-SynchronisationIndicator.h"
+
+int
+RANAP_NAS_SynchronisationIndicator_constraint(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 == 4l)) {
+ /* 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 void
+RANAP_NAS_SynchronisationIndicator_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_BIT_STRING.free_struct;
+ td->print_struct = asn_DEF_BIT_STRING.print_struct;
+ td->check_constraints = asn_DEF_BIT_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_BIT_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_BIT_STRING.per_constraints;
+ td->elements = asn_DEF_BIT_STRING.elements;
+ td->elements_count = asn_DEF_BIT_STRING.elements_count;
+ td->specifics = asn_DEF_BIT_STRING.specifics;
+}
+
+void
+RANAP_NAS_SynchronisationIndicator_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_NAS_SynchronisationIndicator_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_NAS_SynchronisationIndicator_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NAS_SynchronisationIndicator_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NAS_SynchronisationIndicator_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_NAS_SynchronisationIndicator_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_NAS_SynchronisationIndicator_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NAS_SynchronisationIndicator_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NAS_SynchronisationIndicator_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_NAS_SynchronisationIndicator_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_NAS_SynchronisationIndicator_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NAS_SynchronisationIndicator_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NAS_SynchronisationIndicator_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_NAS_SynchronisationIndicator_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_NAS_SynchronisationIndicator_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_NAS_SynchronisationIndicator_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_NAS_SynchronisationIndicator_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_NAS_SynchronisationIndicator_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_NAS_SynchronisationIndicator_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_NAS_SynchronisationIndicator_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_NAS_SynchronisationIndicator_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 4l, 4l } /* (SIZE(4..4)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_NAS_SynchronisationIndicator_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_NAS_SynchronisationIndicator = {
+ "RANAP_NAS-SynchronisationIndicator",
+ "RANAP_NAS-SynchronisationIndicator",
+ RANAP_NAS_SynchronisationIndicator_free,
+ RANAP_NAS_SynchronisationIndicator_print,
+ RANAP_NAS_SynchronisationIndicator_constraint,
+ RANAP_NAS_SynchronisationIndicator_decode_ber,
+ RANAP_NAS_SynchronisationIndicator_encode_der,
+ RANAP_NAS_SynchronisationIndicator_decode_xer,
+ RANAP_NAS_SynchronisationIndicator_encode_xer,
+ RANAP_NAS_SynchronisationIndicator_decode_uper,
+ RANAP_NAS_SynchronisationIndicator_encode_uper,
+ RANAP_NAS_SynchronisationIndicator_decode_aper,
+ RANAP_NAS_SynchronisationIndicator_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_NAS_SynchronisationIndicator_tags_1,
+ sizeof(asn_DEF_RANAP_NAS_SynchronisationIndicator_tags_1)
+ /sizeof(asn_DEF_RANAP_NAS_SynchronisationIndicator_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_NAS_SynchronisationIndicator_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_NAS_SynchronisationIndicator_tags_1)
+ /sizeof(asn_DEF_RANAP_NAS_SynchronisationIndicator_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_NAS_SynchronisationIndicator_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_NAS-SynchronisationIndicator.h b/src/ranap/RANAP_NAS-SynchronisationIndicator.h
new file mode 100644
index 0000000..dcd8856
--- /dev/null
+++ b/src/ranap/RANAP_NAS-SynchronisationIndicator.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_NAS_SynchronisationIndicator_H_
+#define _RANAP_NAS_SynchronisationIndicator_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_NAS-SynchronisationIndicator */
+typedef BIT_STRING_t RANAP_NAS_SynchronisationIndicator_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_NAS_SynchronisationIndicator;
+asn_struct_free_f RANAP_NAS_SynchronisationIndicator_free;
+asn_struct_print_f RANAP_NAS_SynchronisationIndicator_print;
+asn_constr_check_f RANAP_NAS_SynchronisationIndicator_constraint;
+ber_type_decoder_f RANAP_NAS_SynchronisationIndicator_decode_ber;
+der_type_encoder_f RANAP_NAS_SynchronisationIndicator_encode_der;
+xer_type_decoder_f RANAP_NAS_SynchronisationIndicator_decode_xer;
+xer_type_encoder_f RANAP_NAS_SynchronisationIndicator_encode_xer;
+per_type_decoder_f RANAP_NAS_SynchronisationIndicator_decode_uper;
+per_type_encoder_f RANAP_NAS_SynchronisationIndicator_encode_uper;
+per_type_decoder_f RANAP_NAS_SynchronisationIndicator_decode_aper;
+per_type_encoder_f RANAP_NAS_SynchronisationIndicator_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_NAS_SynchronisationIndicator_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_NRTLoadInformationValue.c b/src/ranap/RANAP_NRTLoadInformationValue.c
new file mode 100644
index 0000000..2bfb0b4
--- /dev/null
+++ b/src/ranap/RANAP_NRTLoadInformationValue.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_NRTLoadInformationValue.h"
+
+int
+RANAP_NRTLoadInformationValue_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 3l)) {
+ /* 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 void
+RANAP_NRTLoadInformationValue_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_NRTLoadInformationValue_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_NRTLoadInformationValue_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_NRTLoadInformationValue_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NRTLoadInformationValue_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NRTLoadInformationValue_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_NRTLoadInformationValue_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_NRTLoadInformationValue_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NRTLoadInformationValue_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NRTLoadInformationValue_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_NRTLoadInformationValue_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_NRTLoadInformationValue_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NRTLoadInformationValue_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NRTLoadInformationValue_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_NRTLoadInformationValue_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_NRTLoadInformationValue_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_NRTLoadInformationValue_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_NRTLoadInformationValue_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_NRTLoadInformationValue_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_NRTLoadInformationValue_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_NRTLoadInformationValue_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_NRTLoadInformationValue_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0l, 3l } /* (0..3) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_NRTLoadInformationValue_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_NRTLoadInformationValue = {
+ "RANAP_NRTLoadInformationValue",
+ "RANAP_NRTLoadInformationValue",
+ RANAP_NRTLoadInformationValue_free,
+ RANAP_NRTLoadInformationValue_print,
+ RANAP_NRTLoadInformationValue_constraint,
+ RANAP_NRTLoadInformationValue_decode_ber,
+ RANAP_NRTLoadInformationValue_encode_der,
+ RANAP_NRTLoadInformationValue_decode_xer,
+ RANAP_NRTLoadInformationValue_encode_xer,
+ RANAP_NRTLoadInformationValue_decode_uper,
+ RANAP_NRTLoadInformationValue_encode_uper,
+ RANAP_NRTLoadInformationValue_decode_aper,
+ RANAP_NRTLoadInformationValue_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_NRTLoadInformationValue_tags_1,
+ sizeof(asn_DEF_RANAP_NRTLoadInformationValue_tags_1)
+ /sizeof(asn_DEF_RANAP_NRTLoadInformationValue_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_NRTLoadInformationValue_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_NRTLoadInformationValue_tags_1)
+ /sizeof(asn_DEF_RANAP_NRTLoadInformationValue_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_NRTLoadInformationValue_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_NRTLoadInformationValue.h b/src/ranap/RANAP_NRTLoadInformationValue.h
new file mode 100644
index 0000000..33db0a0
--- /dev/null
+++ b/src/ranap/RANAP_NRTLoadInformationValue.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_NRTLoadInformationValue_H_
+#define _RANAP_NRTLoadInformationValue_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_NRTLoadInformationValue */
+typedef long RANAP_NRTLoadInformationValue_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_NRTLoadInformationValue;
+asn_struct_free_f RANAP_NRTLoadInformationValue_free;
+asn_struct_print_f RANAP_NRTLoadInformationValue_print;
+asn_constr_check_f RANAP_NRTLoadInformationValue_constraint;
+ber_type_decoder_f RANAP_NRTLoadInformationValue_decode_ber;
+der_type_encoder_f RANAP_NRTLoadInformationValue_encode_der;
+xer_type_decoder_f RANAP_NRTLoadInformationValue_decode_xer;
+xer_type_encoder_f RANAP_NRTLoadInformationValue_encode_xer;
+per_type_decoder_f RANAP_NRTLoadInformationValue_decode_uper;
+per_type_encoder_f RANAP_NRTLoadInformationValue_encode_uper;
+per_type_decoder_f RANAP_NRTLoadInformationValue_decode_aper;
+per_type_encoder_f RANAP_NRTLoadInformationValue_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_NRTLoadInformationValue_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_NewBSS-To-OldBSS-Information.c b/src/ranap/RANAP_NewBSS-To-OldBSS-Information.c
new file mode 100644
index 0000000..46d434e
--- /dev/null
+++ b/src/ranap/RANAP_NewBSS-To-OldBSS-Information.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_NewBSS-To-OldBSS-Information.h"
+
+int
+RANAP_NewBSS_To_OldBSS_Information_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_NewBSS_To_OldBSS_Information_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_NewBSS_To_OldBSS_Information_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_NewBSS_To_OldBSS_Information_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_NewBSS_To_OldBSS_Information_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NewBSS_To_OldBSS_Information_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NewBSS_To_OldBSS_Information_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_NewBSS_To_OldBSS_Information_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_NewBSS_To_OldBSS_Information_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NewBSS_To_OldBSS_Information_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NewBSS_To_OldBSS_Information_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_NewBSS_To_OldBSS_Information_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_NewBSS_To_OldBSS_Information_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NewBSS_To_OldBSS_Information_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NewBSS_To_OldBSS_Information_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_NewBSS_To_OldBSS_Information_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_NewBSS_To_OldBSS_Information_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_NewBSS_To_OldBSS_Information_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_NewBSS_To_OldBSS_Information_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_NewBSS_To_OldBSS_Information_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_NewBSS_To_OldBSS_Information_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_NewBSS_To_OldBSS_Information_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static const ber_tlv_tag_t asn_DEF_RANAP_NewBSS_To_OldBSS_Information_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_NewBSS_To_OldBSS_Information = {
+ "RANAP_NewBSS-To-OldBSS-Information",
+ "RANAP_NewBSS-To-OldBSS-Information",
+ RANAP_NewBSS_To_OldBSS_Information_free,
+ RANAP_NewBSS_To_OldBSS_Information_print,
+ RANAP_NewBSS_To_OldBSS_Information_constraint,
+ RANAP_NewBSS_To_OldBSS_Information_decode_ber,
+ RANAP_NewBSS_To_OldBSS_Information_encode_der,
+ RANAP_NewBSS_To_OldBSS_Information_decode_xer,
+ RANAP_NewBSS_To_OldBSS_Information_encode_xer,
+ RANAP_NewBSS_To_OldBSS_Information_decode_uper,
+ RANAP_NewBSS_To_OldBSS_Information_encode_uper,
+ RANAP_NewBSS_To_OldBSS_Information_decode_aper,
+ RANAP_NewBSS_To_OldBSS_Information_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_NewBSS_To_OldBSS_Information_tags_1,
+ sizeof(asn_DEF_RANAP_NewBSS_To_OldBSS_Information_tags_1)
+ /sizeof(asn_DEF_RANAP_NewBSS_To_OldBSS_Information_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_NewBSS_To_OldBSS_Information_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_NewBSS_To_OldBSS_Information_tags_1)
+ /sizeof(asn_DEF_RANAP_NewBSS_To_OldBSS_Information_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_NewBSS-To-OldBSS-Information.h b/src/ranap/RANAP_NewBSS-To-OldBSS-Information.h
new file mode 100644
index 0000000..13317df
--- /dev/null
+++ b/src/ranap/RANAP_NewBSS-To-OldBSS-Information.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_NewBSS_To_OldBSS_Information_H_
+#define _RANAP_NewBSS_To_OldBSS_Information_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_NewBSS-To-OldBSS-Information */
+typedef OCTET_STRING_t RANAP_NewBSS_To_OldBSS_Information_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_NewBSS_To_OldBSS_Information;
+asn_struct_free_f RANAP_NewBSS_To_OldBSS_Information_free;
+asn_struct_print_f RANAP_NewBSS_To_OldBSS_Information_print;
+asn_constr_check_f RANAP_NewBSS_To_OldBSS_Information_constraint;
+ber_type_decoder_f RANAP_NewBSS_To_OldBSS_Information_decode_ber;
+der_type_encoder_f RANAP_NewBSS_To_OldBSS_Information_encode_der;
+xer_type_decoder_f RANAP_NewBSS_To_OldBSS_Information_decode_xer;
+xer_type_encoder_f RANAP_NewBSS_To_OldBSS_Information_encode_xer;
+per_type_decoder_f RANAP_NewBSS_To_OldBSS_Information_decode_uper;
+per_type_encoder_f RANAP_NewBSS_To_OldBSS_Information_encode_uper;
+per_type_decoder_f RANAP_NewBSS_To_OldBSS_Information_decode_aper;
+per_type_encoder_f RANAP_NewBSS_To_OldBSS_Information_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_NewBSS_To_OldBSS_Information_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_NewRAListofIdleModeUEs.c b/src/ranap/RANAP_NewRAListofIdleModeUEs.c
new file mode 100644
index 0000000..ff9ebed
--- /dev/null
+++ b/src/ranap/RANAP_NewRAListofIdleModeUEs.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_NewRAListofIdleModeUEs.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_NewRAListofIdleModeUEs_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, -1, 1l, 65536l } /* (SIZE(1..65536)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_NewRAListofIdleModeUEs_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_RAC,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_NewRAListofIdleModeUEs_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_NewRAListofIdleModeUEs_specs_1 = {
+ sizeof(struct RANAP_NewRAListofIdleModeUEs),
+ offsetof(struct RANAP_NewRAListofIdleModeUEs, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_NewRAListofIdleModeUEs = {
+ "RANAP_NewRAListofIdleModeUEs",
+ "RANAP_NewRAListofIdleModeUEs",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_NewRAListofIdleModeUEs_tags_1,
+ sizeof(asn_DEF_RANAP_NewRAListofIdleModeUEs_tags_1)
+ /sizeof(asn_DEF_RANAP_NewRAListofIdleModeUEs_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_NewRAListofIdleModeUEs_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_NewRAListofIdleModeUEs_tags_1)
+ /sizeof(asn_DEF_RANAP_NewRAListofIdleModeUEs_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_NewRAListofIdleModeUEs_constr_1,
+ asn_MBR_RANAP_NewRAListofIdleModeUEs_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_NewRAListofIdleModeUEs_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_NewRAListofIdleModeUEs.h b/src/ranap/RANAP_NewRAListofIdleModeUEs.h
new file mode 100644
index 0000000..8d1b527
--- /dev/null
+++ b/src/ranap/RANAP_NewRAListofIdleModeUEs.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_NewRAListofIdleModeUEs_H_
+#define _RANAP_NewRAListofIdleModeUEs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_RAC.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_NewRAListofIdleModeUEs */
+typedef struct RANAP_NewRAListofIdleModeUEs {
+ A_SEQUENCE_OF(RANAP_RAC_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_NewRAListofIdleModeUEs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_NewRAListofIdleModeUEs;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_NewRAListofIdleModeUEs_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_NonSearchingIndication.c b/src/ranap/RANAP_NonSearchingIndication.c
new file mode 100644
index 0000000..245a0e6
--- /dev/null
+++ b/src/ranap/RANAP_NonSearchingIndication.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_NonSearchingIndication.h"
+
+int
+RANAP_NonSearchingIndication_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_NonSearchingIndication_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_NonSearchingIndication_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_NonSearchingIndication_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_NonSearchingIndication_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NonSearchingIndication_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NonSearchingIndication_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_NonSearchingIndication_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_NonSearchingIndication_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NonSearchingIndication_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NonSearchingIndication_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_NonSearchingIndication_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_NonSearchingIndication_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NonSearchingIndication_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NonSearchingIndication_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_NonSearchingIndication_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_NonSearchingIndication_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_NonSearchingIndication_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_NonSearchingIndication_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_NonSearchingIndication_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_NonSearchingIndication_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_NonSearchingIndication_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_NonSearchingIndication_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_NonSearchingIndication_value2enum_1[] = {
+ { 0, 13, "non-searching" },
+ { 1, 9, "searching" }
+};
+static const unsigned int asn_MAP_RANAP_NonSearchingIndication_enum2value_1[] = {
+ 0, /* non-searching(0) */
+ 1 /* searching(1) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_NonSearchingIndication_specs_1 = {
+ asn_MAP_RANAP_NonSearchingIndication_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_NonSearchingIndication_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_RANAP_NonSearchingIndication_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_NonSearchingIndication = {
+ "RANAP_NonSearchingIndication",
+ "RANAP_NonSearchingIndication",
+ RANAP_NonSearchingIndication_free,
+ RANAP_NonSearchingIndication_print,
+ RANAP_NonSearchingIndication_constraint,
+ RANAP_NonSearchingIndication_decode_ber,
+ RANAP_NonSearchingIndication_encode_der,
+ RANAP_NonSearchingIndication_decode_xer,
+ RANAP_NonSearchingIndication_encode_xer,
+ RANAP_NonSearchingIndication_decode_uper,
+ RANAP_NonSearchingIndication_encode_uper,
+ RANAP_NonSearchingIndication_decode_aper,
+ RANAP_NonSearchingIndication_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_NonSearchingIndication_tags_1,
+ sizeof(asn_DEF_RANAP_NonSearchingIndication_tags_1)
+ /sizeof(asn_DEF_RANAP_NonSearchingIndication_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_NonSearchingIndication_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_NonSearchingIndication_tags_1)
+ /sizeof(asn_DEF_RANAP_NonSearchingIndication_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_NonSearchingIndication_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_NonSearchingIndication_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_NonSearchingIndication.h b/src/ranap/RANAP_NonSearchingIndication.h
new file mode 100644
index 0000000..ea8d8bd
--- /dev/null
+++ b/src/ranap/RANAP_NonSearchingIndication.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_NonSearchingIndication_H_
+#define _RANAP_NonSearchingIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_NonSearchingIndication {
+ RANAP_NonSearchingIndication_non_searching = 0,
+ RANAP_NonSearchingIndication_searching = 1
+} e_RANAP_NonSearchingIndication;
+
+/* RANAP_NonSearchingIndication */
+typedef long RANAP_NonSearchingIndication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_NonSearchingIndication;
+asn_struct_free_f RANAP_NonSearchingIndication_free;
+asn_struct_print_f RANAP_NonSearchingIndication_print;
+asn_constr_check_f RANAP_NonSearchingIndication_constraint;
+ber_type_decoder_f RANAP_NonSearchingIndication_decode_ber;
+der_type_encoder_f RANAP_NonSearchingIndication_encode_der;
+xer_type_decoder_f RANAP_NonSearchingIndication_decode_xer;
+xer_type_encoder_f RANAP_NonSearchingIndication_encode_xer;
+per_type_decoder_f RANAP_NonSearchingIndication_decode_uper;
+per_type_encoder_f RANAP_NonSearchingIndication_encode_uper;
+per_type_decoder_f RANAP_NonSearchingIndication_decode_aper;
+per_type_encoder_f RANAP_NonSearchingIndication_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_NonSearchingIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_NotEmptyRAListofIdleModeUEs.c b/src/ranap/RANAP_NotEmptyRAListofIdleModeUEs.c
new file mode 100644
index 0000000..72a4e11
--- /dev/null
+++ b/src/ranap/RANAP_NotEmptyRAListofIdleModeUEs.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_NotEmptyRAListofIdleModeUEs.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_NotEmptyRAListofIdleModeUEs_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_NotEmptyRAListofIdleModeUEs, rAofIdleModeUEs),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RAofIdleModeUEs,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rAofIdleModeUEs"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_NotEmptyRAListofIdleModeUEs, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_NotEmptyRAListofIdleModeUEs_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_RANAP_NotEmptyRAListofIdleModeUEs_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_NotEmptyRAListofIdleModeUEs_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rAofIdleModeUEs */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_NotEmptyRAListofIdleModeUEs_specs_1 = {
+ sizeof(struct RANAP_NotEmptyRAListofIdleModeUEs),
+ offsetof(struct RANAP_NotEmptyRAListofIdleModeUEs, _asn_ctx),
+ asn_MAP_RANAP_NotEmptyRAListofIdleModeUEs_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_RANAP_NotEmptyRAListofIdleModeUEs_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_NotEmptyRAListofIdleModeUEs = {
+ "RANAP_NotEmptyRAListofIdleModeUEs",
+ "RANAP_NotEmptyRAListofIdleModeUEs",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_NotEmptyRAListofIdleModeUEs_tags_1,
+ sizeof(asn_DEF_RANAP_NotEmptyRAListofIdleModeUEs_tags_1)
+ /sizeof(asn_DEF_RANAP_NotEmptyRAListofIdleModeUEs_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_NotEmptyRAListofIdleModeUEs_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_NotEmptyRAListofIdleModeUEs_tags_1)
+ /sizeof(asn_DEF_RANAP_NotEmptyRAListofIdleModeUEs_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_NotEmptyRAListofIdleModeUEs_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_NotEmptyRAListofIdleModeUEs_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_NotEmptyRAListofIdleModeUEs.h b/src/ranap/RANAP_NotEmptyRAListofIdleModeUEs.h
new file mode 100644
index 0000000..2561166
--- /dev/null
+++ b/src/ranap/RANAP_NotEmptyRAListofIdleModeUEs.h
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_NotEmptyRAListofIdleModeUEs_H_
+#define _RANAP_NotEmptyRAListofIdleModeUEs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_RAofIdleModeUEs.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_NotEmptyRAListofIdleModeUEs */
+typedef struct RANAP_NotEmptyRAListofIdleModeUEs {
+ RANAP_RAofIdleModeUEs_t rAofIdleModeUEs;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_NotEmptyRAListofIdleModeUEs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_NotEmptyRAListofIdleModeUEs;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_NotEmptyRAListofIdleModeUEs_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_NumberOfIuInstances.c b/src/ranap/RANAP_NumberOfIuInstances.c
new file mode 100644
index 0000000..3ce7ae0
--- /dev/null
+++ b/src/ranap/RANAP_NumberOfIuInstances.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_NumberOfIuInstances.h"
+
+int
+RANAP_NumberOfIuInstances_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1l && value <= 2l)) {
+ /* 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 void
+RANAP_NumberOfIuInstances_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_NumberOfIuInstances_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_NumberOfIuInstances_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_NumberOfIuInstances_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NumberOfIuInstances_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NumberOfIuInstances_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_NumberOfIuInstances_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_NumberOfIuInstances_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NumberOfIuInstances_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NumberOfIuInstances_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_NumberOfIuInstances_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_NumberOfIuInstances_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NumberOfIuInstances_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NumberOfIuInstances_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_NumberOfIuInstances_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_NumberOfIuInstances_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_NumberOfIuInstances_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_NumberOfIuInstances_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_NumberOfIuInstances_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_NumberOfIuInstances_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_NumberOfIuInstances_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_NumberOfIuInstances_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 1, 1, 1l, 2l } /* (1..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_NumberOfIuInstances_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_NumberOfIuInstances = {
+ "RANAP_NumberOfIuInstances",
+ "RANAP_NumberOfIuInstances",
+ RANAP_NumberOfIuInstances_free,
+ RANAP_NumberOfIuInstances_print,
+ RANAP_NumberOfIuInstances_constraint,
+ RANAP_NumberOfIuInstances_decode_ber,
+ RANAP_NumberOfIuInstances_encode_der,
+ RANAP_NumberOfIuInstances_decode_xer,
+ RANAP_NumberOfIuInstances_encode_xer,
+ RANAP_NumberOfIuInstances_decode_uper,
+ RANAP_NumberOfIuInstances_encode_uper,
+ RANAP_NumberOfIuInstances_decode_aper,
+ RANAP_NumberOfIuInstances_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_NumberOfIuInstances_tags_1,
+ sizeof(asn_DEF_RANAP_NumberOfIuInstances_tags_1)
+ /sizeof(asn_DEF_RANAP_NumberOfIuInstances_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_NumberOfIuInstances_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_NumberOfIuInstances_tags_1)
+ /sizeof(asn_DEF_RANAP_NumberOfIuInstances_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_NumberOfIuInstances_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_NumberOfIuInstances.h b/src/ranap/RANAP_NumberOfIuInstances.h
new file mode 100644
index 0000000..c6c0ea3
--- /dev/null
+++ b/src/ranap/RANAP_NumberOfIuInstances.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_NumberOfIuInstances_H_
+#define _RANAP_NumberOfIuInstances_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_NumberOfIuInstances */
+typedef long RANAP_NumberOfIuInstances_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_NumberOfIuInstances;
+asn_struct_free_f RANAP_NumberOfIuInstances_free;
+asn_struct_print_f RANAP_NumberOfIuInstances_print;
+asn_constr_check_f RANAP_NumberOfIuInstances_constraint;
+ber_type_decoder_f RANAP_NumberOfIuInstances_decode_ber;
+der_type_encoder_f RANAP_NumberOfIuInstances_encode_der;
+xer_type_decoder_f RANAP_NumberOfIuInstances_decode_xer;
+xer_type_encoder_f RANAP_NumberOfIuInstances_encode_xer;
+per_type_decoder_f RANAP_NumberOfIuInstances_decode_uper;
+per_type_encoder_f RANAP_NumberOfIuInstances_encode_uper;
+per_type_decoder_f RANAP_NumberOfIuInstances_decode_aper;
+per_type_encoder_f RANAP_NumberOfIuInstances_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_NumberOfIuInstances_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_NumberOfSteps.c b/src/ranap/RANAP_NumberOfSteps.c
new file mode 100644
index 0000000..cf67f2a
--- /dev/null
+++ b/src/ranap/RANAP_NumberOfSteps.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_NumberOfSteps.h"
+
+int
+RANAP_NumberOfSteps_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1l && value <= 16l)) {
+ /* 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 void
+RANAP_NumberOfSteps_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_NumberOfSteps_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_NumberOfSteps_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_NumberOfSteps_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NumberOfSteps_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NumberOfSteps_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_NumberOfSteps_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_NumberOfSteps_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NumberOfSteps_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NumberOfSteps_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_NumberOfSteps_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_NumberOfSteps_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_NumberOfSteps_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_NumberOfSteps_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_NumberOfSteps_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_NumberOfSteps_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_NumberOfSteps_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_NumberOfSteps_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_NumberOfSteps_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_NumberOfSteps_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_NumberOfSteps_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_NumberOfSteps_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 4, 4, 1l, 16l } /* (1..16) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_NumberOfSteps_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_NumberOfSteps = {
+ "RANAP_NumberOfSteps",
+ "RANAP_NumberOfSteps",
+ RANAP_NumberOfSteps_free,
+ RANAP_NumberOfSteps_print,
+ RANAP_NumberOfSteps_constraint,
+ RANAP_NumberOfSteps_decode_ber,
+ RANAP_NumberOfSteps_encode_der,
+ RANAP_NumberOfSteps_decode_xer,
+ RANAP_NumberOfSteps_encode_xer,
+ RANAP_NumberOfSteps_decode_uper,
+ RANAP_NumberOfSteps_encode_uper,
+ RANAP_NumberOfSteps_decode_aper,
+ RANAP_NumberOfSteps_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_NumberOfSteps_tags_1,
+ sizeof(asn_DEF_RANAP_NumberOfSteps_tags_1)
+ /sizeof(asn_DEF_RANAP_NumberOfSteps_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_NumberOfSteps_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_NumberOfSteps_tags_1)
+ /sizeof(asn_DEF_RANAP_NumberOfSteps_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_NumberOfSteps_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_NumberOfSteps.h b/src/ranap/RANAP_NumberOfSteps.h
new file mode 100644
index 0000000..5509f49
--- /dev/null
+++ b/src/ranap/RANAP_NumberOfSteps.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_NumberOfSteps_H_
+#define _RANAP_NumberOfSteps_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_NumberOfSteps */
+typedef long RANAP_NumberOfSteps_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_NumberOfSteps;
+asn_struct_free_f RANAP_NumberOfSteps_free;
+asn_struct_print_f RANAP_NumberOfSteps_print;
+asn_constr_check_f RANAP_NumberOfSteps_constraint;
+ber_type_decoder_f RANAP_NumberOfSteps_decode_ber;
+der_type_encoder_f RANAP_NumberOfSteps_encode_der;
+xer_type_decoder_f RANAP_NumberOfSteps_decode_xer;
+xer_type_encoder_f RANAP_NumberOfSteps_encode_xer;
+per_type_decoder_f RANAP_NumberOfSteps_decode_uper;
+per_type_encoder_f RANAP_NumberOfSteps_encode_uper;
+per_type_decoder_f RANAP_NumberOfSteps_decode_aper;
+per_type_encoder_f RANAP_NumberOfSteps_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_NumberOfSteps_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_OMC-ID.c b/src/ranap/RANAP_OMC-ID.c
new file mode 100644
index 0000000..23a2a44
--- /dev/null
+++ b/src/ranap/RANAP_OMC-ID.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_OMC-ID.h"
+
+int
+RANAP_OMC_ID_constraint(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 >= 3l && size <= 22l)) {
+ /* 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 void
+RANAP_OMC_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_OMC_ID_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_OMC_ID_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_OMC_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_OMC_ID_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_OMC_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_OMC_ID_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_OMC_ID_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_OMC_ID_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_OMC_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_OMC_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_OMC_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_OMC_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_OMC_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_OMC_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_OMC_ID_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_OMC_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_OMC_ID_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_OMC_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_OMC_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_OMC_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_OMC_ID_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 5, 5, 3l, 22l } /* (SIZE(3..22)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_OMC_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_OMC_ID = {
+ "RANAP_OMC-ID",
+ "RANAP_OMC-ID",
+ RANAP_OMC_ID_free,
+ RANAP_OMC_ID_print,
+ RANAP_OMC_ID_constraint,
+ RANAP_OMC_ID_decode_ber,
+ RANAP_OMC_ID_encode_der,
+ RANAP_OMC_ID_decode_xer,
+ RANAP_OMC_ID_encode_xer,
+ RANAP_OMC_ID_decode_uper,
+ RANAP_OMC_ID_encode_uper,
+ RANAP_OMC_ID_decode_aper,
+ RANAP_OMC_ID_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_OMC_ID_tags_1,
+ sizeof(asn_DEF_RANAP_OMC_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_OMC_ID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_OMC_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_OMC_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_OMC_ID_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_OMC_ID_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_OMC-ID.h b/src/ranap/RANAP_OMC-ID.h
new file mode 100644
index 0000000..042875a
--- /dev/null
+++ b/src/ranap/RANAP_OMC-ID.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_OMC_ID_H_
+#define _RANAP_OMC_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_OMC-ID */
+typedef OCTET_STRING_t RANAP_OMC_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_OMC_ID;
+asn_struct_free_f RANAP_OMC_ID_free;
+asn_struct_print_f RANAP_OMC_ID_print;
+asn_constr_check_f RANAP_OMC_ID_constraint;
+ber_type_decoder_f RANAP_OMC_ID_decode_ber;
+der_type_encoder_f RANAP_OMC_ID_encode_der;
+xer_type_decoder_f RANAP_OMC_ID_decode_xer;
+xer_type_encoder_f RANAP_OMC_ID_encode_xer;
+per_type_decoder_f RANAP_OMC_ID_decode_uper;
+per_type_encoder_f RANAP_OMC_ID_encode_uper;
+per_type_decoder_f RANAP_OMC_ID_decode_aper;
+per_type_encoder_f RANAP_OMC_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_OMC_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Offload-RAB-Parameters-APN.c b/src/ranap/RANAP_Offload-RAB-Parameters-APN.c
new file mode 100644
index 0000000..3d8c38a
--- /dev/null
+++ b/src/ranap/RANAP_Offload-RAB-Parameters-APN.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Offload-RAB-Parameters-APN.h"
+
+int
+RANAP_Offload_RAB_Parameters_APN_constraint(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 >= 1l && size <= 255l)) {
+ /* 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 void
+RANAP_Offload_RAB_Parameters_APN_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_Offload_RAB_Parameters_APN_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Offload_RAB_Parameters_APN_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Offload_RAB_Parameters_APN_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Offload_RAB_Parameters_APN_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Offload_RAB_Parameters_APN_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Offload_RAB_Parameters_APN_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Offload_RAB_Parameters_APN_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Offload_RAB_Parameters_APN_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Offload_RAB_Parameters_APN_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Offload_RAB_Parameters_APN_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Offload_RAB_Parameters_APN_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Offload_RAB_Parameters_APN_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Offload_RAB_Parameters_APN_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Offload_RAB_Parameters_APN_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Offload_RAB_Parameters_APN_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Offload_RAB_Parameters_APN_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Offload_RAB_Parameters_APN_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Offload_RAB_Parameters_APN_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Offload_RAB_Parameters_APN_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Offload_RAB_Parameters_APN_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_Offload_RAB_Parameters_APN_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 8, 8, 1l, 255l } /* (SIZE(1..255)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Offload_RAB_Parameters_APN_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Offload_RAB_Parameters_APN = {
+ "RANAP_Offload-RAB-Parameters-APN",
+ "RANAP_Offload-RAB-Parameters-APN",
+ RANAP_Offload_RAB_Parameters_APN_free,
+ RANAP_Offload_RAB_Parameters_APN_print,
+ RANAP_Offload_RAB_Parameters_APN_constraint,
+ RANAP_Offload_RAB_Parameters_APN_decode_ber,
+ RANAP_Offload_RAB_Parameters_APN_encode_der,
+ RANAP_Offload_RAB_Parameters_APN_decode_xer,
+ RANAP_Offload_RAB_Parameters_APN_encode_xer,
+ RANAP_Offload_RAB_Parameters_APN_decode_uper,
+ RANAP_Offload_RAB_Parameters_APN_encode_uper,
+ RANAP_Offload_RAB_Parameters_APN_decode_aper,
+ RANAP_Offload_RAB_Parameters_APN_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Offload_RAB_Parameters_APN_tags_1,
+ sizeof(asn_DEF_RANAP_Offload_RAB_Parameters_APN_tags_1)
+ /sizeof(asn_DEF_RANAP_Offload_RAB_Parameters_APN_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Offload_RAB_Parameters_APN_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Offload_RAB_Parameters_APN_tags_1)
+ /sizeof(asn_DEF_RANAP_Offload_RAB_Parameters_APN_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Offload_RAB_Parameters_APN_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_Offload-RAB-Parameters-APN.h b/src/ranap/RANAP_Offload-RAB-Parameters-APN.h
new file mode 100644
index 0000000..ba1bb02
--- /dev/null
+++ b/src/ranap/RANAP_Offload-RAB-Parameters-APN.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Offload_RAB_Parameters_APN_H_
+#define _RANAP_Offload_RAB_Parameters_APN_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Offload-RAB-Parameters-APN */
+typedef OCTET_STRING_t RANAP_Offload_RAB_Parameters_APN_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Offload_RAB_Parameters_APN;
+asn_struct_free_f RANAP_Offload_RAB_Parameters_APN_free;
+asn_struct_print_f RANAP_Offload_RAB_Parameters_APN_print;
+asn_constr_check_f RANAP_Offload_RAB_Parameters_APN_constraint;
+ber_type_decoder_f RANAP_Offload_RAB_Parameters_APN_decode_ber;
+der_type_encoder_f RANAP_Offload_RAB_Parameters_APN_encode_der;
+xer_type_decoder_f RANAP_Offload_RAB_Parameters_APN_decode_xer;
+xer_type_encoder_f RANAP_Offload_RAB_Parameters_APN_encode_xer;
+per_type_decoder_f RANAP_Offload_RAB_Parameters_APN_decode_uper;
+per_type_encoder_f RANAP_Offload_RAB_Parameters_APN_encode_uper;
+per_type_decoder_f RANAP_Offload_RAB_Parameters_APN_decode_aper;
+per_type_encoder_f RANAP_Offload_RAB_Parameters_APN_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Offload_RAB_Parameters_APN_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Offload-RAB-Parameters-ChargingCharacteristics.c b/src/ranap/RANAP_Offload-RAB-Parameters-ChargingCharacteristics.c
new file mode 100644
index 0000000..d7d3213
--- /dev/null
+++ b/src/ranap/RANAP_Offload-RAB-Parameters-ChargingCharacteristics.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Offload-RAB-Parameters-ChargingCharacteristics.h"
+
+int
+RANAP_Offload_RAB_Parameters_ChargingCharacteristics_constraint(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 == 2l)) {
+ /* 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 void
+RANAP_Offload_RAB_Parameters_ChargingCharacteristics_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_Offload_RAB_Parameters_ChargingCharacteristics_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Offload_RAB_Parameters_ChargingCharacteristics_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Offload_RAB_Parameters_ChargingCharacteristics_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Offload_RAB_Parameters_ChargingCharacteristics_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Offload_RAB_Parameters_ChargingCharacteristics_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Offload_RAB_Parameters_ChargingCharacteristics_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Offload_RAB_Parameters_ChargingCharacteristics_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Offload_RAB_Parameters_ChargingCharacteristics_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Offload_RAB_Parameters_ChargingCharacteristics_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Offload_RAB_Parameters_ChargingCharacteristics_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Offload_RAB_Parameters_ChargingCharacteristics_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Offload_RAB_Parameters_ChargingCharacteristics_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Offload_RAB_Parameters_ChargingCharacteristics_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Offload_RAB_Parameters_ChargingCharacteristics_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Offload_RAB_Parameters_ChargingCharacteristics_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Offload_RAB_Parameters_ChargingCharacteristics_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Offload_RAB_Parameters_ChargingCharacteristics_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Offload_RAB_Parameters_ChargingCharacteristics_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Offload_RAB_Parameters_ChargingCharacteristics_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Offload_RAB_Parameters_ChargingCharacteristics_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_Offload_RAB_Parameters_ChargingCharacteristics_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 2l, 2l } /* (SIZE(2..2)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Offload_RAB_Parameters_ChargingCharacteristics_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Offload_RAB_Parameters_ChargingCharacteristics = {
+ "RANAP_Offload-RAB-Parameters-ChargingCharacteristics",
+ "RANAP_Offload-RAB-Parameters-ChargingCharacteristics",
+ RANAP_Offload_RAB_Parameters_ChargingCharacteristics_free,
+ RANAP_Offload_RAB_Parameters_ChargingCharacteristics_print,
+ RANAP_Offload_RAB_Parameters_ChargingCharacteristics_constraint,
+ RANAP_Offload_RAB_Parameters_ChargingCharacteristics_decode_ber,
+ RANAP_Offload_RAB_Parameters_ChargingCharacteristics_encode_der,
+ RANAP_Offload_RAB_Parameters_ChargingCharacteristics_decode_xer,
+ RANAP_Offload_RAB_Parameters_ChargingCharacteristics_encode_xer,
+ RANAP_Offload_RAB_Parameters_ChargingCharacteristics_decode_uper,
+ RANAP_Offload_RAB_Parameters_ChargingCharacteristics_encode_uper,
+ RANAP_Offload_RAB_Parameters_ChargingCharacteristics_decode_aper,
+ RANAP_Offload_RAB_Parameters_ChargingCharacteristics_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Offload_RAB_Parameters_ChargingCharacteristics_tags_1,
+ sizeof(asn_DEF_RANAP_Offload_RAB_Parameters_ChargingCharacteristics_tags_1)
+ /sizeof(asn_DEF_RANAP_Offload_RAB_Parameters_ChargingCharacteristics_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Offload_RAB_Parameters_ChargingCharacteristics_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Offload_RAB_Parameters_ChargingCharacteristics_tags_1)
+ /sizeof(asn_DEF_RANAP_Offload_RAB_Parameters_ChargingCharacteristics_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Offload_RAB_Parameters_ChargingCharacteristics_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_Offload-RAB-Parameters-ChargingCharacteristics.h b/src/ranap/RANAP_Offload-RAB-Parameters-ChargingCharacteristics.h
new file mode 100644
index 0000000..90a89ff
--- /dev/null
+++ b/src/ranap/RANAP_Offload-RAB-Parameters-ChargingCharacteristics.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Offload_RAB_Parameters_ChargingCharacteristics_H_
+#define _RANAP_Offload_RAB_Parameters_ChargingCharacteristics_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Offload-RAB-Parameters-ChargingCharacteristics */
+typedef OCTET_STRING_t RANAP_Offload_RAB_Parameters_ChargingCharacteristics_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Offload_RAB_Parameters_ChargingCharacteristics;
+asn_struct_free_f RANAP_Offload_RAB_Parameters_ChargingCharacteristics_free;
+asn_struct_print_f RANAP_Offload_RAB_Parameters_ChargingCharacteristics_print;
+asn_constr_check_f RANAP_Offload_RAB_Parameters_ChargingCharacteristics_constraint;
+ber_type_decoder_f RANAP_Offload_RAB_Parameters_ChargingCharacteristics_decode_ber;
+der_type_encoder_f RANAP_Offload_RAB_Parameters_ChargingCharacteristics_encode_der;
+xer_type_decoder_f RANAP_Offload_RAB_Parameters_ChargingCharacteristics_decode_xer;
+xer_type_encoder_f RANAP_Offload_RAB_Parameters_ChargingCharacteristics_encode_xer;
+per_type_decoder_f RANAP_Offload_RAB_Parameters_ChargingCharacteristics_decode_uper;
+per_type_encoder_f RANAP_Offload_RAB_Parameters_ChargingCharacteristics_encode_uper;
+per_type_decoder_f RANAP_Offload_RAB_Parameters_ChargingCharacteristics_decode_aper;
+per_type_encoder_f RANAP_Offload_RAB_Parameters_ChargingCharacteristics_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Offload_RAB_Parameters_ChargingCharacteristics_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Offload-RAB-Parameters.c b/src/ranap/RANAP_Offload-RAB-Parameters.c
new file mode 100644
index 0000000..f4c0fab
--- /dev/null
+++ b/src/ranap/RANAP_Offload-RAB-Parameters.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Offload-RAB-Parameters.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_Offload_RAB_Parameters_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Offload_RAB_Parameters, accessPointName),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Offload_RAB_Parameters_APN,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "accessPointName"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Offload_RAB_Parameters, chargingCharacteristics),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Offload_RAB_Parameters_ChargingCharacteristics,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "chargingCharacteristics"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_Offload_RAB_Parameters, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_Offload_RAB_Parameters_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_Offload_RAB_Parameters_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_Offload_RAB_Parameters_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* accessPointName */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* chargingCharacteristics */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_Offload_RAB_Parameters_specs_1 = {
+ sizeof(struct RANAP_Offload_RAB_Parameters),
+ offsetof(struct RANAP_Offload_RAB_Parameters, _asn_ctx),
+ asn_MAP_RANAP_Offload_RAB_Parameters_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_Offload_RAB_Parameters_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Offload_RAB_Parameters = {
+ "RANAP_Offload-RAB-Parameters",
+ "RANAP_Offload-RAB-Parameters",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Offload_RAB_Parameters_tags_1,
+ sizeof(asn_DEF_RANAP_Offload_RAB_Parameters_tags_1)
+ /sizeof(asn_DEF_RANAP_Offload_RAB_Parameters_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Offload_RAB_Parameters_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Offload_RAB_Parameters_tags_1)
+ /sizeof(asn_DEF_RANAP_Offload_RAB_Parameters_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_Offload_RAB_Parameters_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_Offload_RAB_Parameters_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Offload-RAB-Parameters.h b/src/ranap/RANAP_Offload-RAB-Parameters.h
new file mode 100644
index 0000000..26c528f
--- /dev/null
+++ b/src/ranap/RANAP_Offload-RAB-Parameters.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Offload_RAB_Parameters_H_
+#define _RANAP_Offload_RAB_Parameters_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_Offload-RAB-Parameters-APN.h"
+#include "RANAP_Offload-RAB-Parameters-ChargingCharacteristics.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Offload-RAB-Parameters */
+typedef struct RANAP_Offload_RAB_Parameters {
+ RANAP_Offload_RAB_Parameters_APN_t accessPointName;
+ RANAP_Offload_RAB_Parameters_ChargingCharacteristics_t chargingCharacteristics;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Offload_RAB_Parameters_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Offload_RAB_Parameters;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Offload_RAB_Parameters_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_OldBSS-ToNewBSS-Information.c b/src/ranap/RANAP_OldBSS-ToNewBSS-Information.c
new file mode 100644
index 0000000..11098f8
--- /dev/null
+++ b/src/ranap/RANAP_OldBSS-ToNewBSS-Information.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_OldBSS-ToNewBSS-Information.h"
+
+int
+RANAP_OldBSS_ToNewBSS_Information_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_OldBSS_ToNewBSS_Information_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_OldBSS_ToNewBSS_Information_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_OldBSS_ToNewBSS_Information_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_OldBSS_ToNewBSS_Information_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_OldBSS_ToNewBSS_Information_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_OldBSS_ToNewBSS_Information_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_OldBSS_ToNewBSS_Information_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_OldBSS_ToNewBSS_Information_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_OldBSS_ToNewBSS_Information_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_OldBSS_ToNewBSS_Information_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_OldBSS_ToNewBSS_Information_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_OldBSS_ToNewBSS_Information_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_OldBSS_ToNewBSS_Information_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_OldBSS_ToNewBSS_Information_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_OldBSS_ToNewBSS_Information_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_OldBSS_ToNewBSS_Information_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_OldBSS_ToNewBSS_Information_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_OldBSS_ToNewBSS_Information_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_OldBSS_ToNewBSS_Information_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_OldBSS_ToNewBSS_Information_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_OldBSS_ToNewBSS_Information_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static const ber_tlv_tag_t asn_DEF_RANAP_OldBSS_ToNewBSS_Information_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_OldBSS_ToNewBSS_Information = {
+ "RANAP_OldBSS-ToNewBSS-Information",
+ "RANAP_OldBSS-ToNewBSS-Information",
+ RANAP_OldBSS_ToNewBSS_Information_free,
+ RANAP_OldBSS_ToNewBSS_Information_print,
+ RANAP_OldBSS_ToNewBSS_Information_constraint,
+ RANAP_OldBSS_ToNewBSS_Information_decode_ber,
+ RANAP_OldBSS_ToNewBSS_Information_encode_der,
+ RANAP_OldBSS_ToNewBSS_Information_decode_xer,
+ RANAP_OldBSS_ToNewBSS_Information_encode_xer,
+ RANAP_OldBSS_ToNewBSS_Information_decode_uper,
+ RANAP_OldBSS_ToNewBSS_Information_encode_uper,
+ RANAP_OldBSS_ToNewBSS_Information_decode_aper,
+ RANAP_OldBSS_ToNewBSS_Information_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_OldBSS_ToNewBSS_Information_tags_1,
+ sizeof(asn_DEF_RANAP_OldBSS_ToNewBSS_Information_tags_1)
+ /sizeof(asn_DEF_RANAP_OldBSS_ToNewBSS_Information_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_OldBSS_ToNewBSS_Information_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_OldBSS_ToNewBSS_Information_tags_1)
+ /sizeof(asn_DEF_RANAP_OldBSS_ToNewBSS_Information_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_OldBSS-ToNewBSS-Information.h b/src/ranap/RANAP_OldBSS-ToNewBSS-Information.h
new file mode 100644
index 0000000..f44e01c
--- /dev/null
+++ b/src/ranap/RANAP_OldBSS-ToNewBSS-Information.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_OldBSS_ToNewBSS_Information_H_
+#define _RANAP_OldBSS_ToNewBSS_Information_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_OldBSS-ToNewBSS-Information */
+typedef OCTET_STRING_t RANAP_OldBSS_ToNewBSS_Information_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_OldBSS_ToNewBSS_Information;
+asn_struct_free_f RANAP_OldBSS_ToNewBSS_Information_free;
+asn_struct_print_f RANAP_OldBSS_ToNewBSS_Information_print;
+asn_constr_check_f RANAP_OldBSS_ToNewBSS_Information_constraint;
+ber_type_decoder_f RANAP_OldBSS_ToNewBSS_Information_decode_ber;
+der_type_encoder_f RANAP_OldBSS_ToNewBSS_Information_encode_der;
+xer_type_decoder_f RANAP_OldBSS_ToNewBSS_Information_decode_xer;
+xer_type_encoder_f RANAP_OldBSS_ToNewBSS_Information_encode_xer;
+per_type_decoder_f RANAP_OldBSS_ToNewBSS_Information_decode_uper;
+per_type_encoder_f RANAP_OldBSS_ToNewBSS_Information_encode_uper;
+per_type_decoder_f RANAP_OldBSS_ToNewBSS_Information_decode_aper;
+per_type_encoder_f RANAP_OldBSS_ToNewBSS_Information_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_OldBSS_ToNewBSS_Information_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Out-Of-UTRAN.c b/src/ranap/RANAP_Out-Of-UTRAN.c
new file mode 100644
index 0000000..617fef9
--- /dev/null
+++ b/src/ranap/RANAP_Out-Of-UTRAN.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Out-Of-UTRAN.h"
+
+int
+RANAP_Out_Of_UTRAN_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_Out_Of_UTRAN_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_Out_Of_UTRAN_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Out_Of_UTRAN_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Out_Of_UTRAN_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Out_Of_UTRAN_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Out_Of_UTRAN_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Out_Of_UTRAN_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Out_Of_UTRAN_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Out_Of_UTRAN_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Out_Of_UTRAN_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Out_Of_UTRAN_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Out_Of_UTRAN_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Out_Of_UTRAN_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Out_Of_UTRAN_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Out_Of_UTRAN_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Out_Of_UTRAN_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Out_Of_UTRAN_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Out_Of_UTRAN_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Out_Of_UTRAN_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Out_Of_UTRAN_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Out_Of_UTRAN_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_Out_Of_UTRAN_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_Out_Of_UTRAN_value2enum_1[] = {
+ { 0, 26, "cell-reselection-to-EUTRAN" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_Out_Of_UTRAN_enum2value_1[] = {
+ 0 /* cell-reselection-to-EUTRAN(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_Out_Of_UTRAN_specs_1 = {
+ asn_MAP_RANAP_Out_Of_UTRAN_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_Out_Of_UTRAN_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_RANAP_Out_Of_UTRAN_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Out_Of_UTRAN = {
+ "RANAP_Out-Of-UTRAN",
+ "RANAP_Out-Of-UTRAN",
+ RANAP_Out_Of_UTRAN_free,
+ RANAP_Out_Of_UTRAN_print,
+ RANAP_Out_Of_UTRAN_constraint,
+ RANAP_Out_Of_UTRAN_decode_ber,
+ RANAP_Out_Of_UTRAN_encode_der,
+ RANAP_Out_Of_UTRAN_decode_xer,
+ RANAP_Out_Of_UTRAN_encode_xer,
+ RANAP_Out_Of_UTRAN_decode_uper,
+ RANAP_Out_Of_UTRAN_encode_uper,
+ RANAP_Out_Of_UTRAN_decode_aper,
+ RANAP_Out_Of_UTRAN_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Out_Of_UTRAN_tags_1,
+ sizeof(asn_DEF_RANAP_Out_Of_UTRAN_tags_1)
+ /sizeof(asn_DEF_RANAP_Out_Of_UTRAN_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Out_Of_UTRAN_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Out_Of_UTRAN_tags_1)
+ /sizeof(asn_DEF_RANAP_Out_Of_UTRAN_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Out_Of_UTRAN_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_Out_Of_UTRAN_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Out-Of-UTRAN.h b/src/ranap/RANAP_Out-Of-UTRAN.h
new file mode 100644
index 0000000..fefb72d
--- /dev/null
+++ b/src/ranap/RANAP_Out-Of-UTRAN.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Out_Of_UTRAN_H_
+#define _RANAP_Out_Of_UTRAN_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_Out_Of_UTRAN {
+ RANAP_Out_Of_UTRAN_cell_reselection_to_EUTRAN = 0
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_Out_Of_UTRAN;
+
+/* RANAP_Out-Of-UTRAN */
+typedef long RANAP_Out_Of_UTRAN_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Out_Of_UTRAN;
+asn_struct_free_f RANAP_Out_Of_UTRAN_free;
+asn_struct_print_f RANAP_Out_Of_UTRAN_print;
+asn_constr_check_f RANAP_Out_Of_UTRAN_constraint;
+ber_type_decoder_f RANAP_Out_Of_UTRAN_decode_ber;
+der_type_encoder_f RANAP_Out_Of_UTRAN_encode_der;
+xer_type_decoder_f RANAP_Out_Of_UTRAN_decode_xer;
+xer_type_encoder_f RANAP_Out_Of_UTRAN_encode_xer;
+per_type_decoder_f RANAP_Out_Of_UTRAN_decode_uper;
+per_type_encoder_f RANAP_Out_Of_UTRAN_encode_uper;
+per_type_decoder_f RANAP_Out_Of_UTRAN_decode_aper;
+per_type_encoder_f RANAP_Out_Of_UTRAN_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Out_Of_UTRAN_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Outcome.c b/src/ranap/RANAP_Outcome.c
new file mode 100644
index 0000000..578fa6a
--- /dev/null
+++ b/src/ranap/RANAP_Outcome.c
@@ -0,0 +1,81 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_Outcome.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_Outcome_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Outcome, procedureCode),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_ProcedureCode,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "procedureCode"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Outcome, criticality),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Criticality,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "criticality"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Outcome, value),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ANY,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "value"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Outcome_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_Outcome_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 */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_Outcome_specs_1 = {
+ sizeof(struct RANAP_Outcome),
+ offsetof(struct RANAP_Outcome, _asn_ctx),
+ asn_MAP_RANAP_Outcome_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Outcome = {
+ "RANAP_Outcome",
+ "RANAP_Outcome",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Outcome_tags_1,
+ sizeof(asn_DEF_RANAP_Outcome_tags_1)
+ /sizeof(asn_DEF_RANAP_Outcome_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Outcome_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Outcome_tags_1)
+ /sizeof(asn_DEF_RANAP_Outcome_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_Outcome_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_Outcome_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Outcome.h b/src/ranap/RANAP_Outcome.h
new file mode 100644
index 0000000..1c757e0
--- /dev/null
+++ b/src/ranap/RANAP_Outcome.h
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_Outcome_H_
+#define _RANAP_Outcome_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_ProcedureCode.h"
+#include "RANAP_Criticality.h"
+#include <ANY.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Outcome */
+typedef struct RANAP_Outcome {
+ RANAP_ProcedureCode_t procedureCode;
+ RANAP_Criticality_t criticality;
+ ANY_t value;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Outcome_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Outcome;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Outcome_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Overload.c b/src/ranap/RANAP_Overload.c
new file mode 100644
index 0000000..2313ee6
--- /dev/null
+++ b/src/ranap/RANAP_Overload.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_Overload.h"
+
+static int
+memb_overload_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_overload_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_overload_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_overload_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_overload_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_overload_ies_specs_2 = {
+ sizeof(struct overload_ies),
+ offsetof(struct overload_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_overload_ies_2 = {
+ "overload-ies",
+ "overload-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_overload_ies_tags_2,
+ sizeof(asn_DEF_overload_ies_tags_2)
+ /sizeof(asn_DEF_overload_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_overload_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_overload_ies_tags_2)
+ /sizeof(asn_DEF_overload_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_overload_ies_constr_2,
+ asn_MBR_overload_ies_2,
+ 1, /* Single element */
+ &asn_SPC_overload_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_Overload_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Overload, overload_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_overload_ies_2,
+ memb_overload_ies_constraint_1,
+ &asn_PER_memb_overload_ies_constr_2,
+ 0,
+ "overload-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Overload_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_Overload_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* overload-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_Overload_specs_1 = {
+ sizeof(struct RANAP_Overload),
+ offsetof(struct RANAP_Overload, _asn_ctx),
+ asn_MAP_RANAP_Overload_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Overload = {
+ "RANAP_Overload",
+ "RANAP_Overload",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Overload_tags_1,
+ sizeof(asn_DEF_RANAP_Overload_tags_1)
+ /sizeof(asn_DEF_RANAP_Overload_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Overload_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Overload_tags_1)
+ /sizeof(asn_DEF_RANAP_Overload_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_Overload_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_Overload_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Overload.h b/src/ranap/RANAP_Overload.h
new file mode 100644
index 0000000..856e3ec
--- /dev/null
+++ b/src/ranap/RANAP_Overload.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_Overload_H_
+#define _RANAP_Overload_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Overload */
+typedef struct RANAP_Overload {
+ struct overload_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } overload_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Overload_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Overload;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Overload_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_P-TMSI.c b/src/ranap/RANAP_P-TMSI.c
new file mode 100644
index 0000000..ea56cbd
--- /dev/null
+++ b/src/ranap/RANAP_P-TMSI.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_P-TMSI.h"
+
+int
+RANAP_P_TMSI_constraint(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 == 4l)) {
+ /* 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 void
+RANAP_P_TMSI_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_P_TMSI_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_P_TMSI_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_P_TMSI_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_P_TMSI_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_P_TMSI_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_P_TMSI_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_P_TMSI_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_P_TMSI_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_P_TMSI_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_P_TMSI_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_P_TMSI_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_P_TMSI_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_P_TMSI_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_P_TMSI_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_P_TMSI_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_P_TMSI_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_P_TMSI_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_P_TMSI_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_P_TMSI_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_P_TMSI_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_P_TMSI_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 4l, 4l } /* (SIZE(4..4)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_P_TMSI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_P_TMSI = {
+ "RANAP_P-TMSI",
+ "RANAP_P-TMSI",
+ RANAP_P_TMSI_free,
+ RANAP_P_TMSI_print,
+ RANAP_P_TMSI_constraint,
+ RANAP_P_TMSI_decode_ber,
+ RANAP_P_TMSI_encode_der,
+ RANAP_P_TMSI_decode_xer,
+ RANAP_P_TMSI_encode_xer,
+ RANAP_P_TMSI_decode_uper,
+ RANAP_P_TMSI_encode_uper,
+ RANAP_P_TMSI_decode_aper,
+ RANAP_P_TMSI_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_P_TMSI_tags_1,
+ sizeof(asn_DEF_RANAP_P_TMSI_tags_1)
+ /sizeof(asn_DEF_RANAP_P_TMSI_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_P_TMSI_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_P_TMSI_tags_1)
+ /sizeof(asn_DEF_RANAP_P_TMSI_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_P_TMSI_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_P-TMSI.h b/src/ranap/RANAP_P-TMSI.h
new file mode 100644
index 0000000..800a4e2
--- /dev/null
+++ b/src/ranap/RANAP_P-TMSI.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_P_TMSI_H_
+#define _RANAP_P_TMSI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_P-TMSI */
+typedef OCTET_STRING_t RANAP_P_TMSI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_P_TMSI;
+asn_struct_free_f RANAP_P_TMSI_free;
+asn_struct_print_f RANAP_P_TMSI_print;
+asn_constr_check_f RANAP_P_TMSI_constraint;
+ber_type_decoder_f RANAP_P_TMSI_decode_ber;
+der_type_encoder_f RANAP_P_TMSI_encode_der;
+xer_type_decoder_f RANAP_P_TMSI_decode_xer;
+xer_type_encoder_f RANAP_P_TMSI_encode_xer;
+per_type_decoder_f RANAP_P_TMSI_decode_uper;
+per_type_encoder_f RANAP_P_TMSI_encode_uper;
+per_type_decoder_f RANAP_P_TMSI_decode_aper;
+per_type_encoder_f RANAP_P_TMSI_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_P_TMSI_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_PDP-Type-extension.c b/src/ranap/RANAP_PDP-Type-extension.c
new file mode 100644
index 0000000..81e775e
--- /dev/null
+++ b/src/ranap/RANAP_PDP-Type-extension.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_PDP-Type-extension.h"
+
+int
+RANAP_PDP_Type_extension_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_PDP_Type_extension_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_PDP_Type_extension_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_PDP_Type_extension_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_PDP_Type_extension_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PDP_Type_extension_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PDP_Type_extension_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_PDP_Type_extension_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_PDP_Type_extension_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PDP_Type_extension_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PDP_Type_extension_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_PDP_Type_extension_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_PDP_Type_extension_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PDP_Type_extension_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PDP_Type_extension_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_PDP_Type_extension_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_PDP_Type_extension_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_PDP_Type_extension_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_PDP_Type_extension_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_PDP_Type_extension_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_PDP_Type_extension_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_PDP_Type_extension_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_PDP_Type_extension_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_PDP_Type_extension_value2enum_1[] = {
+ { 0, 13, "ipv4-and-ipv6" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_PDP_Type_extension_enum2value_1[] = {
+ 0 /* ipv4-and-ipv6(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_PDP_Type_extension_specs_1 = {
+ asn_MAP_RANAP_PDP_Type_extension_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_PDP_Type_extension_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_RANAP_PDP_Type_extension_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_PDP_Type_extension = {
+ "RANAP_PDP-Type-extension",
+ "RANAP_PDP-Type-extension",
+ RANAP_PDP_Type_extension_free,
+ RANAP_PDP_Type_extension_print,
+ RANAP_PDP_Type_extension_constraint,
+ RANAP_PDP_Type_extension_decode_ber,
+ RANAP_PDP_Type_extension_encode_der,
+ RANAP_PDP_Type_extension_decode_xer,
+ RANAP_PDP_Type_extension_encode_xer,
+ RANAP_PDP_Type_extension_decode_uper,
+ RANAP_PDP_Type_extension_encode_uper,
+ RANAP_PDP_Type_extension_decode_aper,
+ RANAP_PDP_Type_extension_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_PDP_Type_extension_tags_1,
+ sizeof(asn_DEF_RANAP_PDP_Type_extension_tags_1)
+ /sizeof(asn_DEF_RANAP_PDP_Type_extension_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_PDP_Type_extension_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_PDP_Type_extension_tags_1)
+ /sizeof(asn_DEF_RANAP_PDP_Type_extension_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_PDP_Type_extension_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_PDP_Type_extension_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_PDP-Type-extension.h b/src/ranap/RANAP_PDP-Type-extension.h
new file mode 100644
index 0000000..7f13a18
--- /dev/null
+++ b/src/ranap/RANAP_PDP-Type-extension.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_PDP_Type_extension_H_
+#define _RANAP_PDP_Type_extension_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_PDP_Type_extension {
+ RANAP_PDP_Type_extension_ipv4_and_ipv6 = 0
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_PDP_Type_extension;
+
+/* RANAP_PDP-Type-extension */
+typedef long RANAP_PDP_Type_extension_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_PDP_Type_extension;
+asn_struct_free_f RANAP_PDP_Type_extension_free;
+asn_struct_print_f RANAP_PDP_Type_extension_print;
+asn_constr_check_f RANAP_PDP_Type_extension_constraint;
+ber_type_decoder_f RANAP_PDP_Type_extension_decode_ber;
+der_type_encoder_f RANAP_PDP_Type_extension_encode_der;
+xer_type_decoder_f RANAP_PDP_Type_extension_decode_xer;
+xer_type_encoder_f RANAP_PDP_Type_extension_encode_xer;
+per_type_decoder_f RANAP_PDP_Type_extension_decode_uper;
+per_type_encoder_f RANAP_PDP_Type_extension_encode_uper;
+per_type_decoder_f RANAP_PDP_Type_extension_decode_aper;
+per_type_encoder_f RANAP_PDP_Type_extension_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_PDP_Type_extension_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_PDP-Type.c b/src/ranap/RANAP_PDP-Type.c
new file mode 100644
index 0000000..259f7a9
--- /dev/null
+++ b/src/ranap/RANAP_PDP-Type.c
@@ -0,0 +1,173 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_PDP-Type.h"
+
+int
+RANAP_PDP_Type_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_PDP_Type_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_PDP_Type_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_PDP_Type_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_PDP_Type_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PDP_Type_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PDP_Type_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_PDP_Type_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_PDP_Type_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PDP_Type_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PDP_Type_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_PDP_Type_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_PDP_Type_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PDP_Type_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PDP_Type_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_PDP_Type_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_PDP_Type_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_PDP_Type_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_PDP_Type_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_PDP_Type_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_PDP_Type_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_PDP_Type_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_PDP_Type_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0l, 4l } /* (0..4,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_PDP_Type_value2enum_1[] = {
+ { 0, 5, "empty" },
+ { 1, 3, "ppp" },
+ { 2, 9, "osp-ihoss" },
+ { 3, 4, "ipv4" },
+ { 4, 4, "ipv6" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_PDP_Type_enum2value_1[] = {
+ 0, /* empty(0) */
+ 3, /* ipv4(3) */
+ 4, /* ipv6(4) */
+ 2, /* osp-ihoss(2) */
+ 1 /* ppp(1) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_PDP_Type_specs_1 = {
+ asn_MAP_RANAP_PDP_Type_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_PDP_Type_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_RANAP_PDP_Type_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_PDP_Type = {
+ "RANAP_PDP-Type",
+ "RANAP_PDP-Type",
+ RANAP_PDP_Type_free,
+ RANAP_PDP_Type_print,
+ RANAP_PDP_Type_constraint,
+ RANAP_PDP_Type_decode_ber,
+ RANAP_PDP_Type_encode_der,
+ RANAP_PDP_Type_decode_xer,
+ RANAP_PDP_Type_encode_xer,
+ RANAP_PDP_Type_decode_uper,
+ RANAP_PDP_Type_encode_uper,
+ RANAP_PDP_Type_decode_aper,
+ RANAP_PDP_Type_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_PDP_Type_tags_1,
+ sizeof(asn_DEF_RANAP_PDP_Type_tags_1)
+ /sizeof(asn_DEF_RANAP_PDP_Type_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_PDP_Type_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_PDP_Type_tags_1)
+ /sizeof(asn_DEF_RANAP_PDP_Type_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_PDP_Type_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_PDP_Type_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_PDP-Type.h b/src/ranap/RANAP_PDP-Type.h
new file mode 100644
index 0000000..b1445a2
--- /dev/null
+++ b/src/ranap/RANAP_PDP-Type.h
@@ -0,0 +1,54 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_PDP_Type_H_
+#define _RANAP_PDP_Type_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_PDP_Type {
+ RANAP_PDP_Type_empty = 0,
+ RANAP_PDP_Type_ppp = 1,
+ RANAP_PDP_Type_osp_ihoss = 2,
+ RANAP_PDP_Type_ipv4 = 3,
+ RANAP_PDP_Type_ipv6 = 4
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_PDP_Type;
+
+/* RANAP_PDP-Type */
+typedef long RANAP_PDP_Type_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_PDP_Type;
+asn_struct_free_f RANAP_PDP_Type_free;
+asn_struct_print_f RANAP_PDP_Type_print;
+asn_constr_check_f RANAP_PDP_Type_constraint;
+ber_type_decoder_f RANAP_PDP_Type_decode_ber;
+der_type_encoder_f RANAP_PDP_Type_encode_der;
+xer_type_decoder_f RANAP_PDP_Type_decode_xer;
+xer_type_encoder_f RANAP_PDP_Type_encode_xer;
+per_type_decoder_f RANAP_PDP_Type_decode_uper;
+per_type_encoder_f RANAP_PDP_Type_encode_uper;
+per_type_decoder_f RANAP_PDP_Type_decode_aper;
+per_type_encoder_f RANAP_PDP_Type_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_PDP_Type_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_PDP-TypeInformation-extension.c b/src/ranap/RANAP_PDP-TypeInformation-extension.c
new file mode 100644
index 0000000..2e55308
--- /dev/null
+++ b/src/ranap/RANAP_PDP-TypeInformation-extension.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_PDP-TypeInformation-extension.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_PDP_TypeInformation_extension_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 1, 1, 1l, 2l } /* (SIZE(1..2)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_PDP_TypeInformation_extension_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_PDP_Type_extension,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_PDP_TypeInformation_extension_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_PDP_TypeInformation_extension_specs_1 = {
+ sizeof(struct RANAP_PDP_TypeInformation_extension),
+ offsetof(struct RANAP_PDP_TypeInformation_extension, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_PDP_TypeInformation_extension = {
+ "RANAP_PDP-TypeInformation-extension",
+ "RANAP_PDP-TypeInformation-extension",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_PDP_TypeInformation_extension_tags_1,
+ sizeof(asn_DEF_RANAP_PDP_TypeInformation_extension_tags_1)
+ /sizeof(asn_DEF_RANAP_PDP_TypeInformation_extension_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_PDP_TypeInformation_extension_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_PDP_TypeInformation_extension_tags_1)
+ /sizeof(asn_DEF_RANAP_PDP_TypeInformation_extension_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_PDP_TypeInformation_extension_constr_1,
+ asn_MBR_RANAP_PDP_TypeInformation_extension_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_PDP_TypeInformation_extension_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_PDP-TypeInformation-extension.h b/src/ranap/RANAP_PDP-TypeInformation-extension.h
new file mode 100644
index 0000000..fc9e688
--- /dev/null
+++ b/src/ranap/RANAP_PDP-TypeInformation-extension.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_PDP_TypeInformation_extension_H_
+#define _RANAP_PDP_TypeInformation_extension_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_PDP-Type-extension.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_PDP-TypeInformation-extension */
+typedef struct RANAP_PDP_TypeInformation_extension {
+ A_SEQUENCE_OF(RANAP_PDP_Type_extension_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_PDP_TypeInformation_extension_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_PDP_TypeInformation_extension;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_PDP_TypeInformation_extension_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_PDP-TypeInformation.c b/src/ranap/RANAP_PDP-TypeInformation.c
new file mode 100644
index 0000000..236520f
--- /dev/null
+++ b/src/ranap/RANAP_PDP-TypeInformation.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_PDP-TypeInformation.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_PDP_TypeInformation_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 1, 1, 1l, 2l } /* (SIZE(1..2)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_PDP_TypeInformation_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_PDP_Type,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_PDP_TypeInformation_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_PDP_TypeInformation_specs_1 = {
+ sizeof(struct RANAP_PDP_TypeInformation),
+ offsetof(struct RANAP_PDP_TypeInformation, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_PDP_TypeInformation = {
+ "RANAP_PDP-TypeInformation",
+ "RANAP_PDP-TypeInformation",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_PDP_TypeInformation_tags_1,
+ sizeof(asn_DEF_RANAP_PDP_TypeInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_PDP_TypeInformation_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_PDP_TypeInformation_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_PDP_TypeInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_PDP_TypeInformation_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_PDP_TypeInformation_constr_1,
+ asn_MBR_RANAP_PDP_TypeInformation_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_PDP_TypeInformation_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_PDP-TypeInformation.h b/src/ranap/RANAP_PDP-TypeInformation.h
new file mode 100644
index 0000000..f5e9076
--- /dev/null
+++ b/src/ranap/RANAP_PDP-TypeInformation.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_PDP_TypeInformation_H_
+#define _RANAP_PDP_TypeInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_PDP-Type.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_PDP-TypeInformation */
+typedef struct RANAP_PDP_TypeInformation {
+ A_SEQUENCE_OF(RANAP_PDP_Type_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_PDP_TypeInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_PDP_TypeInformation;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_PDP_TypeInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_PDUType14FrameSequenceNumber.c b/src/ranap/RANAP_PDUType14FrameSequenceNumber.c
new file mode 100644
index 0000000..f82df49
--- /dev/null
+++ b/src/ranap/RANAP_PDUType14FrameSequenceNumber.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_PDUType14FrameSequenceNumber.h"
+
+int
+RANAP_PDUType14FrameSequenceNumber_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 3l)) {
+ /* 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 void
+RANAP_PDUType14FrameSequenceNumber_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_PDUType14FrameSequenceNumber_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_PDUType14FrameSequenceNumber_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_PDUType14FrameSequenceNumber_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PDUType14FrameSequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PDUType14FrameSequenceNumber_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_PDUType14FrameSequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_PDUType14FrameSequenceNumber_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PDUType14FrameSequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PDUType14FrameSequenceNumber_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_PDUType14FrameSequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_PDUType14FrameSequenceNumber_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PDUType14FrameSequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PDUType14FrameSequenceNumber_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_PDUType14FrameSequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_PDUType14FrameSequenceNumber_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_PDUType14FrameSequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_PDUType14FrameSequenceNumber_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_PDUType14FrameSequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_PDUType14FrameSequenceNumber_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_PDUType14FrameSequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_PDUType14FrameSequenceNumber_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0l, 3l } /* (0..3) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_PDUType14FrameSequenceNumber_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_PDUType14FrameSequenceNumber = {
+ "RANAP_PDUType14FrameSequenceNumber",
+ "RANAP_PDUType14FrameSequenceNumber",
+ RANAP_PDUType14FrameSequenceNumber_free,
+ RANAP_PDUType14FrameSequenceNumber_print,
+ RANAP_PDUType14FrameSequenceNumber_constraint,
+ RANAP_PDUType14FrameSequenceNumber_decode_ber,
+ RANAP_PDUType14FrameSequenceNumber_encode_der,
+ RANAP_PDUType14FrameSequenceNumber_decode_xer,
+ RANAP_PDUType14FrameSequenceNumber_encode_xer,
+ RANAP_PDUType14FrameSequenceNumber_decode_uper,
+ RANAP_PDUType14FrameSequenceNumber_encode_uper,
+ RANAP_PDUType14FrameSequenceNumber_decode_aper,
+ RANAP_PDUType14FrameSequenceNumber_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_PDUType14FrameSequenceNumber_tags_1,
+ sizeof(asn_DEF_RANAP_PDUType14FrameSequenceNumber_tags_1)
+ /sizeof(asn_DEF_RANAP_PDUType14FrameSequenceNumber_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_PDUType14FrameSequenceNumber_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_PDUType14FrameSequenceNumber_tags_1)
+ /sizeof(asn_DEF_RANAP_PDUType14FrameSequenceNumber_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_PDUType14FrameSequenceNumber_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_PDUType14FrameSequenceNumber.h b/src/ranap/RANAP_PDUType14FrameSequenceNumber.h
new file mode 100644
index 0000000..52c678b
--- /dev/null
+++ b/src/ranap/RANAP_PDUType14FrameSequenceNumber.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_PDUType14FrameSequenceNumber_H_
+#define _RANAP_PDUType14FrameSequenceNumber_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_PDUType14FrameSequenceNumber */
+typedef long RANAP_PDUType14FrameSequenceNumber_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_PDUType14FrameSequenceNumber;
+asn_struct_free_f RANAP_PDUType14FrameSequenceNumber_free;
+asn_struct_print_f RANAP_PDUType14FrameSequenceNumber_print;
+asn_constr_check_f RANAP_PDUType14FrameSequenceNumber_constraint;
+ber_type_decoder_f RANAP_PDUType14FrameSequenceNumber_decode_ber;
+der_type_encoder_f RANAP_PDUType14FrameSequenceNumber_encode_der;
+xer_type_decoder_f RANAP_PDUType14FrameSequenceNumber_decode_xer;
+xer_type_encoder_f RANAP_PDUType14FrameSequenceNumber_encode_xer;
+per_type_decoder_f RANAP_PDUType14FrameSequenceNumber_decode_uper;
+per_type_encoder_f RANAP_PDUType14FrameSequenceNumber_encode_uper;
+per_type_decoder_f RANAP_PDUType14FrameSequenceNumber_decode_aper;
+per_type_encoder_f RANAP_PDUType14FrameSequenceNumber_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_PDUType14FrameSequenceNumber_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_PLMNidentity.c b/src/ranap/RANAP_PLMNidentity.c
new file mode 100644
index 0000000..08b3115
--- /dev/null
+++ b/src/ranap/RANAP_PLMNidentity.c
@@ -0,0 +1,162 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_PLMNidentity.h"
+
+int
+RANAP_PLMNidentity_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_RANAP_TBCD_STRING.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using RANAP_TBCD_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_PLMNidentity_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_RANAP_TBCD_STRING.free_struct;
+ td->print_struct = asn_DEF_RANAP_TBCD_STRING.print_struct;
+ td->check_constraints = asn_DEF_RANAP_TBCD_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_RANAP_TBCD_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_RANAP_TBCD_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_RANAP_TBCD_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_RANAP_TBCD_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_RANAP_TBCD_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_RANAP_TBCD_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_RANAP_TBCD_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_RANAP_TBCD_STRING.aper_encoder;
+ /* The next four lines are here because of -fknown-extern-type */
+ td->tags = asn_DEF_RANAP_TBCD_STRING.tags;
+ td->tags_count = asn_DEF_RANAP_TBCD_STRING.tags_count;
+ td->all_tags = asn_DEF_RANAP_TBCD_STRING.all_tags;
+ td->all_tags_count = asn_DEF_RANAP_TBCD_STRING.all_tags_count;
+ /* End of these lines */
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_RANAP_TBCD_STRING.per_constraints;
+ td->elements = asn_DEF_RANAP_TBCD_STRING.elements;
+ td->elements_count = asn_DEF_RANAP_TBCD_STRING.elements_count;
+ td->specifics = asn_DEF_RANAP_TBCD_STRING.specifics;
+}
+
+void
+RANAP_PLMNidentity_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_PLMNidentity_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_PLMNidentity_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PLMNidentity_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PLMNidentity_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_PLMNidentity_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_PLMNidentity_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PLMNidentity_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PLMNidentity_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_PLMNidentity_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_PLMNidentity_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PLMNidentity_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PLMNidentity_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_PLMNidentity_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_PLMNidentity_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_PLMNidentity_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_PLMNidentity_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_PLMNidentity_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_PLMNidentity_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_PLMNidentity_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_PLMNidentity_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_PLMNidentity = {
+ "RANAP_PLMNidentity",
+ "RANAP_PLMNidentity",
+ RANAP_PLMNidentity_free,
+ RANAP_PLMNidentity_print,
+ RANAP_PLMNidentity_constraint,
+ RANAP_PLMNidentity_decode_ber,
+ RANAP_PLMNidentity_encode_der,
+ RANAP_PLMNidentity_decode_xer,
+ RANAP_PLMNidentity_encode_xer,
+ RANAP_PLMNidentity_decode_uper,
+ RANAP_PLMNidentity_encode_uper,
+ RANAP_PLMNidentity_decode_aper,
+ RANAP_PLMNidentity_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_PLMNidentity_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_PLMNidentity.h b/src/ranap/RANAP_PLMNidentity.h
new file mode 100644
index 0000000..d9f09d4
--- /dev/null
+++ b/src/ranap/RANAP_PLMNidentity.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+#include <constr_CHOICE.h>
+
+#ifndef _RANAP_PLMNidentity_H_
+#define _RANAP_PLMNidentity_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_TBCD-STRING.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_PLMNidentity */
+typedef RANAP_TBCD_STRING_t RANAP_PLMNidentity_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_PLMNidentity;
+asn_struct_free_f RANAP_PLMNidentity_free;
+asn_struct_print_f RANAP_PLMNidentity_print;
+asn_constr_check_f RANAP_PLMNidentity_constraint;
+ber_type_decoder_f RANAP_PLMNidentity_decode_ber;
+der_type_encoder_f RANAP_PLMNidentity_encode_der;
+xer_type_decoder_f RANAP_PLMNidentity_decode_xer;
+xer_type_encoder_f RANAP_PLMNidentity_encode_xer;
+per_type_decoder_f RANAP_PLMNidentity_decode_uper;
+per_type_encoder_f RANAP_PLMNidentity_encode_uper;
+per_type_decoder_f RANAP_PLMNidentity_decode_aper;
+per_type_encoder_f RANAP_PLMNidentity_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_PLMNidentity_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_PLMNs-in-shared-network.c b/src/ranap/RANAP_PLMNs-in-shared-network.c
new file mode 100644
index 0000000..4611d8a
--- /dev/null
+++ b/src/ranap/RANAP_PLMNs-in-shared-network.c
@@ -0,0 +1,135 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_PLMNs-in-shared-network.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_PLMNs_in_shared_network_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 5, 5, 1l, 32l } /* (SIZE(1..32)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_Member_2[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct Member, pLMNidentity),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PLMNidentity,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "pLMNidentity"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct Member, lA_LIST),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_LA_LIST,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "lA-LIST"
+ },
+ { ATF_POINTER, 1, offsetof(struct Member, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "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 }, /* pLMNidentity */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* lA-LIST */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
+ sizeof(struct Member),
+ offsetof(struct 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 */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_Member_2 = {
+ "SEQUENCE",
+ "SEQUENCE",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ 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, /* No PER visible constraints */
+ asn_MBR_Member_2,
+ 3, /* Elements count */
+ &asn_SPC_Member_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_PLMNs_in_shared_network_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_Member_2,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_PLMNs_in_shared_network_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_PLMNs_in_shared_network_specs_1 = {
+ sizeof(struct RANAP_PLMNs_in_shared_network),
+ offsetof(struct RANAP_PLMNs_in_shared_network, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_PLMNs_in_shared_network = {
+ "RANAP_PLMNs-in-shared-network",
+ "RANAP_PLMNs-in-shared-network",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_PLMNs_in_shared_network_tags_1,
+ sizeof(asn_DEF_RANAP_PLMNs_in_shared_network_tags_1)
+ /sizeof(asn_DEF_RANAP_PLMNs_in_shared_network_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_PLMNs_in_shared_network_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_PLMNs_in_shared_network_tags_1)
+ /sizeof(asn_DEF_RANAP_PLMNs_in_shared_network_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_PLMNs_in_shared_network_constr_1,
+ asn_MBR_RANAP_PLMNs_in_shared_network_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_PLMNs_in_shared_network_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_PLMNs-in-shared-network.h b/src/ranap/RANAP_PLMNs-in-shared-network.h
new file mode 100644
index 0000000..512e0fc
--- /dev/null
+++ b/src/ranap/RANAP_PLMNs-in-shared-network.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_PLMNs_in_shared_network_H_
+#define _RANAP_PLMNs_in_shared_network_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include "RANAP_PLMNidentity.h"
+#include "RANAP_LA-LIST.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_PLMNs-in-shared-network */
+typedef struct RANAP_PLMNs_in_shared_network {
+ A_SEQUENCE_OF(struct Member {
+ RANAP_PLMNidentity_t pLMNidentity;
+ RANAP_LA_LIST_t lA_LIST;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } ) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_PLMNs_in_shared_network_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_PLMNs_in_shared_network;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_PLMNs_in_shared_network_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Paging.c b/src/ranap/RANAP_Paging.c
new file mode 100644
index 0000000..adfa22e
--- /dev/null
+++ b/src/ranap/RANAP_Paging.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_Paging.h"
+
+static int
+memb_paging_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_paging_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_paging_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_paging_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_paging_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_paging_ies_specs_2 = {
+ sizeof(struct paging_ies),
+ offsetof(struct paging_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_paging_ies_2 = {
+ "paging-ies",
+ "paging-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_paging_ies_tags_2,
+ sizeof(asn_DEF_paging_ies_tags_2)
+ /sizeof(asn_DEF_paging_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_paging_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_paging_ies_tags_2)
+ /sizeof(asn_DEF_paging_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_paging_ies_constr_2,
+ asn_MBR_paging_ies_2,
+ 1, /* Single element */
+ &asn_SPC_paging_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_Paging_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Paging, paging_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_paging_ies_2,
+ memb_paging_ies_constraint_1,
+ &asn_PER_memb_paging_ies_constr_2,
+ 0,
+ "paging-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Paging_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_Paging_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* paging-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_Paging_specs_1 = {
+ sizeof(struct RANAP_Paging),
+ offsetof(struct RANAP_Paging, _asn_ctx),
+ asn_MAP_RANAP_Paging_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Paging = {
+ "RANAP_Paging",
+ "RANAP_Paging",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Paging_tags_1,
+ sizeof(asn_DEF_RANAP_Paging_tags_1)
+ /sizeof(asn_DEF_RANAP_Paging_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Paging_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Paging_tags_1)
+ /sizeof(asn_DEF_RANAP_Paging_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_Paging_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_Paging_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Paging.h b/src/ranap/RANAP_Paging.h
new file mode 100644
index 0000000..dae16c5
--- /dev/null
+++ b/src/ranap/RANAP_Paging.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_Paging_H_
+#define _RANAP_Paging_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Paging */
+typedef struct RANAP_Paging {
+ struct paging_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } paging_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Paging_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Paging;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Paging_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_PagingAreaID.c b/src/ranap/RANAP_PagingAreaID.c
new file mode 100644
index 0000000..d00f797
--- /dev/null
+++ b/src/ranap/RANAP_PagingAreaID.c
@@ -0,0 +1,72 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_PagingAreaID.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_PagingAreaID_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_PagingAreaID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_PagingAreaID, choice.lAI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_LAI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "lAI"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_PagingAreaID, choice.rAI),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RAI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rAI"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_PagingAreaID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lAI */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* rAI */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_PagingAreaID_specs_1 = {
+ sizeof(struct RANAP_PagingAreaID),
+ offsetof(struct RANAP_PagingAreaID, _asn_ctx),
+ offsetof(struct RANAP_PagingAreaID, present),
+ sizeof(((struct RANAP_PagingAreaID *)0)->present),
+ asn_MAP_RANAP_PagingAreaID_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_PagingAreaID = {
+ "RANAP_PagingAreaID",
+ "RANAP_PagingAreaID",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_PagingAreaID_constr_1,
+ asn_MBR_RANAP_PagingAreaID_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_PagingAreaID_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_PagingAreaID.h b/src/ranap/RANAP_PagingAreaID.h
new file mode 100644
index 0000000..13b2507
--- /dev/null
+++ b/src/ranap/RANAP_PagingAreaID.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_PagingAreaID_H_
+#define _RANAP_PagingAreaID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_LAI.h"
+#include "RANAP_RAI.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_PagingAreaID_PR {
+ RANAP_PagingAreaID_PR_NOTHING, /* No components present */
+ RANAP_PagingAreaID_PR_lAI,
+ RANAP_PagingAreaID_PR_rAI,
+ /* Extensions may appear below */
+
+} RANAP_PagingAreaID_PR;
+
+/* RANAP_PagingAreaID */
+typedef struct RANAP_PagingAreaID {
+ RANAP_PagingAreaID_PR present;
+ union RANAP_PagingAreaID_u {
+ RANAP_LAI_t lAI;
+ RANAP_RAI_t rAI;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_PagingAreaID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_PagingAreaID;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_PagingAreaID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_PagingCause.c b/src/ranap/RANAP_PagingCause.c
new file mode 100644
index 0000000..5e1a26a
--- /dev/null
+++ b/src/ranap/RANAP_PagingCause.c
@@ -0,0 +1,175 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_PagingCause.h"
+
+int
+RANAP_PagingCause_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_PagingCause_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_PagingCause_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_PagingCause_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_PagingCause_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PagingCause_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PagingCause_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_PagingCause_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_PagingCause_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PagingCause_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PagingCause_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_PagingCause_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_PagingCause_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PagingCause_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PagingCause_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_PagingCause_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_PagingCause_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_PagingCause_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_PagingCause_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_PagingCause_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_PagingCause_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_PagingCause_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_PagingCause_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0l, 4l } /* (0..4,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_PagingCause_value2enum_1[] = {
+ { 0, 31, "terminating-conversational-call" },
+ { 1, 26, "terminating-streaming-call" },
+ { 2, 28, "terminating-interactive-call" },
+ { 3, 27, "terminating-background-call" },
+ { 4, 35, "terminating-low-priority-signalling" },
+ { 5, 36, "terminating-high-priority-signalling" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_PagingCause_enum2value_1[] = {
+ 3, /* terminating-background-call(3) */
+ 0, /* terminating-conversational-call(0) */
+ 5, /* terminating-high-priority-signalling(5) */
+ 2, /* terminating-interactive-call(2) */
+ 4, /* terminating-low-priority-signalling(4) */
+ 1 /* terminating-streaming-call(1) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_PagingCause_specs_1 = {
+ asn_MAP_RANAP_PagingCause_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_PagingCause_enum2value_1, /* N => "tag"; sorted by N */
+ 6, /* 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_RANAP_PagingCause_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_PagingCause = {
+ "RANAP_PagingCause",
+ "RANAP_PagingCause",
+ RANAP_PagingCause_free,
+ RANAP_PagingCause_print,
+ RANAP_PagingCause_constraint,
+ RANAP_PagingCause_decode_ber,
+ RANAP_PagingCause_encode_der,
+ RANAP_PagingCause_decode_xer,
+ RANAP_PagingCause_encode_xer,
+ RANAP_PagingCause_decode_uper,
+ RANAP_PagingCause_encode_uper,
+ RANAP_PagingCause_decode_aper,
+ RANAP_PagingCause_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_PagingCause_tags_1,
+ sizeof(asn_DEF_RANAP_PagingCause_tags_1)
+ /sizeof(asn_DEF_RANAP_PagingCause_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_PagingCause_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_PagingCause_tags_1)
+ /sizeof(asn_DEF_RANAP_PagingCause_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_PagingCause_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_PagingCause_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_PagingCause.h b/src/ranap/RANAP_PagingCause.h
new file mode 100644
index 0000000..cf9167b
--- /dev/null
+++ b/src/ranap/RANAP_PagingCause.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_PagingCause_H_
+#define _RANAP_PagingCause_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_PagingCause {
+ RANAP_PagingCause_terminating_conversational_call = 0,
+ RANAP_PagingCause_terminating_streaming_call = 1,
+ RANAP_PagingCause_terminating_interactive_call = 2,
+ RANAP_PagingCause_terminating_background_call = 3,
+ RANAP_PagingCause_terminating_low_priority_signalling = 4,
+ /*
+ * Enumeration is extensible
+ */
+ RANAP_PagingCause_terminating_high_priority_signalling = 5
+} e_RANAP_PagingCause;
+
+/* RANAP_PagingCause */
+typedef long RANAP_PagingCause_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_PagingCause;
+asn_struct_free_f RANAP_PagingCause_free;
+asn_struct_print_f RANAP_PagingCause_print;
+asn_constr_check_f RANAP_PagingCause_constraint;
+ber_type_decoder_f RANAP_PagingCause_decode_ber;
+der_type_encoder_f RANAP_PagingCause_encode_der;
+xer_type_decoder_f RANAP_PagingCause_decode_xer;
+xer_type_encoder_f RANAP_PagingCause_encode_xer;
+per_type_decoder_f RANAP_PagingCause_decode_uper;
+per_type_encoder_f RANAP_PagingCause_encode_uper;
+per_type_decoder_f RANAP_PagingCause_decode_aper;
+per_type_encoder_f RANAP_PagingCause_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_PagingCause_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_PeriodicLocationInfo.c b/src/ranap/RANAP_PeriodicLocationInfo.c
new file mode 100644
index 0000000..754b226
--- /dev/null
+++ b/src/ranap/RANAP_PeriodicLocationInfo.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_PeriodicLocationInfo.h"
+
+static int
+memb_reportingAmount_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1l && value <= 8639999l)) {
+ /* 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_reportingInterval_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1l && value <= 8639999l)) {
+ /* Constraint 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_reportingAmount_constr_2 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 24, -1, 1l, 8639999l } /* (1..8639999,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_reportingInterval_constr_3 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 24, -1, 1l, 8639999l } /* (1..8639999,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_PeriodicLocationInfo_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_PeriodicLocationInfo, reportingAmount),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_reportingAmount_constraint_1,
+ &asn_PER_memb_reportingAmount_constr_2,
+ 0,
+ "reportingAmount"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_PeriodicLocationInfo, reportingInterval),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_reportingInterval_constraint_1,
+ &asn_PER_memb_reportingInterval_constr_3,
+ 0,
+ "reportingInterval"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_PeriodicLocationInfo, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_PeriodicLocationInfo_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_PeriodicLocationInfo_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_PeriodicLocationInfo_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* reportingAmount */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* reportingInterval */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_PeriodicLocationInfo_specs_1 = {
+ sizeof(struct RANAP_PeriodicLocationInfo),
+ offsetof(struct RANAP_PeriodicLocationInfo, _asn_ctx),
+ asn_MAP_RANAP_PeriodicLocationInfo_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_PeriodicLocationInfo_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_PeriodicLocationInfo = {
+ "RANAP_PeriodicLocationInfo",
+ "RANAP_PeriodicLocationInfo",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_PeriodicLocationInfo_tags_1,
+ sizeof(asn_DEF_RANAP_PeriodicLocationInfo_tags_1)
+ /sizeof(asn_DEF_RANAP_PeriodicLocationInfo_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_PeriodicLocationInfo_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_PeriodicLocationInfo_tags_1)
+ /sizeof(asn_DEF_RANAP_PeriodicLocationInfo_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_PeriodicLocationInfo_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_PeriodicLocationInfo_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_PeriodicLocationInfo.h b/src/ranap/RANAP_PeriodicLocationInfo.h
new file mode 100644
index 0000000..b85224a
--- /dev/null
+++ b/src/ranap/RANAP_PeriodicLocationInfo.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_PeriodicLocationInfo_H_
+#define _RANAP_PeriodicLocationInfo_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_PeriodicLocationInfo */
+typedef struct RANAP_PeriodicLocationInfo {
+ long reportingAmount;
+ long reportingInterval;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_PeriodicLocationInfo_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_PeriodicLocationInfo;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_PeriodicLocationInfo_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_PeriodicReportingIndicator.c b/src/ranap/RANAP_PeriodicReportingIndicator.c
new file mode 100644
index 0000000..ec9c5c2
--- /dev/null
+++ b/src/ranap/RANAP_PeriodicReportingIndicator.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_PeriodicReportingIndicator.h"
+
+int
+RANAP_PeriodicReportingIndicator_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_PeriodicReportingIndicator_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_PeriodicReportingIndicator_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_PeriodicReportingIndicator_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_PeriodicReportingIndicator_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PeriodicReportingIndicator_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PeriodicReportingIndicator_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_PeriodicReportingIndicator_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_PeriodicReportingIndicator_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PeriodicReportingIndicator_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PeriodicReportingIndicator_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_PeriodicReportingIndicator_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_PeriodicReportingIndicator_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PeriodicReportingIndicator_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PeriodicReportingIndicator_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_PeriodicReportingIndicator_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_PeriodicReportingIndicator_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_PeriodicReportingIndicator_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_PeriodicReportingIndicator_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_PeriodicReportingIndicator_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_PeriodicReportingIndicator_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_PeriodicReportingIndicator_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_PeriodicReportingIndicator_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_PeriodicReportingIndicator_value2enum_1[] = {
+ { 0, 11, "periodicSAI" },
+ { 1, 11, "periodicGeo" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_PeriodicReportingIndicator_enum2value_1[] = {
+ 1, /* periodicGeo(1) */
+ 0 /* periodicSAI(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_PeriodicReportingIndicator_specs_1 = {
+ asn_MAP_RANAP_PeriodicReportingIndicator_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_PeriodicReportingIndicator_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_RANAP_PeriodicReportingIndicator_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_PeriodicReportingIndicator = {
+ "RANAP_PeriodicReportingIndicator",
+ "RANAP_PeriodicReportingIndicator",
+ RANAP_PeriodicReportingIndicator_free,
+ RANAP_PeriodicReportingIndicator_print,
+ RANAP_PeriodicReportingIndicator_constraint,
+ RANAP_PeriodicReportingIndicator_decode_ber,
+ RANAP_PeriodicReportingIndicator_encode_der,
+ RANAP_PeriodicReportingIndicator_decode_xer,
+ RANAP_PeriodicReportingIndicator_encode_xer,
+ RANAP_PeriodicReportingIndicator_decode_uper,
+ RANAP_PeriodicReportingIndicator_encode_uper,
+ RANAP_PeriodicReportingIndicator_decode_aper,
+ RANAP_PeriodicReportingIndicator_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_PeriodicReportingIndicator_tags_1,
+ sizeof(asn_DEF_RANAP_PeriodicReportingIndicator_tags_1)
+ /sizeof(asn_DEF_RANAP_PeriodicReportingIndicator_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_PeriodicReportingIndicator_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_PeriodicReportingIndicator_tags_1)
+ /sizeof(asn_DEF_RANAP_PeriodicReportingIndicator_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_PeriodicReportingIndicator_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_PeriodicReportingIndicator_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_PeriodicReportingIndicator.h b/src/ranap/RANAP_PeriodicReportingIndicator.h
new file mode 100644
index 0000000..6b4bf5f
--- /dev/null
+++ b/src/ranap/RANAP_PeriodicReportingIndicator.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_PeriodicReportingIndicator_H_
+#define _RANAP_PeriodicReportingIndicator_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_PeriodicReportingIndicator {
+ RANAP_PeriodicReportingIndicator_periodicSAI = 0,
+ RANAP_PeriodicReportingIndicator_periodicGeo = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_PeriodicReportingIndicator;
+
+/* RANAP_PeriodicReportingIndicator */
+typedef long RANAP_PeriodicReportingIndicator_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_PeriodicReportingIndicator;
+asn_struct_free_f RANAP_PeriodicReportingIndicator_free;
+asn_struct_print_f RANAP_PeriodicReportingIndicator_print;
+asn_constr_check_f RANAP_PeriodicReportingIndicator_constraint;
+ber_type_decoder_f RANAP_PeriodicReportingIndicator_decode_ber;
+der_type_encoder_f RANAP_PeriodicReportingIndicator_encode_der;
+xer_type_decoder_f RANAP_PeriodicReportingIndicator_decode_xer;
+xer_type_encoder_f RANAP_PeriodicReportingIndicator_encode_xer;
+per_type_decoder_f RANAP_PeriodicReportingIndicator_decode_uper;
+per_type_encoder_f RANAP_PeriodicReportingIndicator_encode_uper;
+per_type_decoder_f RANAP_PeriodicReportingIndicator_decode_aper;
+per_type_encoder_f RANAP_PeriodicReportingIndicator_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_PeriodicReportingIndicator_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_PermanentNAS-UE-ID.c b/src/ranap/RANAP_PermanentNAS-UE-ID.c
new file mode 100644
index 0000000..f36414e
--- /dev/null
+++ b/src/ranap/RANAP_PermanentNAS-UE-ID.c
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_PermanentNAS-UE-ID.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_PermanentNAS_UE_ID_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_PermanentNAS_UE_ID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_PermanentNAS_UE_ID, choice.iMSI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IMSI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iMSI"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_PermanentNAS_UE_ID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* iMSI */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_PermanentNAS_UE_ID_specs_1 = {
+ sizeof(struct RANAP_PermanentNAS_UE_ID),
+ offsetof(struct RANAP_PermanentNAS_UE_ID, _asn_ctx),
+ offsetof(struct RANAP_PermanentNAS_UE_ID, present),
+ sizeof(((struct RANAP_PermanentNAS_UE_ID *)0)->present),
+ asn_MAP_RANAP_PermanentNAS_UE_ID_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0,
+ 1 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_PermanentNAS_UE_ID = {
+ "RANAP_PermanentNAS-UE-ID",
+ "RANAP_PermanentNAS-UE-ID",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_PermanentNAS_UE_ID_constr_1,
+ asn_MBR_RANAP_PermanentNAS_UE_ID_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_PermanentNAS_UE_ID_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_PermanentNAS-UE-ID.h b/src/ranap/RANAP_PermanentNAS-UE-ID.h
new file mode 100644
index 0000000..9ad1dde
--- /dev/null
+++ b/src/ranap/RANAP_PermanentNAS-UE-ID.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_PermanentNAS_UE_ID_H_
+#define _RANAP_PermanentNAS_UE_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IMSI.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_PermanentNAS_UE_ID_PR {
+ RANAP_PermanentNAS_UE_ID_PR_NOTHING, /* No components present */
+ RANAP_PermanentNAS_UE_ID_PR_iMSI,
+ /* Extensions may appear below */
+
+} RANAP_PermanentNAS_UE_ID_PR;
+
+/* RANAP_PermanentNAS-UE-ID */
+typedef struct RANAP_PermanentNAS_UE_ID {
+ RANAP_PermanentNAS_UE_ID_PR present;
+ union RANAP_PermanentNAS_UE_ID_u {
+ RANAP_IMSI_t iMSI;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_PermanentNAS_UE_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_PermanentNAS_UE_ID;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_PermanentNAS_UE_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_PermittedEncryptionAlgorithms.c b/src/ranap/RANAP_PermittedEncryptionAlgorithms.c
new file mode 100644
index 0000000..23a2b00
--- /dev/null
+++ b/src/ranap/RANAP_PermittedEncryptionAlgorithms.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_PermittedEncryptionAlgorithms.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_PermittedEncryptionAlgorithms_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 4, 4, 1l, 16l } /* (SIZE(1..16)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_PermittedEncryptionAlgorithms_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_EncryptionAlgorithm,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_PermittedEncryptionAlgorithms_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_PermittedEncryptionAlgorithms_specs_1 = {
+ sizeof(struct RANAP_PermittedEncryptionAlgorithms),
+ offsetof(struct RANAP_PermittedEncryptionAlgorithms, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_PermittedEncryptionAlgorithms = {
+ "RANAP_PermittedEncryptionAlgorithms",
+ "RANAP_PermittedEncryptionAlgorithms",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_PermittedEncryptionAlgorithms_tags_1,
+ sizeof(asn_DEF_RANAP_PermittedEncryptionAlgorithms_tags_1)
+ /sizeof(asn_DEF_RANAP_PermittedEncryptionAlgorithms_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_PermittedEncryptionAlgorithms_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_PermittedEncryptionAlgorithms_tags_1)
+ /sizeof(asn_DEF_RANAP_PermittedEncryptionAlgorithms_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_PermittedEncryptionAlgorithms_constr_1,
+ asn_MBR_RANAP_PermittedEncryptionAlgorithms_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_PermittedEncryptionAlgorithms_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_PermittedEncryptionAlgorithms.h b/src/ranap/RANAP_PermittedEncryptionAlgorithms.h
new file mode 100644
index 0000000..542c232
--- /dev/null
+++ b/src/ranap/RANAP_PermittedEncryptionAlgorithms.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_PermittedEncryptionAlgorithms_H_
+#define _RANAP_PermittedEncryptionAlgorithms_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_EncryptionAlgorithm.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_PermittedEncryptionAlgorithms */
+typedef struct RANAP_PermittedEncryptionAlgorithms {
+ A_SEQUENCE_OF(RANAP_EncryptionAlgorithm_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_PermittedEncryptionAlgorithms_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_PermittedEncryptionAlgorithms;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_PermittedEncryptionAlgorithms_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_PermittedIntegrityProtectionAlgorithms.c b/src/ranap/RANAP_PermittedIntegrityProtectionAlgorithms.c
new file mode 100644
index 0000000..0a20a97
--- /dev/null
+++ b/src/ranap/RANAP_PermittedIntegrityProtectionAlgorithms.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_PermittedIntegrityProtectionAlgorithms.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_PermittedIntegrityProtectionAlgorithms_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 4, 4, 1l, 16l } /* (SIZE(1..16)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_PermittedIntegrityProtectionAlgorithms_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IntegrityProtectionAlgorithm,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_PermittedIntegrityProtectionAlgorithms_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_PermittedIntegrityProtectionAlgorithms_specs_1 = {
+ sizeof(struct RANAP_PermittedIntegrityProtectionAlgorithms),
+ offsetof(struct RANAP_PermittedIntegrityProtectionAlgorithms, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_PermittedIntegrityProtectionAlgorithms = {
+ "RANAP_PermittedIntegrityProtectionAlgorithms",
+ "RANAP_PermittedIntegrityProtectionAlgorithms",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_PermittedIntegrityProtectionAlgorithms_tags_1,
+ sizeof(asn_DEF_RANAP_PermittedIntegrityProtectionAlgorithms_tags_1)
+ /sizeof(asn_DEF_RANAP_PermittedIntegrityProtectionAlgorithms_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_PermittedIntegrityProtectionAlgorithms_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_PermittedIntegrityProtectionAlgorithms_tags_1)
+ /sizeof(asn_DEF_RANAP_PermittedIntegrityProtectionAlgorithms_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_PermittedIntegrityProtectionAlgorithms_constr_1,
+ asn_MBR_RANAP_PermittedIntegrityProtectionAlgorithms_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_PermittedIntegrityProtectionAlgorithms_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_PermittedIntegrityProtectionAlgorithms.h b/src/ranap/RANAP_PermittedIntegrityProtectionAlgorithms.h
new file mode 100644
index 0000000..b6737f4
--- /dev/null
+++ b/src/ranap/RANAP_PermittedIntegrityProtectionAlgorithms.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_PermittedIntegrityProtectionAlgorithms_H_
+#define _RANAP_PermittedIntegrityProtectionAlgorithms_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IntegrityProtectionAlgorithm.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_PermittedIntegrityProtectionAlgorithms */
+typedef struct RANAP_PermittedIntegrityProtectionAlgorithms {
+ A_SEQUENCE_OF(RANAP_IntegrityProtectionAlgorithm_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_PermittedIntegrityProtectionAlgorithms_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_PermittedIntegrityProtectionAlgorithms;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_PermittedIntegrityProtectionAlgorithms_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Port-Number.c b/src/ranap/RANAP_Port-Number.c
new file mode 100644
index 0000000..5b41fed
--- /dev/null
+++ b/src/ranap/RANAP_Port-Number.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Port-Number.h"
+
+int
+RANAP_Port_Number_constraint(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 == 2l)) {
+ /* 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 void
+RANAP_Port_Number_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_Port_Number_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Port_Number_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Port_Number_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Port_Number_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Port_Number_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Port_Number_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Port_Number_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Port_Number_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Port_Number_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Port_Number_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Port_Number_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Port_Number_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Port_Number_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Port_Number_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Port_Number_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Port_Number_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Port_Number_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Port_Number_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Port_Number_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Port_Number_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_Port_Number_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 2l, 2l } /* (SIZE(2..2)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Port_Number_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Port_Number = {
+ "RANAP_Port-Number",
+ "RANAP_Port-Number",
+ RANAP_Port_Number_free,
+ RANAP_Port_Number_print,
+ RANAP_Port_Number_constraint,
+ RANAP_Port_Number_decode_ber,
+ RANAP_Port_Number_encode_der,
+ RANAP_Port_Number_decode_xer,
+ RANAP_Port_Number_encode_xer,
+ RANAP_Port_Number_decode_uper,
+ RANAP_Port_Number_encode_uper,
+ RANAP_Port_Number_decode_aper,
+ RANAP_Port_Number_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Port_Number_tags_1,
+ sizeof(asn_DEF_RANAP_Port_Number_tags_1)
+ /sizeof(asn_DEF_RANAP_Port_Number_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Port_Number_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Port_Number_tags_1)
+ /sizeof(asn_DEF_RANAP_Port_Number_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Port_Number_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_Port-Number.h b/src/ranap/RANAP_Port-Number.h
new file mode 100644
index 0000000..3e64495
--- /dev/null
+++ b/src/ranap/RANAP_Port-Number.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Port_Number_H_
+#define _RANAP_Port_Number_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Port-Number */
+typedef OCTET_STRING_t RANAP_Port_Number_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Port_Number;
+asn_struct_free_f RANAP_Port_Number_free;
+asn_struct_print_f RANAP_Port_Number_print;
+asn_constr_check_f RANAP_Port_Number_constraint;
+ber_type_decoder_f RANAP_Port_Number_decode_ber;
+der_type_encoder_f RANAP_Port_Number_encode_der;
+xer_type_decoder_f RANAP_Port_Number_decode_xer;
+xer_type_encoder_f RANAP_Port_Number_encode_xer;
+per_type_decoder_f RANAP_Port_Number_decode_uper;
+per_type_encoder_f RANAP_Port_Number_encode_uper;
+per_type_decoder_f RANAP_Port_Number_decode_aper;
+per_type_encoder_f RANAP_Port_Number_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Port_Number_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_PositionData.c b/src/ranap/RANAP_PositionData.c
new file mode 100644
index 0000000..3f76e48
--- /dev/null
+++ b/src/ranap/RANAP_PositionData.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_PositionData.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_PositionData_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_PositionData, positioningDataDiscriminator),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PositioningDataDiscriminator,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "positioningDataDiscriminator"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_PositionData, positioningDataSet),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PositioningDataSet,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "positioningDataSet"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_PositionData, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_PositionData_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_PositionData_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_PositionData_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* positioningDataDiscriminator */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* positioningDataSet */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_PositionData_specs_1 = {
+ sizeof(struct RANAP_PositionData),
+ offsetof(struct RANAP_PositionData, _asn_ctx),
+ asn_MAP_RANAP_PositionData_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_PositionData_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_PositionData = {
+ "RANAP_PositionData",
+ "RANAP_PositionData",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_PositionData_tags_1,
+ sizeof(asn_DEF_RANAP_PositionData_tags_1)
+ /sizeof(asn_DEF_RANAP_PositionData_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_PositionData_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_PositionData_tags_1)
+ /sizeof(asn_DEF_RANAP_PositionData_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_PositionData_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_PositionData_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_PositionData.h b/src/ranap/RANAP_PositionData.h
new file mode 100644
index 0000000..1bf8e6f
--- /dev/null
+++ b/src/ranap/RANAP_PositionData.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_PositionData_H_
+#define _RANAP_PositionData_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_PositioningDataDiscriminator.h"
+#include "RANAP_PositioningDataSet.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_PositionData */
+typedef struct RANAP_PositionData {
+ RANAP_PositioningDataDiscriminator_t positioningDataDiscriminator;
+ RANAP_PositioningDataSet_t *positioningDataSet /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_PositionData_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_PositionData;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_PositionData_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_PositionDataSpecificToGERANIuMode.c b/src/ranap/RANAP_PositionDataSpecificToGERANIuMode.c
new file mode 100644
index 0000000..197fdf9
--- /dev/null
+++ b/src/ranap/RANAP_PositionDataSpecificToGERANIuMode.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_PositionDataSpecificToGERANIuMode.h"
+
+int
+RANAP_PositionDataSpecificToGERANIuMode_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_PositionDataSpecificToGERANIuMode_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_PositionDataSpecificToGERANIuMode_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_PositionDataSpecificToGERANIuMode_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_PositionDataSpecificToGERANIuMode_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PositionDataSpecificToGERANIuMode_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PositionDataSpecificToGERANIuMode_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_PositionDataSpecificToGERANIuMode_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_PositionDataSpecificToGERANIuMode_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PositionDataSpecificToGERANIuMode_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PositionDataSpecificToGERANIuMode_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_PositionDataSpecificToGERANIuMode_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_PositionDataSpecificToGERANIuMode_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PositionDataSpecificToGERANIuMode_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PositionDataSpecificToGERANIuMode_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_PositionDataSpecificToGERANIuMode_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_PositionDataSpecificToGERANIuMode_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_PositionDataSpecificToGERANIuMode_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_PositionDataSpecificToGERANIuMode_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_PositionDataSpecificToGERANIuMode_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_PositionDataSpecificToGERANIuMode_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_PositionDataSpecificToGERANIuMode_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static const ber_tlv_tag_t asn_DEF_RANAP_PositionDataSpecificToGERANIuMode_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_PositionDataSpecificToGERANIuMode = {
+ "RANAP_PositionDataSpecificToGERANIuMode",
+ "RANAP_PositionDataSpecificToGERANIuMode",
+ RANAP_PositionDataSpecificToGERANIuMode_free,
+ RANAP_PositionDataSpecificToGERANIuMode_print,
+ RANAP_PositionDataSpecificToGERANIuMode_constraint,
+ RANAP_PositionDataSpecificToGERANIuMode_decode_ber,
+ RANAP_PositionDataSpecificToGERANIuMode_encode_der,
+ RANAP_PositionDataSpecificToGERANIuMode_decode_xer,
+ RANAP_PositionDataSpecificToGERANIuMode_encode_xer,
+ RANAP_PositionDataSpecificToGERANIuMode_decode_uper,
+ RANAP_PositionDataSpecificToGERANIuMode_encode_uper,
+ RANAP_PositionDataSpecificToGERANIuMode_decode_aper,
+ RANAP_PositionDataSpecificToGERANIuMode_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_PositionDataSpecificToGERANIuMode_tags_1,
+ sizeof(asn_DEF_RANAP_PositionDataSpecificToGERANIuMode_tags_1)
+ /sizeof(asn_DEF_RANAP_PositionDataSpecificToGERANIuMode_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_PositionDataSpecificToGERANIuMode_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_PositionDataSpecificToGERANIuMode_tags_1)
+ /sizeof(asn_DEF_RANAP_PositionDataSpecificToGERANIuMode_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_PositionDataSpecificToGERANIuMode.h b/src/ranap/RANAP_PositionDataSpecificToGERANIuMode.h
new file mode 100644
index 0000000..e0692d6
--- /dev/null
+++ b/src/ranap/RANAP_PositionDataSpecificToGERANIuMode.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_PositionDataSpecificToGERANIuMode_H_
+#define _RANAP_PositionDataSpecificToGERANIuMode_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_PositionDataSpecificToGERANIuMode */
+typedef OCTET_STRING_t RANAP_PositionDataSpecificToGERANIuMode_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_PositionDataSpecificToGERANIuMode;
+asn_struct_free_f RANAP_PositionDataSpecificToGERANIuMode_free;
+asn_struct_print_f RANAP_PositionDataSpecificToGERANIuMode_print;
+asn_constr_check_f RANAP_PositionDataSpecificToGERANIuMode_constraint;
+ber_type_decoder_f RANAP_PositionDataSpecificToGERANIuMode_decode_ber;
+der_type_encoder_f RANAP_PositionDataSpecificToGERANIuMode_encode_der;
+xer_type_decoder_f RANAP_PositionDataSpecificToGERANIuMode_decode_xer;
+xer_type_encoder_f RANAP_PositionDataSpecificToGERANIuMode_encode_xer;
+per_type_decoder_f RANAP_PositionDataSpecificToGERANIuMode_decode_uper;
+per_type_encoder_f RANAP_PositionDataSpecificToGERANIuMode_encode_uper;
+per_type_decoder_f RANAP_PositionDataSpecificToGERANIuMode_decode_aper;
+per_type_encoder_f RANAP_PositionDataSpecificToGERANIuMode_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_PositionDataSpecificToGERANIuMode_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_PositioningDataDiscriminator.c b/src/ranap/RANAP_PositioningDataDiscriminator.c
new file mode 100644
index 0000000..111ad32
--- /dev/null
+++ b/src/ranap/RANAP_PositioningDataDiscriminator.c
@@ -0,0 +1,171 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_PositioningDataDiscriminator.h"
+
+int
+RANAP_PositioningDataDiscriminator_constraint(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 == 4l)) {
+ /* 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 void
+RANAP_PositioningDataDiscriminator_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_BIT_STRING.free_struct;
+ td->print_struct = asn_DEF_BIT_STRING.print_struct;
+ td->check_constraints = asn_DEF_BIT_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_BIT_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_BIT_STRING.per_constraints;
+ td->elements = asn_DEF_BIT_STRING.elements;
+ td->elements_count = asn_DEF_BIT_STRING.elements_count;
+ td->specifics = asn_DEF_BIT_STRING.specifics;
+}
+
+void
+RANAP_PositioningDataDiscriminator_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_PositioningDataDiscriminator_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_PositioningDataDiscriminator_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PositioningDataDiscriminator_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PositioningDataDiscriminator_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_PositioningDataDiscriminator_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_PositioningDataDiscriminator_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PositioningDataDiscriminator_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PositioningDataDiscriminator_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_PositioningDataDiscriminator_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_PositioningDataDiscriminator_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PositioningDataDiscriminator_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PositioningDataDiscriminator_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_PositioningDataDiscriminator_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_PositioningDataDiscriminator_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_PositioningDataDiscriminator_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_PositioningDataDiscriminator_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_PositioningDataDiscriminator_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_PositioningDataDiscriminator_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_PositioningDataDiscriminator_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_PositioningDataDiscriminator_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 4l, 4l } /* (SIZE(4..4)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_PositioningDataDiscriminator_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_PositioningDataDiscriminator = {
+ "RANAP_PositioningDataDiscriminator",
+ "RANAP_PositioningDataDiscriminator",
+ RANAP_PositioningDataDiscriminator_free,
+ RANAP_PositioningDataDiscriminator_print,
+ RANAP_PositioningDataDiscriminator_constraint,
+ RANAP_PositioningDataDiscriminator_decode_ber,
+ RANAP_PositioningDataDiscriminator_encode_der,
+ RANAP_PositioningDataDiscriminator_decode_xer,
+ RANAP_PositioningDataDiscriminator_encode_xer,
+ RANAP_PositioningDataDiscriminator_decode_uper,
+ RANAP_PositioningDataDiscriminator_encode_uper,
+ RANAP_PositioningDataDiscriminator_decode_aper,
+ RANAP_PositioningDataDiscriminator_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_PositioningDataDiscriminator_tags_1,
+ sizeof(asn_DEF_RANAP_PositioningDataDiscriminator_tags_1)
+ /sizeof(asn_DEF_RANAP_PositioningDataDiscriminator_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_PositioningDataDiscriminator_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_PositioningDataDiscriminator_tags_1)
+ /sizeof(asn_DEF_RANAP_PositioningDataDiscriminator_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_PositioningDataDiscriminator_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_PositioningDataDiscriminator.h b/src/ranap/RANAP_PositioningDataDiscriminator.h
new file mode 100644
index 0000000..8e9da75
--- /dev/null
+++ b/src/ranap/RANAP_PositioningDataDiscriminator.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_PositioningDataDiscriminator_H_
+#define _RANAP_PositioningDataDiscriminator_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_PositioningDataDiscriminator */
+typedef BIT_STRING_t RANAP_PositioningDataDiscriminator_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_PositioningDataDiscriminator;
+asn_struct_free_f RANAP_PositioningDataDiscriminator_free;
+asn_struct_print_f RANAP_PositioningDataDiscriminator_print;
+asn_constr_check_f RANAP_PositioningDataDiscriminator_constraint;
+ber_type_decoder_f RANAP_PositioningDataDiscriminator_decode_ber;
+der_type_encoder_f RANAP_PositioningDataDiscriminator_encode_der;
+xer_type_decoder_f RANAP_PositioningDataDiscriminator_decode_xer;
+xer_type_encoder_f RANAP_PositioningDataDiscriminator_encode_xer;
+per_type_decoder_f RANAP_PositioningDataDiscriminator_decode_uper;
+per_type_encoder_f RANAP_PositioningDataDiscriminator_encode_uper;
+per_type_decoder_f RANAP_PositioningDataDiscriminator_decode_aper;
+per_type_encoder_f RANAP_PositioningDataDiscriminator_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_PositioningDataDiscriminator_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_PositioningDataSet.c b/src/ranap/RANAP_PositioningDataSet.c
new file mode 100644
index 0000000..10ed3b1
--- /dev/null
+++ b/src/ranap/RANAP_PositioningDataSet.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_PositioningDataSet.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_PositioningDataSet_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 4, 4, 1l, 9l } /* (SIZE(1..9)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_PositioningDataSet_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_PositioningMethodAndUsage,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_PositioningDataSet_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_PositioningDataSet_specs_1 = {
+ sizeof(struct RANAP_PositioningDataSet),
+ offsetof(struct RANAP_PositioningDataSet, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_PositioningDataSet = {
+ "RANAP_PositioningDataSet",
+ "RANAP_PositioningDataSet",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_PositioningDataSet_tags_1,
+ sizeof(asn_DEF_RANAP_PositioningDataSet_tags_1)
+ /sizeof(asn_DEF_RANAP_PositioningDataSet_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_PositioningDataSet_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_PositioningDataSet_tags_1)
+ /sizeof(asn_DEF_RANAP_PositioningDataSet_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_PositioningDataSet_constr_1,
+ asn_MBR_RANAP_PositioningDataSet_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_PositioningDataSet_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_PositioningDataSet.h b/src/ranap/RANAP_PositioningDataSet.h
new file mode 100644
index 0000000..1445dda
--- /dev/null
+++ b/src/ranap/RANAP_PositioningDataSet.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_PositioningDataSet_H_
+#define _RANAP_PositioningDataSet_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_PositioningMethodAndUsage.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_PositioningDataSet */
+typedef struct RANAP_PositioningDataSet {
+ A_SEQUENCE_OF(RANAP_PositioningMethodAndUsage_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_PositioningDataSet_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_PositioningDataSet;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_PositioningDataSet_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_PositioningMethodAndUsage.c b/src/ranap/RANAP_PositioningMethodAndUsage.c
new file mode 100644
index 0000000..a42295a
--- /dev/null
+++ b/src/ranap/RANAP_PositioningMethodAndUsage.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_PositioningMethodAndUsage.h"
+
+int
+RANAP_PositioningMethodAndUsage_constraint(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 == 1l)) {
+ /* 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 void
+RANAP_PositioningMethodAndUsage_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_PositioningMethodAndUsage_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_PositioningMethodAndUsage_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_PositioningMethodAndUsage_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PositioningMethodAndUsage_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PositioningMethodAndUsage_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_PositioningMethodAndUsage_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_PositioningMethodAndUsage_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PositioningMethodAndUsage_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PositioningMethodAndUsage_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_PositioningMethodAndUsage_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_PositioningMethodAndUsage_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PositioningMethodAndUsage_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PositioningMethodAndUsage_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_PositioningMethodAndUsage_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_PositioningMethodAndUsage_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_PositioningMethodAndUsage_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_PositioningMethodAndUsage_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_PositioningMethodAndUsage_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_PositioningMethodAndUsage_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_PositioningMethodAndUsage_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_PositioningMethodAndUsage_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 1l, 1l } /* (SIZE(1..1)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_PositioningMethodAndUsage_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_PositioningMethodAndUsage = {
+ "RANAP_PositioningMethodAndUsage",
+ "RANAP_PositioningMethodAndUsage",
+ RANAP_PositioningMethodAndUsage_free,
+ RANAP_PositioningMethodAndUsage_print,
+ RANAP_PositioningMethodAndUsage_constraint,
+ RANAP_PositioningMethodAndUsage_decode_ber,
+ RANAP_PositioningMethodAndUsage_encode_der,
+ RANAP_PositioningMethodAndUsage_decode_xer,
+ RANAP_PositioningMethodAndUsage_encode_xer,
+ RANAP_PositioningMethodAndUsage_decode_uper,
+ RANAP_PositioningMethodAndUsage_encode_uper,
+ RANAP_PositioningMethodAndUsage_decode_aper,
+ RANAP_PositioningMethodAndUsage_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_PositioningMethodAndUsage_tags_1,
+ sizeof(asn_DEF_RANAP_PositioningMethodAndUsage_tags_1)
+ /sizeof(asn_DEF_RANAP_PositioningMethodAndUsage_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_PositioningMethodAndUsage_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_PositioningMethodAndUsage_tags_1)
+ /sizeof(asn_DEF_RANAP_PositioningMethodAndUsage_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_PositioningMethodAndUsage_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_PositioningMethodAndUsage.h b/src/ranap/RANAP_PositioningMethodAndUsage.h
new file mode 100644
index 0000000..f8306f9
--- /dev/null
+++ b/src/ranap/RANAP_PositioningMethodAndUsage.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_PositioningMethodAndUsage_H_
+#define _RANAP_PositioningMethodAndUsage_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_PositioningMethodAndUsage */
+typedef OCTET_STRING_t RANAP_PositioningMethodAndUsage_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_PositioningMethodAndUsage;
+asn_struct_free_f RANAP_PositioningMethodAndUsage_free;
+asn_struct_print_f RANAP_PositioningMethodAndUsage_print;
+asn_constr_check_f RANAP_PositioningMethodAndUsage_constraint;
+ber_type_decoder_f RANAP_PositioningMethodAndUsage_decode_ber;
+der_type_encoder_f RANAP_PositioningMethodAndUsage_encode_der;
+xer_type_decoder_f RANAP_PositioningMethodAndUsage_decode_xer;
+xer_type_encoder_f RANAP_PositioningMethodAndUsage_encode_xer;
+per_type_decoder_f RANAP_PositioningMethodAndUsage_decode_uper;
+per_type_encoder_f RANAP_PositioningMethodAndUsage_encode_uper;
+per_type_decoder_f RANAP_PositioningMethodAndUsage_decode_aper;
+per_type_encoder_f RANAP_PositioningMethodAndUsage_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_PositioningMethodAndUsage_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_PositioningPriority.c b/src/ranap/RANAP_PositioningPriority.c
new file mode 100644
index 0000000..061b980
--- /dev/null
+++ b/src/ranap/RANAP_PositioningPriority.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_PositioningPriority.h"
+
+int
+RANAP_PositioningPriority_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_PositioningPriority_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_PositioningPriority_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_PositioningPriority_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_PositioningPriority_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PositioningPriority_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PositioningPriority_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_PositioningPriority_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_PositioningPriority_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PositioningPriority_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PositioningPriority_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_PositioningPriority_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_PositioningPriority_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PositioningPriority_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PositioningPriority_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_PositioningPriority_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_PositioningPriority_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_PositioningPriority_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_PositioningPriority_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_PositioningPriority_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_PositioningPriority_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_PositioningPriority_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_PositioningPriority_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_PositioningPriority_value2enum_1[] = {
+ { 0, 13, "high-Priority" },
+ { 1, 15, "normal-Priority" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_PositioningPriority_enum2value_1[] = {
+ 0, /* high-Priority(0) */
+ 1 /* normal-Priority(1) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_PositioningPriority_specs_1 = {
+ asn_MAP_RANAP_PositioningPriority_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_PositioningPriority_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_RANAP_PositioningPriority_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_PositioningPriority = {
+ "RANAP_PositioningPriority",
+ "RANAP_PositioningPriority",
+ RANAP_PositioningPriority_free,
+ RANAP_PositioningPriority_print,
+ RANAP_PositioningPriority_constraint,
+ RANAP_PositioningPriority_decode_ber,
+ RANAP_PositioningPriority_encode_der,
+ RANAP_PositioningPriority_decode_xer,
+ RANAP_PositioningPriority_encode_xer,
+ RANAP_PositioningPriority_decode_uper,
+ RANAP_PositioningPriority_encode_uper,
+ RANAP_PositioningPriority_decode_aper,
+ RANAP_PositioningPriority_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_PositioningPriority_tags_1,
+ sizeof(asn_DEF_RANAP_PositioningPriority_tags_1)
+ /sizeof(asn_DEF_RANAP_PositioningPriority_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_PositioningPriority_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_PositioningPriority_tags_1)
+ /sizeof(asn_DEF_RANAP_PositioningPriority_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_PositioningPriority_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_PositioningPriority_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_PositioningPriority.h b/src/ranap/RANAP_PositioningPriority.h
new file mode 100644
index 0000000..673c475
--- /dev/null
+++ b/src/ranap/RANAP_PositioningPriority.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_PositioningPriority_H_
+#define _RANAP_PositioningPriority_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_PositioningPriority {
+ RANAP_PositioningPriority_high_Priority = 0,
+ RANAP_PositioningPriority_normal_Priority = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_PositioningPriority;
+
+/* RANAP_PositioningPriority */
+typedef long RANAP_PositioningPriority_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_PositioningPriority;
+asn_struct_free_f RANAP_PositioningPriority_free;
+asn_struct_print_f RANAP_PositioningPriority_print;
+asn_constr_check_f RANAP_PositioningPriority_constraint;
+ber_type_decoder_f RANAP_PositioningPriority_decode_ber;
+der_type_encoder_f RANAP_PositioningPriority_encode_der;
+xer_type_decoder_f RANAP_PositioningPriority_decode_xer;
+xer_type_encoder_f RANAP_PositioningPriority_encode_xer;
+per_type_decoder_f RANAP_PositioningPriority_decode_uper;
+per_type_encoder_f RANAP_PositioningPriority_encode_uper;
+per_type_decoder_f RANAP_PositioningPriority_decode_aper;
+per_type_encoder_f RANAP_PositioningPriority_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_PositioningPriority_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Pre-emptionCapability.c b/src/ranap/RANAP_Pre-emptionCapability.c
new file mode 100644
index 0000000..1f8f7ac
--- /dev/null
+++ b/src/ranap/RANAP_Pre-emptionCapability.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Pre-emptionCapability.h"
+
+int
+RANAP_Pre_emptionCapability_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_Pre_emptionCapability_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_Pre_emptionCapability_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Pre_emptionCapability_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Pre_emptionCapability_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Pre_emptionCapability_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Pre_emptionCapability_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Pre_emptionCapability_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Pre_emptionCapability_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Pre_emptionCapability_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Pre_emptionCapability_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Pre_emptionCapability_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Pre_emptionCapability_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Pre_emptionCapability_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Pre_emptionCapability_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Pre_emptionCapability_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Pre_emptionCapability_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Pre_emptionCapability_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Pre_emptionCapability_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Pre_emptionCapability_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Pre_emptionCapability_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Pre_emptionCapability_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_Pre_emptionCapability_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_Pre_emptionCapability_value2enum_1[] = {
+ { 0, 29, "shall-not-trigger-pre-emption" },
+ { 1, 23, "may-trigger-pre-emption" }
+};
+static const unsigned int asn_MAP_RANAP_Pre_emptionCapability_enum2value_1[] = {
+ 1, /* may-trigger-pre-emption(1) */
+ 0 /* shall-not-trigger-pre-emption(0) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_Pre_emptionCapability_specs_1 = {
+ asn_MAP_RANAP_Pre_emptionCapability_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_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_RANAP_Pre_emptionCapability_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Pre_emptionCapability = {
+ "RANAP_Pre-emptionCapability",
+ "RANAP_Pre-emptionCapability",
+ RANAP_Pre_emptionCapability_free,
+ RANAP_Pre_emptionCapability_print,
+ RANAP_Pre_emptionCapability_constraint,
+ RANAP_Pre_emptionCapability_decode_ber,
+ RANAP_Pre_emptionCapability_encode_der,
+ RANAP_Pre_emptionCapability_decode_xer,
+ RANAP_Pre_emptionCapability_encode_xer,
+ RANAP_Pre_emptionCapability_decode_uper,
+ RANAP_Pre_emptionCapability_encode_uper,
+ RANAP_Pre_emptionCapability_decode_aper,
+ RANAP_Pre_emptionCapability_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Pre_emptionCapability_tags_1,
+ sizeof(asn_DEF_RANAP_Pre_emptionCapability_tags_1)
+ /sizeof(asn_DEF_RANAP_Pre_emptionCapability_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Pre_emptionCapability_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Pre_emptionCapability_tags_1)
+ /sizeof(asn_DEF_RANAP_Pre_emptionCapability_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Pre_emptionCapability_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_Pre_emptionCapability_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Pre-emptionCapability.h b/src/ranap/RANAP_Pre-emptionCapability.h
new file mode 100644
index 0000000..7bcdc26
--- /dev/null
+++ b/src/ranap/RANAP_Pre-emptionCapability.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Pre_emptionCapability_H_
+#define _RANAP_Pre_emptionCapability_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_Pre_emptionCapability {
+ RANAP_Pre_emptionCapability_shall_not_trigger_pre_emption = 0,
+ RANAP_Pre_emptionCapability_may_trigger_pre_emption = 1
+} e_RANAP_Pre_emptionCapability;
+
+/* RANAP_Pre-emptionCapability */
+typedef long RANAP_Pre_emptionCapability_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Pre_emptionCapability;
+asn_struct_free_f RANAP_Pre_emptionCapability_free;
+asn_struct_print_f RANAP_Pre_emptionCapability_print;
+asn_constr_check_f RANAP_Pre_emptionCapability_constraint;
+ber_type_decoder_f RANAP_Pre_emptionCapability_decode_ber;
+der_type_encoder_f RANAP_Pre_emptionCapability_encode_der;
+xer_type_decoder_f RANAP_Pre_emptionCapability_decode_xer;
+xer_type_encoder_f RANAP_Pre_emptionCapability_encode_xer;
+per_type_decoder_f RANAP_Pre_emptionCapability_decode_uper;
+per_type_encoder_f RANAP_Pre_emptionCapability_encode_uper;
+per_type_decoder_f RANAP_Pre_emptionCapability_decode_aper;
+per_type_encoder_f RANAP_Pre_emptionCapability_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Pre_emptionCapability_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Pre-emptionVulnerability.c b/src/ranap/RANAP_Pre-emptionVulnerability.c
new file mode 100644
index 0000000..6f6067a
--- /dev/null
+++ b/src/ranap/RANAP_Pre-emptionVulnerability.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Pre-emptionVulnerability.h"
+
+int
+RANAP_Pre_emptionVulnerability_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_Pre_emptionVulnerability_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_Pre_emptionVulnerability_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Pre_emptionVulnerability_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Pre_emptionVulnerability_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Pre_emptionVulnerability_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Pre_emptionVulnerability_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Pre_emptionVulnerability_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Pre_emptionVulnerability_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Pre_emptionVulnerability_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Pre_emptionVulnerability_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Pre_emptionVulnerability_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Pre_emptionVulnerability_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Pre_emptionVulnerability_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Pre_emptionVulnerability_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Pre_emptionVulnerability_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Pre_emptionVulnerability_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Pre_emptionVulnerability_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Pre_emptionVulnerability_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Pre_emptionVulnerability_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Pre_emptionVulnerability_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Pre_emptionVulnerability_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_Pre_emptionVulnerability_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_Pre_emptionVulnerability_value2enum_1[] = {
+ { 0, 16, "not-pre-emptable" },
+ { 1, 12, "pre-emptable" }
+};
+static const unsigned int asn_MAP_RANAP_Pre_emptionVulnerability_enum2value_1[] = {
+ 0, /* not-pre-emptable(0) */
+ 1 /* pre-emptable(1) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_Pre_emptionVulnerability_specs_1 = {
+ asn_MAP_RANAP_Pre_emptionVulnerability_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_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_RANAP_Pre_emptionVulnerability_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Pre_emptionVulnerability = {
+ "RANAP_Pre-emptionVulnerability",
+ "RANAP_Pre-emptionVulnerability",
+ RANAP_Pre_emptionVulnerability_free,
+ RANAP_Pre_emptionVulnerability_print,
+ RANAP_Pre_emptionVulnerability_constraint,
+ RANAP_Pre_emptionVulnerability_decode_ber,
+ RANAP_Pre_emptionVulnerability_encode_der,
+ RANAP_Pre_emptionVulnerability_decode_xer,
+ RANAP_Pre_emptionVulnerability_encode_xer,
+ RANAP_Pre_emptionVulnerability_decode_uper,
+ RANAP_Pre_emptionVulnerability_encode_uper,
+ RANAP_Pre_emptionVulnerability_decode_aper,
+ RANAP_Pre_emptionVulnerability_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Pre_emptionVulnerability_tags_1,
+ sizeof(asn_DEF_RANAP_Pre_emptionVulnerability_tags_1)
+ /sizeof(asn_DEF_RANAP_Pre_emptionVulnerability_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Pre_emptionVulnerability_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Pre_emptionVulnerability_tags_1)
+ /sizeof(asn_DEF_RANAP_Pre_emptionVulnerability_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Pre_emptionVulnerability_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_Pre_emptionVulnerability_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Pre-emptionVulnerability.h b/src/ranap/RANAP_Pre-emptionVulnerability.h
new file mode 100644
index 0000000..d8ec7ee
--- /dev/null
+++ b/src/ranap/RANAP_Pre-emptionVulnerability.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Pre_emptionVulnerability_H_
+#define _RANAP_Pre_emptionVulnerability_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_Pre_emptionVulnerability {
+ RANAP_Pre_emptionVulnerability_not_pre_emptable = 0,
+ RANAP_Pre_emptionVulnerability_pre_emptable = 1
+} e_RANAP_Pre_emptionVulnerability;
+
+/* RANAP_Pre-emptionVulnerability */
+typedef long RANAP_Pre_emptionVulnerability_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Pre_emptionVulnerability;
+asn_struct_free_f RANAP_Pre_emptionVulnerability_free;
+asn_struct_print_f RANAP_Pre_emptionVulnerability_print;
+asn_constr_check_f RANAP_Pre_emptionVulnerability_constraint;
+ber_type_decoder_f RANAP_Pre_emptionVulnerability_decode_ber;
+der_type_encoder_f RANAP_Pre_emptionVulnerability_encode_der;
+xer_type_decoder_f RANAP_Pre_emptionVulnerability_decode_xer;
+xer_type_encoder_f RANAP_Pre_emptionVulnerability_encode_xer;
+per_type_decoder_f RANAP_Pre_emptionVulnerability_decode_uper;
+per_type_encoder_f RANAP_Pre_emptionVulnerability_encode_uper;
+per_type_decoder_f RANAP_Pre_emptionVulnerability_decode_aper;
+per_type_encoder_f RANAP_Pre_emptionVulnerability_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Pre_emptionVulnerability_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Presence.c b/src/ranap/RANAP_Presence.c
new file mode 100644
index 0000000..8d7bab5
--- /dev/null
+++ b/src/ranap/RANAP_Presence.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-CommonDataTypes"
+ * found in "../../asn1/ranap/RANAP-CommonDataTypes.asn"
+ */
+
+#include "RANAP_Presence.h"
+
+int
+RANAP_Presence_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_Presence_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_Presence_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Presence_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Presence_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Presence_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Presence_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Presence_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Presence_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Presence_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Presence_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Presence_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Presence_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Presence_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Presence_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Presence_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Presence_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Presence_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Presence_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Presence_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Presence_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Presence_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_Presence_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0l, 2l } /* (0..2) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_Presence_value2enum_1[] = {
+ { 0, 8, "optional" },
+ { 1, 11, "conditional" },
+ { 2, 9, "mandatory" }
+};
+static const unsigned int asn_MAP_RANAP_Presence_enum2value_1[] = {
+ 1, /* conditional(1) */
+ 2, /* mandatory(2) */
+ 0 /* optional(0) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_Presence_specs_1 = {
+ asn_MAP_RANAP_Presence_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_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_RANAP_Presence_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Presence = {
+ "RANAP_Presence",
+ "RANAP_Presence",
+ RANAP_Presence_free,
+ RANAP_Presence_print,
+ RANAP_Presence_constraint,
+ RANAP_Presence_decode_ber,
+ RANAP_Presence_encode_der,
+ RANAP_Presence_decode_xer,
+ RANAP_Presence_encode_xer,
+ RANAP_Presence_decode_uper,
+ RANAP_Presence_encode_uper,
+ RANAP_Presence_decode_aper,
+ RANAP_Presence_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Presence_tags_1,
+ sizeof(asn_DEF_RANAP_Presence_tags_1)
+ /sizeof(asn_DEF_RANAP_Presence_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Presence_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Presence_tags_1)
+ /sizeof(asn_DEF_RANAP_Presence_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Presence_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_Presence_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Presence.h b/src/ranap/RANAP_Presence.h
new file mode 100644
index 0000000..ee14482
--- /dev/null
+++ b/src/ranap/RANAP_Presence.h
@@ -0,0 +1,49 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-CommonDataTypes"
+ * found in "../../asn1/ranap/RANAP-CommonDataTypes.asn"
+ */
+
+#ifndef _RANAP_Presence_H_
+#define _RANAP_Presence_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_Presence {
+ RANAP_Presence_optional = 0,
+ RANAP_Presence_conditional = 1,
+ RANAP_Presence_mandatory = 2
+} e_RANAP_Presence;
+
+/* RANAP_Presence */
+typedef long RANAP_Presence_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Presence;
+asn_struct_free_f RANAP_Presence_free;
+asn_struct_print_f RANAP_Presence_print;
+asn_constr_check_f RANAP_Presence_constraint;
+ber_type_decoder_f RANAP_Presence_decode_ber;
+der_type_encoder_f RANAP_Presence_encode_der;
+xer_type_decoder_f RANAP_Presence_decode_xer;
+xer_type_encoder_f RANAP_Presence_encode_xer;
+per_type_decoder_f RANAP_Presence_decode_uper;
+per_type_encoder_f RANAP_Presence_encode_uper;
+per_type_decoder_f RANAP_Presence_decode_aper;
+per_type_encoder_f RANAP_Presence_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Presence_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Priority-Class-Indicator.c b/src/ranap/RANAP_Priority-Class-Indicator.c
new file mode 100644
index 0000000..5c84304
--- /dev/null
+++ b/src/ranap/RANAP_Priority-Class-Indicator.c
@@ -0,0 +1,171 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Priority-Class-Indicator.h"
+
+int
+RANAP_Priority_Class_Indicator_constraint(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 == 8l)) {
+ /* 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 void
+RANAP_Priority_Class_Indicator_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_BIT_STRING.free_struct;
+ td->print_struct = asn_DEF_BIT_STRING.print_struct;
+ td->check_constraints = asn_DEF_BIT_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_BIT_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_BIT_STRING.per_constraints;
+ td->elements = asn_DEF_BIT_STRING.elements;
+ td->elements_count = asn_DEF_BIT_STRING.elements_count;
+ td->specifics = asn_DEF_BIT_STRING.specifics;
+}
+
+void
+RANAP_Priority_Class_Indicator_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Priority_Class_Indicator_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Priority_Class_Indicator_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Priority_Class_Indicator_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Priority_Class_Indicator_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Priority_Class_Indicator_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Priority_Class_Indicator_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Priority_Class_Indicator_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Priority_Class_Indicator_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Priority_Class_Indicator_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Priority_Class_Indicator_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Priority_Class_Indicator_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Priority_Class_Indicator_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Priority_Class_Indicator_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Priority_Class_Indicator_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Priority_Class_Indicator_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Priority_Class_Indicator_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Priority_Class_Indicator_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Priority_Class_Indicator_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Priority_Class_Indicator_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_Priority_Class_Indicator_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 8l, 8l } /* (SIZE(8..8)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Priority_Class_Indicator_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Priority_Class_Indicator = {
+ "RANAP_Priority-Class-Indicator",
+ "RANAP_Priority-Class-Indicator",
+ RANAP_Priority_Class_Indicator_free,
+ RANAP_Priority_Class_Indicator_print,
+ RANAP_Priority_Class_Indicator_constraint,
+ RANAP_Priority_Class_Indicator_decode_ber,
+ RANAP_Priority_Class_Indicator_encode_der,
+ RANAP_Priority_Class_Indicator_decode_xer,
+ RANAP_Priority_Class_Indicator_encode_xer,
+ RANAP_Priority_Class_Indicator_decode_uper,
+ RANAP_Priority_Class_Indicator_encode_uper,
+ RANAP_Priority_Class_Indicator_decode_aper,
+ RANAP_Priority_Class_Indicator_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Priority_Class_Indicator_tags_1,
+ sizeof(asn_DEF_RANAP_Priority_Class_Indicator_tags_1)
+ /sizeof(asn_DEF_RANAP_Priority_Class_Indicator_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Priority_Class_Indicator_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Priority_Class_Indicator_tags_1)
+ /sizeof(asn_DEF_RANAP_Priority_Class_Indicator_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Priority_Class_Indicator_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_Priority-Class-Indicator.h b/src/ranap/RANAP_Priority-Class-Indicator.h
new file mode 100644
index 0000000..932cd87
--- /dev/null
+++ b/src/ranap/RANAP_Priority-Class-Indicator.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Priority_Class_Indicator_H_
+#define _RANAP_Priority_Class_Indicator_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Priority-Class-Indicator */
+typedef BIT_STRING_t RANAP_Priority_Class_Indicator_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Priority_Class_Indicator;
+asn_struct_free_f RANAP_Priority_Class_Indicator_free;
+asn_struct_print_f RANAP_Priority_Class_Indicator_print;
+asn_constr_check_f RANAP_Priority_Class_Indicator_constraint;
+ber_type_decoder_f RANAP_Priority_Class_Indicator_decode_ber;
+der_type_encoder_f RANAP_Priority_Class_Indicator_encode_der;
+xer_type_decoder_f RANAP_Priority_Class_Indicator_decode_xer;
+xer_type_encoder_f RANAP_Priority_Class_Indicator_encode_xer;
+per_type_decoder_f RANAP_Priority_Class_Indicator_decode_uper;
+per_type_encoder_f RANAP_Priority_Class_Indicator_encode_uper;
+per_type_decoder_f RANAP_Priority_Class_Indicator_decode_aper;
+per_type_encoder_f RANAP_Priority_Class_Indicator_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Priority_Class_Indicator_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_PriorityLevel.c b/src/ranap/RANAP_PriorityLevel.c
new file mode 100644
index 0000000..e36bae5
--- /dev/null
+++ b/src/ranap/RANAP_PriorityLevel.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_PriorityLevel.h"
+
+int
+RANAP_PriorityLevel_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 15l)) {
+ /* 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 void
+RANAP_PriorityLevel_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_PriorityLevel_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_PriorityLevel_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_PriorityLevel_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PriorityLevel_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PriorityLevel_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_PriorityLevel_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_PriorityLevel_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PriorityLevel_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PriorityLevel_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_PriorityLevel_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_PriorityLevel_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_PriorityLevel_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_PriorityLevel_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_PriorityLevel_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_PriorityLevel_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_PriorityLevel_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_PriorityLevel_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_PriorityLevel_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_PriorityLevel_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_PriorityLevel_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_PriorityLevel_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 4, 4, 0l, 15l } /* (0..15) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_PriorityLevel_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_PriorityLevel = {
+ "RANAP_PriorityLevel",
+ "RANAP_PriorityLevel",
+ RANAP_PriorityLevel_free,
+ RANAP_PriorityLevel_print,
+ RANAP_PriorityLevel_constraint,
+ RANAP_PriorityLevel_decode_ber,
+ RANAP_PriorityLevel_encode_der,
+ RANAP_PriorityLevel_decode_xer,
+ RANAP_PriorityLevel_encode_xer,
+ RANAP_PriorityLevel_decode_uper,
+ RANAP_PriorityLevel_encode_uper,
+ RANAP_PriorityLevel_decode_aper,
+ RANAP_PriorityLevel_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_PriorityLevel_tags_1,
+ sizeof(asn_DEF_RANAP_PriorityLevel_tags_1)
+ /sizeof(asn_DEF_RANAP_PriorityLevel_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_PriorityLevel_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_PriorityLevel_tags_1)
+ /sizeof(asn_DEF_RANAP_PriorityLevel_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_PriorityLevel_constr_1,
+ 0, 0, /* Defined elsewhere */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_PriorityLevel.h b/src/ranap/RANAP_PriorityLevel.h
new file mode 100644
index 0000000..75bc5d7
--- /dev/null
+++ b/src/ranap/RANAP_PriorityLevel.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_PriorityLevel_H_
+#define _RANAP_PriorityLevel_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_PriorityLevel {
+ RANAP_PriorityLevel_spare = 0,
+ RANAP_PriorityLevel_highest = 1,
+ RANAP_PriorityLevel_lowest = 14,
+ RANAP_PriorityLevel_no_priority = 15
+} e_RANAP_PriorityLevel;
+
+/* RANAP_PriorityLevel */
+typedef long RANAP_PriorityLevel_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_PriorityLevel;
+asn_struct_free_f RANAP_PriorityLevel_free;
+asn_struct_print_f RANAP_PriorityLevel_print;
+asn_constr_check_f RANAP_PriorityLevel_constraint;
+ber_type_decoder_f RANAP_PriorityLevel_decode_ber;
+der_type_encoder_f RANAP_PriorityLevel_encode_der;
+xer_type_decoder_f RANAP_PriorityLevel_decode_xer;
+xer_type_encoder_f RANAP_PriorityLevel_encode_xer;
+per_type_decoder_f RANAP_PriorityLevel_decode_uper;
+per_type_encoder_f RANAP_PriorityLevel_encode_uper;
+per_type_decoder_f RANAP_PriorityLevel_decode_aper;
+per_type_encoder_f RANAP_PriorityLevel_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_PriorityLevel_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_PrivateIE-ID.c b/src/ranap/RANAP_PrivateIE-ID.c
new file mode 100644
index 0000000..34f6205
--- /dev/null
+++ b/src/ranap/RANAP_PrivateIE-ID.c
@@ -0,0 +1,102 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-CommonDataTypes"
+ * found in "../../asn1/ranap/RANAP-CommonDataTypes.asn"
+ */
+
+#include "RANAP_PrivateIE-ID.h"
+
+static int
+memb_local_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 65535l)) {
+ /* Constraint 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 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_type_RANAP_PrivateIE_ID_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_PrivateIE_ID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_PrivateIE_ID, choice.local),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_local_constraint_1,
+ &asn_PER_memb_local_constr_2,
+ 0,
+ "local"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_PrivateIE_ID, choice.global),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_OBJECT_IDENTIFIER,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "global"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_PrivateIE_ID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* local */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* global */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_PrivateIE_ID_specs_1 = {
+ sizeof(struct RANAP_PrivateIE_ID),
+ offsetof(struct RANAP_PrivateIE_ID, _asn_ctx),
+ offsetof(struct RANAP_PrivateIE_ID, present),
+ sizeof(((struct RANAP_PrivateIE_ID *)0)->present),
+ asn_MAP_RANAP_PrivateIE_ID_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0,
+ -1 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_PrivateIE_ID = {
+ "RANAP_PrivateIE-ID",
+ "RANAP_PrivateIE-ID",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_PrivateIE_ID_constr_1,
+ asn_MBR_RANAP_PrivateIE_ID_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_PrivateIE_ID_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_PrivateIE-ID.h b/src/ranap/RANAP_PrivateIE-ID.h
new file mode 100644
index 0000000..59a28de
--- /dev/null
+++ b/src/ranap/RANAP_PrivateIE-ID.h
@@ -0,0 +1,49 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-CommonDataTypes"
+ * found in "../../asn1/ranap/RANAP-CommonDataTypes.asn"
+ */
+
+#ifndef _RANAP_PrivateIE_ID_H_
+#define _RANAP_PrivateIE_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+#include <OBJECT_IDENTIFIER.h>
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_PrivateIE_ID_PR {
+ RANAP_PrivateIE_ID_PR_NOTHING, /* No components present */
+ RANAP_PrivateIE_ID_PR_local,
+ RANAP_PrivateIE_ID_PR_global
+} RANAP_PrivateIE_ID_PR;
+
+/* RANAP_PrivateIE-ID */
+typedef struct RANAP_PrivateIE_ID {
+ RANAP_PrivateIE_ID_PR present;
+ union RANAP_PrivateIE_ID_u {
+ long local;
+ OBJECT_IDENTIFIER_t global;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_PrivateIE_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_PrivateIE_ID;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_PrivateIE_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_PrivateMessage.c b/src/ranap/RANAP_PrivateMessage.c
new file mode 100644
index 0000000..52b5ec2
--- /dev/null
+++ b/src/ranap/RANAP_PrivateMessage.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_PrivateMessage.h"
+
+static int
+memb_privateMessage_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_privateMessage_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_privateMessage_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_privateMessage_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_privateMessage_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_privateMessage_ies_specs_2 = {
+ sizeof(struct privateMessage_ies),
+ offsetof(struct privateMessage_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_privateMessage_ies_2 = {
+ "privateMessage-ies",
+ "privateMessage-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_privateMessage_ies_tags_2,
+ sizeof(asn_DEF_privateMessage_ies_tags_2)
+ /sizeof(asn_DEF_privateMessage_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_privateMessage_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_privateMessage_ies_tags_2)
+ /sizeof(asn_DEF_privateMessage_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_privateMessage_ies_constr_2,
+ asn_MBR_privateMessage_ies_2,
+ 1, /* Single element */
+ &asn_SPC_privateMessage_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_PrivateMessage_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_PrivateMessage, privateMessage_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_privateMessage_ies_2,
+ memb_privateMessage_ies_constraint_1,
+ &asn_PER_memb_privateMessage_ies_constr_2,
+ 0,
+ "privateMessage-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_PrivateMessage_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_PrivateMessage_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* privateMessage-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_PrivateMessage_specs_1 = {
+ sizeof(struct RANAP_PrivateMessage),
+ offsetof(struct RANAP_PrivateMessage, _asn_ctx),
+ asn_MAP_RANAP_PrivateMessage_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_PrivateMessage = {
+ "RANAP_PrivateMessage",
+ "RANAP_PrivateMessage",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_PrivateMessage_tags_1,
+ sizeof(asn_DEF_RANAP_PrivateMessage_tags_1)
+ /sizeof(asn_DEF_RANAP_PrivateMessage_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_PrivateMessage_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_PrivateMessage_tags_1)
+ /sizeof(asn_DEF_RANAP_PrivateMessage_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_PrivateMessage_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_PrivateMessage_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_PrivateMessage.h b/src/ranap/RANAP_PrivateMessage.h
new file mode 100644
index 0000000..37051f3
--- /dev/null
+++ b/src/ranap/RANAP_PrivateMessage.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_PrivateMessage_H_
+#define _RANAP_PrivateMessage_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_PrivateMessage */
+typedef struct RANAP_PrivateMessage {
+ struct privateMessage_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } privateMessage_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_PrivateMessage_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_PrivateMessage;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_PrivateMessage_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ProcedureCode.c b/src/ranap/RANAP_ProcedureCode.c
new file mode 100644
index 0000000..e76adc5
--- /dev/null
+++ b/src/ranap/RANAP_ProcedureCode.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-CommonDataTypes"
+ * found in "../../asn1/ranap/RANAP-CommonDataTypes.asn"
+ */
+
+#include "RANAP_ProcedureCode.h"
+
+int
+RANAP_ProcedureCode_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 255l)) {
+ /* 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 void
+RANAP_ProcedureCode_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_ProcedureCode_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_ProcedureCode_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_ProcedureCode_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ProcedureCode_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ProcedureCode_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_ProcedureCode_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_ProcedureCode_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ProcedureCode_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ProcedureCode_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_ProcedureCode_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_ProcedureCode_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ProcedureCode_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ProcedureCode_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ProcedureCode_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_ProcedureCode_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ProcedureCode_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_ProcedureCode_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ProcedureCode_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_ProcedureCode_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ProcedureCode_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_ProcedureCode_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 8, 8, 0l, 255l } /* (0..255) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_ProcedureCode_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ProcedureCode = {
+ "RANAP_ProcedureCode",
+ "RANAP_ProcedureCode",
+ RANAP_ProcedureCode_free,
+ RANAP_ProcedureCode_print,
+ RANAP_ProcedureCode_constraint,
+ RANAP_ProcedureCode_decode_ber,
+ RANAP_ProcedureCode_encode_der,
+ RANAP_ProcedureCode_decode_xer,
+ RANAP_ProcedureCode_encode_xer,
+ RANAP_ProcedureCode_decode_uper,
+ RANAP_ProcedureCode_encode_uper,
+ RANAP_ProcedureCode_decode_aper,
+ RANAP_ProcedureCode_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ProcedureCode_tags_1,
+ sizeof(asn_DEF_RANAP_ProcedureCode_tags_1)
+ /sizeof(asn_DEF_RANAP_ProcedureCode_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ProcedureCode_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ProcedureCode_tags_1)
+ /sizeof(asn_DEF_RANAP_ProcedureCode_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_ProcedureCode_constr_1,
+ 0, 0, /* Defined elsewhere */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_ProcedureCode.h b/src/ranap/RANAP_ProcedureCode.h
new file mode 100644
index 0000000..9a7763c
--- /dev/null
+++ b/src/ranap/RANAP_ProcedureCode.h
@@ -0,0 +1,93 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-CommonDataTypes"
+ * found in "../../asn1/ranap/RANAP-CommonDataTypes.asn"
+ */
+
+#ifndef _RANAP_ProcedureCode_H_
+#define _RANAP_ProcedureCode_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_ProcedureCode {
+ RANAP_ProcedureCode_id_RAB_Assignment = 0,
+ RANAP_ProcedureCode_id_Iu_Release = 1,
+ RANAP_ProcedureCode_id_RelocationPreparation = 2,
+ RANAP_ProcedureCode_id_RelocationResourceAllocation = 3,
+ RANAP_ProcedureCode_id_RelocationCancel = 4,
+ RANAP_ProcedureCode_id_SRNS_ContextTransfer = 5,
+ RANAP_ProcedureCode_id_SecurityModeControl = 6,
+ RANAP_ProcedureCode_id_DataVolumeReport = 7,
+ RANAP_ProcedureCode_id_Reset = 9,
+ RANAP_ProcedureCode_id_RAB_ReleaseRequest = 10,
+ RANAP_ProcedureCode_id_Iu_ReleaseRequest = 11,
+ RANAP_ProcedureCode_id_RelocationDetect = 12,
+ RANAP_ProcedureCode_id_RelocationComplete = 13,
+ RANAP_ProcedureCode_id_Paging = 14,
+ RANAP_ProcedureCode_id_CommonID = 15,
+ RANAP_ProcedureCode_id_CN_InvokeTrace = 16,
+ RANAP_ProcedureCode_id_LocationReportingControl = 17,
+ RANAP_ProcedureCode_id_LocationReport = 18,
+ RANAP_ProcedureCode_id_InitialUE_Message = 19,
+ RANAP_ProcedureCode_id_DirectTransfer = 20,
+ RANAP_ProcedureCode_id_OverloadControl = 21,
+ RANAP_ProcedureCode_id_ErrorIndication = 22,
+ RANAP_ProcedureCode_id_SRNS_DataForward = 23,
+ RANAP_ProcedureCode_id_ForwardSRNS_Context = 24,
+ RANAP_ProcedureCode_id_privateMessage = 25,
+ RANAP_ProcedureCode_id_CN_DeactivateTrace = 26,
+ RANAP_ProcedureCode_id_ResetResource = 27,
+ RANAP_ProcedureCode_id_RANAP_Relocation = 28,
+ RANAP_ProcedureCode_id_RAB_ModifyRequest = 29,
+ RANAP_ProcedureCode_id_LocationRelatedData = 30,
+ RANAP_ProcedureCode_id_InformationTransfer = 31,
+ RANAP_ProcedureCode_id_UESpecificInformation = 32,
+ RANAP_ProcedureCode_id_UplinkInformationExchange = 33,
+ RANAP_ProcedureCode_id_DirectInformationTransfer = 34,
+ RANAP_ProcedureCode_id_MBMSSessionStart = 35,
+ RANAP_ProcedureCode_id_MBMSSessionUpdate = 36,
+ RANAP_ProcedureCode_id_MBMSSessionStop = 37,
+ RANAP_ProcedureCode_id_MBMSUELinking = 38,
+ RANAP_ProcedureCode_id_MBMSRegistration = 39,
+ RANAP_ProcedureCode_id_MBMSCNDe_Registration_Procedure = 40,
+ RANAP_ProcedureCode_id_MBMSRABEstablishmentIndication = 41,
+ RANAP_ProcedureCode_id_MBMSRABRelease = 42,
+ RANAP_ProcedureCode_id_enhancedRelocationComplete = 43,
+ RANAP_ProcedureCode_id_enhancedRelocationCompleteConfirm = 44,
+ RANAP_ProcedureCode_id_RANAPenhancedRelocation = 45,
+ RANAP_ProcedureCode_id_SRVCCPreparation = 46,
+ RANAP_ProcedureCode_id_UeRadioCapabilityMatch = 47
+} e_RANAP_ProcedureCode;
+
+/* RANAP_ProcedureCode */
+typedef long RANAP_ProcedureCode_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ProcedureCode;
+asn_struct_free_f RANAP_ProcedureCode_free;
+asn_struct_print_f RANAP_ProcedureCode_print;
+asn_constr_check_f RANAP_ProcedureCode_constraint;
+ber_type_decoder_f RANAP_ProcedureCode_decode_ber;
+der_type_encoder_f RANAP_ProcedureCode_encode_der;
+xer_type_decoder_f RANAP_ProcedureCode_decode_xer;
+xer_type_encoder_f RANAP_ProcedureCode_encode_xer;
+per_type_decoder_f RANAP_ProcedureCode_decode_uper;
+per_type_encoder_f RANAP_ProcedureCode_encode_uper;
+per_type_decoder_f RANAP_ProcedureCode_decode_aper;
+per_type_encoder_f RANAP_ProcedureCode_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ProcedureCode_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ProtocolExtensionID.c b/src/ranap/RANAP_ProtocolExtensionID.c
new file mode 100644
index 0000000..b7bd0a3
--- /dev/null
+++ b/src/ranap/RANAP_ProtocolExtensionID.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-CommonDataTypes"
+ * found in "../../asn1/ranap/RANAP-CommonDataTypes.asn"
+ */
+
+#include "RANAP_ProtocolExtensionID.h"
+
+int
+RANAP_ProtocolExtensionID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 65535l)) {
+ /* 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 void
+RANAP_ProtocolExtensionID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_ProtocolExtensionID_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_ProtocolExtensionID_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_ProtocolExtensionID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ProtocolExtensionID_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ProtocolExtensionID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_ProtocolExtensionID_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_ProtocolExtensionID_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ProtocolExtensionID_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ProtocolExtensionID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_ProtocolExtensionID_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_ProtocolExtensionID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ProtocolExtensionID_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ProtocolExtensionID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ProtocolExtensionID_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_ProtocolExtensionID_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ProtocolExtensionID_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_ProtocolExtensionID_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ProtocolExtensionID_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_ProtocolExtensionID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ProtocolExtensionID_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_ProtocolExtensionID_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_ProtocolExtensionID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ProtocolExtensionID = {
+ "RANAP_ProtocolExtensionID",
+ "RANAP_ProtocolExtensionID",
+ RANAP_ProtocolExtensionID_free,
+ RANAP_ProtocolExtensionID_print,
+ RANAP_ProtocolExtensionID_constraint,
+ RANAP_ProtocolExtensionID_decode_ber,
+ RANAP_ProtocolExtensionID_encode_der,
+ RANAP_ProtocolExtensionID_decode_xer,
+ RANAP_ProtocolExtensionID_encode_xer,
+ RANAP_ProtocolExtensionID_decode_uper,
+ RANAP_ProtocolExtensionID_encode_uper,
+ RANAP_ProtocolExtensionID_decode_aper,
+ RANAP_ProtocolExtensionID_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ProtocolExtensionID_tags_1,
+ sizeof(asn_DEF_RANAP_ProtocolExtensionID_tags_1)
+ /sizeof(asn_DEF_RANAP_ProtocolExtensionID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ProtocolExtensionID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ProtocolExtensionID_tags_1)
+ /sizeof(asn_DEF_RANAP_ProtocolExtensionID_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_ProtocolExtensionID_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_ProtocolExtensionID.h b/src/ranap/RANAP_ProtocolExtensionID.h
new file mode 100644
index 0000000..83c5226
--- /dev/null
+++ b/src/ranap/RANAP_ProtocolExtensionID.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-CommonDataTypes"
+ * found in "../../asn1/ranap/RANAP-CommonDataTypes.asn"
+ */
+
+#ifndef _RANAP_ProtocolExtensionID_H_
+#define _RANAP_ProtocolExtensionID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_ProtocolExtensionID */
+typedef long RANAP_ProtocolExtensionID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ProtocolExtensionID;
+asn_struct_free_f RANAP_ProtocolExtensionID_free;
+asn_struct_print_f RANAP_ProtocolExtensionID_print;
+asn_constr_check_f RANAP_ProtocolExtensionID_constraint;
+ber_type_decoder_f RANAP_ProtocolExtensionID_decode_ber;
+der_type_encoder_f RANAP_ProtocolExtensionID_encode_der;
+xer_type_decoder_f RANAP_ProtocolExtensionID_decode_xer;
+xer_type_encoder_f RANAP_ProtocolExtensionID_encode_xer;
+per_type_decoder_f RANAP_ProtocolExtensionID_decode_uper;
+per_type_encoder_f RANAP_ProtocolExtensionID_encode_uper;
+per_type_decoder_f RANAP_ProtocolExtensionID_decode_aper;
+per_type_encoder_f RANAP_ProtocolExtensionID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ProtocolExtensionID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ProtocolIE-ID.c b/src/ranap/RANAP_ProtocolIE-ID.c
new file mode 100644
index 0000000..802b811
--- /dev/null
+++ b/src/ranap/RANAP_ProtocolIE-ID.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-CommonDataTypes"
+ * found in "../../asn1/ranap/RANAP-CommonDataTypes.asn"
+ */
+
+#include "RANAP_ProtocolIE-ID.h"
+
+int
+RANAP_ProtocolIE_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 65535l)) {
+ /* 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 void
+RANAP_ProtocolIE_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_ProtocolIE_ID_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_ProtocolIE_ID_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_ProtocolIE_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ProtocolIE_ID_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ProtocolIE_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_ProtocolIE_ID_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_ProtocolIE_ID_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ProtocolIE_ID_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ProtocolIE_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_ProtocolIE_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_ProtocolIE_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ProtocolIE_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ProtocolIE_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ProtocolIE_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_ProtocolIE_ID_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ProtocolIE_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_ProtocolIE_ID_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ProtocolIE_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_ProtocolIE_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ProtocolIE_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_ProtocolIE_ID_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_ProtocolIE_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ProtocolIE_ID = {
+ "RANAP_ProtocolIE-ID",
+ "RANAP_ProtocolIE-ID",
+ RANAP_ProtocolIE_ID_free,
+ RANAP_ProtocolIE_ID_print,
+ RANAP_ProtocolIE_ID_constraint,
+ RANAP_ProtocolIE_ID_decode_ber,
+ RANAP_ProtocolIE_ID_encode_der,
+ RANAP_ProtocolIE_ID_decode_xer,
+ RANAP_ProtocolIE_ID_encode_xer,
+ RANAP_ProtocolIE_ID_decode_uper,
+ RANAP_ProtocolIE_ID_encode_uper,
+ RANAP_ProtocolIE_ID_decode_aper,
+ RANAP_ProtocolIE_ID_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ProtocolIE_ID_tags_1,
+ sizeof(asn_DEF_RANAP_ProtocolIE_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_ProtocolIE_ID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ProtocolIE_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ProtocolIE_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_ProtocolIE_ID_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_ProtocolIE_ID_constr_1,
+ 0, 0, /* Defined elsewhere */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_ProtocolIE-ID.h b/src/ranap/RANAP_ProtocolIE-ID.h
new file mode 100644
index 0000000..9dbbc03
--- /dev/null
+++ b/src/ranap/RANAP_ProtocolIE-ID.h
@@ -0,0 +1,318 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-CommonDataTypes"
+ * found in "../../asn1/ranap/RANAP-CommonDataTypes.asn"
+ */
+
+#ifndef _RANAP_ProtocolIE_ID_H_
+#define _RANAP_ProtocolIE_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_ProtocolIE_ID {
+ RANAP_ProtocolIE_ID_id_AreaIdentity = 0,
+ RANAP_ProtocolIE_ID_id_CN_DomainIndicator = 3,
+ RANAP_ProtocolIE_ID_id_Cause = 4,
+ RANAP_ProtocolIE_ID_id_ChosenEncryptionAlgorithm = 5,
+ RANAP_ProtocolIE_ID_id_ChosenIntegrityProtectionAlgorithm = 6,
+ RANAP_ProtocolIE_ID_id_ClassmarkInformation2 = 7,
+ RANAP_ProtocolIE_ID_id_ClassmarkInformation3 = 8,
+ RANAP_ProtocolIE_ID_id_CriticalityDiagnostics = 9,
+ RANAP_ProtocolIE_ID_id_DL_GTP_PDU_SequenceNumber = 10,
+ RANAP_ProtocolIE_ID_id_EncryptionInformation = 11,
+ RANAP_ProtocolIE_ID_id_IntegrityProtectionInformation = 12,
+ RANAP_ProtocolIE_ID_id_IuTransportAssociation = 13,
+ RANAP_ProtocolIE_ID_id_L3_Information = 14,
+ RANAP_ProtocolIE_ID_id_LAI = 15,
+ RANAP_ProtocolIE_ID_id_NAS_PDU = 16,
+ RANAP_ProtocolIE_ID_id_NonSearchingIndication = 17,
+ RANAP_ProtocolIE_ID_id_NumberOfSteps = 18,
+ RANAP_ProtocolIE_ID_id_OMC_ID = 19,
+ RANAP_ProtocolIE_ID_id_OldBSS_ToNewBSS_Information = 20,
+ RANAP_ProtocolIE_ID_id_PagingAreaID = 21,
+ RANAP_ProtocolIE_ID_id_PagingCause = 22,
+ RANAP_ProtocolIE_ID_id_PermanentNAS_UE_ID = 23,
+ RANAP_ProtocolIE_ID_id_RAB_ContextItem = 24,
+ RANAP_ProtocolIE_ID_id_RAB_ContextList = 25,
+ RANAP_ProtocolIE_ID_id_RAB_DataForwardingItem = 26,
+ RANAP_ProtocolIE_ID_id_RAB_DataForwardingItem_SRNS_CtxReq = 27,
+ RANAP_ProtocolIE_ID_id_RAB_DataForwardingList = 28,
+ RANAP_ProtocolIE_ID_id_RAB_DataForwardingList_SRNS_CtxReq = 29,
+ RANAP_ProtocolIE_ID_id_RAB_DataVolumeReportItem = 30,
+ RANAP_ProtocolIE_ID_id_RAB_DataVolumeReportList = 31,
+ RANAP_ProtocolIE_ID_id_RAB_DataVolumeReportRequestItem = 32,
+ RANAP_ProtocolIE_ID_id_RAB_DataVolumeReportRequestList = 33,
+ RANAP_ProtocolIE_ID_id_RAB_FailedItem = 34,
+ RANAP_ProtocolIE_ID_id_RAB_FailedList = 35,
+ RANAP_ProtocolIE_ID_id_RAB_ID = 36,
+ RANAP_ProtocolIE_ID_id_RAB_QueuedItem = 37,
+ RANAP_ProtocolIE_ID_id_RAB_QueuedList = 38,
+ RANAP_ProtocolIE_ID_id_RAB_ReleaseFailedList = 39,
+ RANAP_ProtocolIE_ID_id_RAB_ReleaseItem = 40,
+ RANAP_ProtocolIE_ID_id_RAB_ReleaseList = 41,
+ RANAP_ProtocolIE_ID_id_RAB_ReleasedItem = 42,
+ RANAP_ProtocolIE_ID_id_RAB_ReleasedList = 43,
+ RANAP_ProtocolIE_ID_id_RAB_ReleasedList_IuRelComp = 44,
+ RANAP_ProtocolIE_ID_id_RAB_RelocationReleaseItem = 45,
+ RANAP_ProtocolIE_ID_id_RAB_RelocationReleaseList = 46,
+ RANAP_ProtocolIE_ID_id_RAB_SetupItem_RelocReq = 47,
+ RANAP_ProtocolIE_ID_id_RAB_SetupItem_RelocReqAck = 48,
+ RANAP_ProtocolIE_ID_id_RAB_SetupList_RelocReq = 49,
+ RANAP_ProtocolIE_ID_id_RAB_SetupList_RelocReqAck = 50,
+ RANAP_ProtocolIE_ID_id_RAB_SetupOrModifiedItem = 51,
+ RANAP_ProtocolIE_ID_id_RAB_SetupOrModifiedList = 52,
+ RANAP_ProtocolIE_ID_id_RAB_SetupOrModifyItem = 53,
+ RANAP_ProtocolIE_ID_id_RAB_SetupOrModifyList = 54,
+ RANAP_ProtocolIE_ID_id_RAC = 55,
+ RANAP_ProtocolIE_ID_id_RelocationType = 56,
+ RANAP_ProtocolIE_ID_id_RequestType = 57,
+ RANAP_ProtocolIE_ID_id_SAI = 58,
+ RANAP_ProtocolIE_ID_id_SAPI = 59,
+ RANAP_ProtocolIE_ID_id_SourceID = 60,
+ RANAP_ProtocolIE_ID_id_Source_ToTarget_TransparentContainer = 61,
+ RANAP_ProtocolIE_ID_id_TargetID = 62,
+ RANAP_ProtocolIE_ID_id_Target_ToSource_TransparentContainer = 63,
+ RANAP_ProtocolIE_ID_id_TemporaryUE_ID = 64,
+ RANAP_ProtocolIE_ID_id_TraceReference = 65,
+ RANAP_ProtocolIE_ID_id_TraceType = 66,
+ RANAP_ProtocolIE_ID_id_TransportLayerAddress = 67,
+ RANAP_ProtocolIE_ID_id_TriggerID = 68,
+ RANAP_ProtocolIE_ID_id_UE_ID = 69,
+ RANAP_ProtocolIE_ID_id_UL_GTP_PDU_SequenceNumber = 70,
+ RANAP_ProtocolIE_ID_id_RAB_FailedtoReportItem = 71,
+ RANAP_ProtocolIE_ID_id_RAB_FailedtoReportList = 72,
+ RANAP_ProtocolIE_ID_id_KeyStatus = 75,
+ RANAP_ProtocolIE_ID_id_DRX_CycleLengthCoefficient = 76,
+ RANAP_ProtocolIE_ID_id_IuSigConIdList = 77,
+ RANAP_ProtocolIE_ID_id_IuSigConIdItem = 78,
+ RANAP_ProtocolIE_ID_id_IuSigConId = 79,
+ RANAP_ProtocolIE_ID_id_DirectTransferInformationItem_RANAP_RelocInf = 80,
+ RANAP_ProtocolIE_ID_id_DirectTransferInformationList_RANAP_RelocInf = 81,
+ RANAP_ProtocolIE_ID_id_RAB_ContextItem_RANAP_RelocInf = 82,
+ RANAP_ProtocolIE_ID_id_RAB_ContextList_RANAP_RelocInf = 83,
+ RANAP_ProtocolIE_ID_id_RAB_ContextFailedtoTransferItem = 84,
+ RANAP_ProtocolIE_ID_id_RAB_ContextFailedtoTransferList = 85,
+ RANAP_ProtocolIE_ID_id_GlobalRNC_ID = 86,
+ RANAP_ProtocolIE_ID_id_RAB_ReleasedItem_IuRelComp = 87,
+ RANAP_ProtocolIE_ID_id_MessageStructure = 88,
+ RANAP_ProtocolIE_ID_id_Alt_RAB_Parameters = 89,
+ RANAP_ProtocolIE_ID_id_Ass_RAB_Parameters = 90,
+ RANAP_ProtocolIE_ID_id_RAB_ModifyList = 91,
+ RANAP_ProtocolIE_ID_id_RAB_ModifyItem = 92,
+ RANAP_ProtocolIE_ID_id_TypeOfError = 93,
+ RANAP_ProtocolIE_ID_id_BroadcastAssistanceDataDecipheringKeys = 94,
+ RANAP_ProtocolIE_ID_id_LocationRelatedDataRequestType = 95,
+ RANAP_ProtocolIE_ID_id_GlobalCN_ID = 96,
+ RANAP_ProtocolIE_ID_id_LastKnownServiceArea = 97,
+ RANAP_ProtocolIE_ID_id_SRB_TrCH_Mapping = 98,
+ RANAP_ProtocolIE_ID_id_InterSystemInformation_TransparentContainer = 99,
+ RANAP_ProtocolIE_ID_id_NewBSS_To_OldBSS_Information = 100,
+ RANAP_ProtocolIE_ID_id_SourceRNC_PDCP_context_info = 103,
+ RANAP_ProtocolIE_ID_id_InformationTransferID = 104,
+ RANAP_ProtocolIE_ID_id_SNA_Access_Information = 105,
+ RANAP_ProtocolIE_ID_id_ProvidedData = 106,
+ RANAP_ProtocolIE_ID_id_GERAN_BSC_Container = 107,
+ RANAP_ProtocolIE_ID_id_GERAN_Classmark = 108,
+ RANAP_ProtocolIE_ID_id_GERAN_Iumode_RAB_Failed_RABAssgntResponse_Item = 109,
+ RANAP_ProtocolIE_ID_id_GERAN_Iumode_RAB_FailedList_RABAssgntResponse = 110,
+ RANAP_ProtocolIE_ID_id_VerticalAccuracyCode = 111,
+ RANAP_ProtocolIE_ID_id_ResponseTime = 112,
+ RANAP_ProtocolIE_ID_id_PositioningPriority = 113,
+ RANAP_ProtocolIE_ID_id_ClientType = 114,
+ RANAP_ProtocolIE_ID_id_LocationRelatedDataRequestTypeSpecificToGERANIuMode = 115,
+ RANAP_ProtocolIE_ID_id_SignallingIndication = 116,
+ RANAP_ProtocolIE_ID_id_hS_DSCH_MAC_d_Flow_ID = 117,
+ RANAP_ProtocolIE_ID_id_UESBI_Iu = 118,
+ RANAP_ProtocolIE_ID_id_PositionData = 119,
+ RANAP_ProtocolIE_ID_id_PositionDataSpecificToGERANIuMode = 120,
+ RANAP_ProtocolIE_ID_id_CellLoadInformationGroup = 121,
+ RANAP_ProtocolIE_ID_id_AccuracyFulfilmentIndicator = 122,
+ RANAP_ProtocolIE_ID_id_InformationTransferType = 123,
+ RANAP_ProtocolIE_ID_id_TraceRecordingSessionInformation = 124,
+ RANAP_ProtocolIE_ID_id_TracePropagationParameters = 125,
+ RANAP_ProtocolIE_ID_id_InterSystemInformationTransferType = 126,
+ RANAP_ProtocolIE_ID_id_SelectedPLMN_ID = 127,
+ RANAP_ProtocolIE_ID_id_RedirectionCompleted = 128,
+ RANAP_ProtocolIE_ID_id_RedirectionIndication = 129,
+ RANAP_ProtocolIE_ID_id_NAS_SequenceNumber = 130,
+ RANAP_ProtocolIE_ID_id_RejectCauseValue = 131,
+ RANAP_ProtocolIE_ID_id_APN = 132,
+ RANAP_ProtocolIE_ID_id_CNMBMSLinkingInformation = 133,
+ RANAP_ProtocolIE_ID_id_DeltaRAListofIdleModeUEs = 134,
+ RANAP_ProtocolIE_ID_id_FrequenceLayerConvergenceFlag = 135,
+ RANAP_ProtocolIE_ID_id_InformationExchangeID = 136,
+ RANAP_ProtocolIE_ID_id_InformationExchangeType = 137,
+ RANAP_ProtocolIE_ID_id_InformationRequested = 138,
+ RANAP_ProtocolIE_ID_id_InformationRequestType = 139,
+ RANAP_ProtocolIE_ID_id_IPMulticastAddress = 140,
+ RANAP_ProtocolIE_ID_id_JoinedMBMSBearerServicesList = 141,
+ RANAP_ProtocolIE_ID_id_LeftMBMSBearerServicesList = 142,
+ RANAP_ProtocolIE_ID_id_MBMSBearerServiceType = 143,
+ RANAP_ProtocolIE_ID_id_MBMSCNDe_Registration = 144,
+ RANAP_ProtocolIE_ID_id_MBMSServiceArea = 145,
+ RANAP_ProtocolIE_ID_id_MBMSSessionDuration = 146,
+ RANAP_ProtocolIE_ID_id_MBMSSessionIdentity = 147,
+ RANAP_ProtocolIE_ID_id_PDP_TypeInformation = 148,
+ RANAP_ProtocolIE_ID_id_RAB_Parameters = 149,
+ RANAP_ProtocolIE_ID_id_RAListofIdleModeUEs = 150,
+ RANAP_ProtocolIE_ID_id_MBMSRegistrationRequestType = 151,
+ RANAP_ProtocolIE_ID_id_SessionUpdateID = 152,
+ RANAP_ProtocolIE_ID_id_TMGI = 153,
+ RANAP_ProtocolIE_ID_id_TransportLayerInformation = 154,
+ RANAP_ProtocolIE_ID_id_UnsuccessfulLinkingList = 155,
+ RANAP_ProtocolIE_ID_id_MBMSLinkingInformation = 156,
+ RANAP_ProtocolIE_ID_id_MBMSSessionRepetitionNumber = 157,
+ RANAP_ProtocolIE_ID_id_AlternativeRABConfiguration = 158,
+ RANAP_ProtocolIE_ID_id_AlternativeRABConfigurationRequest = 159,
+ RANAP_ProtocolIE_ID_id_E_DCH_MAC_d_Flow_ID = 160,
+ RANAP_ProtocolIE_ID_id_SourceBSS_ToTargetBSS_TransparentContainer = 161,
+ RANAP_ProtocolIE_ID_id_TargetBSS_ToSourceBSS_TransparentContainer = 162,
+ RANAP_ProtocolIE_ID_id_TimeToMBMSDataTransfer = 163,
+ RANAP_ProtocolIE_ID_id_IncludeVelocity = 164,
+ RANAP_ProtocolIE_ID_id_VelocityEstimate = 165,
+ RANAP_ProtocolIE_ID_id_RedirectAttemptFlag = 166,
+ RANAP_ProtocolIE_ID_id_RAT_Type = 167,
+ RANAP_ProtocolIE_ID_id_PeriodicLocationInfo = 168,
+ RANAP_ProtocolIE_ID_id_MBMSCountingInformation = 169,
+ RANAP_ProtocolIE_ID_id_170_not_to_be_used_for_IE_ids = 170,
+ RANAP_ProtocolIE_ID_id_ExtendedRNC_ID = 171,
+ RANAP_ProtocolIE_ID_id_Alt_RAB_Parameter_ExtendedGuaranteedBitrateInf = 172,
+ RANAP_ProtocolIE_ID_id_Alt_RAB_Parameter_ExtendedMaxBitrateInf = 173,
+ RANAP_ProtocolIE_ID_id_Ass_RAB_Parameter_ExtendedGuaranteedBitrateList = 174,
+ RANAP_ProtocolIE_ID_id_Ass_RAB_Parameter_ExtendedMaxBitrateList = 175,
+ RANAP_ProtocolIE_ID_id_RAB_Parameter_ExtendedGuaranteedBitrateList = 176,
+ RANAP_ProtocolIE_ID_id_RAB_Parameter_ExtendedMaxBitrateList = 177,
+ RANAP_ProtocolIE_ID_id_Requested_RAB_Parameter_ExtendedMaxBitrateList = 178,
+ RANAP_ProtocolIE_ID_id_Requested_RAB_Parameter_ExtendedGuaranteedBitrateList = 179,
+ RANAP_ProtocolIE_ID_id_LAofIdleModeUEs = 180,
+ RANAP_ProtocolIE_ID_id_newLAListofIdleModeUEs = 181,
+ RANAP_ProtocolIE_ID_id_LAListwithNoIdleModeUEsAnyMore = 182,
+ RANAP_ProtocolIE_ID_id_183_not_to_be_used_for_IE_ids = 183,
+ RANAP_ProtocolIE_ID_id_GANSS_PositioningDataSet = 184,
+ RANAP_ProtocolIE_ID_id_RequestedGANSSAssistanceData = 185,
+ RANAP_ProtocolIE_ID_id_BroadcastGANSSAssistanceDataDecipheringKeys = 186,
+ RANAP_ProtocolIE_ID_id_d_RNTI_for_NoIuCSUP = 187,
+ RANAP_ProtocolIE_ID_id_RAB_SetupList_EnhancedRelocCompleteReq = 188,
+ RANAP_ProtocolIE_ID_id_RAB_SetupItem_EnhancedRelocCompleteReq = 189,
+ RANAP_ProtocolIE_ID_id_RAB_SetupList_EnhancedRelocCompleteRes = 190,
+ RANAP_ProtocolIE_ID_id_RAB_SetupItem_EnhancedRelocCompleteRes = 191,
+ RANAP_ProtocolIE_ID_id_RAB_SetupList_EnhRelocInfoReq = 192,
+ RANAP_ProtocolIE_ID_id_RAB_SetupItem_EnhRelocInfoReq = 193,
+ RANAP_ProtocolIE_ID_id_RAB_SetupList_EnhRelocInfoRes = 194,
+ RANAP_ProtocolIE_ID_id_RAB_SetupItem_EnhRelocInfoRes = 195,
+ RANAP_ProtocolIE_ID_id_OldIuSigConId = 196,
+ RANAP_ProtocolIE_ID_id_RAB_FailedList_EnhRelocInfoRes = 197,
+ RANAP_ProtocolIE_ID_id_RAB_FailedItem_EnhRelocInfoRes = 198,
+ RANAP_ProtocolIE_ID_id_Global_ENB_ID = 199,
+ RANAP_ProtocolIE_ID_id_UE_History_Information = 200,
+ RANAP_ProtocolIE_ID_id_MBMSSynchronisationInformation = 201,
+ RANAP_ProtocolIE_ID_id_SubscriberProfileIDforRFP = 202,
+ RANAP_ProtocolIE_ID_id_CSG_Id = 203,
+ RANAP_ProtocolIE_ID_id_OldIuSigConIdCS = 204,
+ RANAP_ProtocolIE_ID_id_OldIuSigConIdPS = 205,
+ RANAP_ProtocolIE_ID_id_GlobalCN_IDCS = 206,
+ RANAP_ProtocolIE_ID_id_GlobalCN_IDPS = 207,
+ RANAP_ProtocolIE_ID_id_SourceExtendedRNC_ID = 208,
+ RANAP_ProtocolIE_ID_id_RAB_ToBeReleasedItem_EnhancedRelocCompleteRes = 209,
+ RANAP_ProtocolIE_ID_id_RAB_ToBeReleasedList_EnhancedRelocCompleteRes = 210,
+ RANAP_ProtocolIE_ID_id_SourceRNC_ID = 211,
+ RANAP_ProtocolIE_ID_id_Relocation_TargetRNC_ID = 212,
+ RANAP_ProtocolIE_ID_id_Relocation_TargetExtendedRNC_ID = 213,
+ RANAP_ProtocolIE_ID_id_Alt_RAB_Parameter_SupportedGuaranteedBitrateInf = 214,
+ RANAP_ProtocolIE_ID_id_Alt_RAB_Parameter_SupportedMaxBitrateInf = 215,
+ RANAP_ProtocolIE_ID_id_Ass_RAB_Parameter_SupportedGuaranteedBitrateList = 216,
+ RANAP_ProtocolIE_ID_id_Ass_RAB_Parameter_SupportedMaxBitrateList = 217,
+ RANAP_ProtocolIE_ID_id_RAB_Parameter_SupportedGuaranteedBitrateList = 218,
+ RANAP_ProtocolIE_ID_id_RAB_Parameter_SupportedMaxBitrateList = 219,
+ RANAP_ProtocolIE_ID_id_Requested_RAB_Parameter_SupportedMaxBitrateList = 220,
+ RANAP_ProtocolIE_ID_id_Requested_RAB_Parameter_SupportedGuaranteedBitrateList = 221,
+ RANAP_ProtocolIE_ID_id_Relocation_SourceRNC_ID = 222,
+ RANAP_ProtocolIE_ID_id_Relocation_SourceExtendedRNC_ID = 223,
+ RANAP_ProtocolIE_ID_id_EncryptionKey = 224,
+ RANAP_ProtocolIE_ID_id_IntegrityProtectionKey = 225,
+ RANAP_ProtocolIE_ID_id_SRVCC_HO_Indication = 226,
+ RANAP_ProtocolIE_ID_id_SRVCC_Information = 227,
+ RANAP_ProtocolIE_ID_id_SRVCC_Operation_Possible = 228,
+ RANAP_ProtocolIE_ID_id_CSG_Id_List = 229,
+ RANAP_ProtocolIE_ID_id_PSRABtobeReplaced = 230,
+ RANAP_ProtocolIE_ID_id_E_UTRAN_Service_Handover = 231,
+ RANAP_ProtocolIE_ID_id_UE_AggregateMaximumBitRate = 233,
+ RANAP_ProtocolIE_ID_id_CSG_Membership_Status = 234,
+ RANAP_ProtocolIE_ID_id_Cell_Access_Mode = 235,
+ RANAP_ProtocolIE_ID_id_IP_Source_Address = 236,
+ RANAP_ProtocolIE_ID_id_CSFB_Information = 237,
+ RANAP_ProtocolIE_ID_id_PDP_TypeInformation_extension = 238,
+ RANAP_ProtocolIE_ID_id_MSISDN = 239,
+ RANAP_ProtocolIE_ID_id_Offload_RAB_Parameters = 240,
+ RANAP_ProtocolIE_ID_id_LGW_TransportLayerAddress = 241,
+ RANAP_ProtocolIE_ID_id_Correlation_ID = 242,
+ RANAP_ProtocolIE_ID_id_IRAT_Measurement_Configuration = 243,
+ RANAP_ProtocolIE_ID_id_MDT_Configuration = 244,
+ RANAP_ProtocolIE_ID_id_Priority_Class_Indicator = 245,
+ RANAP_ProtocolIE_ID_id_RNSAPRelocationParameters = 247,
+ RANAP_ProtocolIE_ID_id_RABParametersList = 248,
+ RANAP_ProtocolIE_ID_id_Management_Based_MDT_Allowed = 249,
+ RANAP_ProtocolIE_ID_id_HigherBitratesThan16MbpsFlag = 250,
+ RANAP_ProtocolIE_ID_id_Trace_Collection_Entity_IP_Addess = 251,
+ RANAP_ProtocolIE_ID_id_End_Of_CSFB = 252,
+ RANAP_ProtocolIE_ID_id_Time_UE_StayedInCell_EnhancedGranularity = 253,
+ RANAP_ProtocolIE_ID_id_Out_Of_UTRAN = 254,
+ RANAP_ProtocolIE_ID_id_TraceRecordingSessionReference = 255,
+ RANAP_ProtocolIE_ID_id_IMSI = 256,
+ RANAP_ProtocolIE_ID_id_HO_Cause = 257,
+ RANAP_ProtocolIE_ID_id_VoiceSupportMatchIndicator = 258,
+ RANAP_ProtocolIE_ID_id_RSRVCC_HO_Indication = 259,
+ RANAP_ProtocolIE_ID_id_RSRVCC_Information = 260,
+ RANAP_ProtocolIE_ID_id_AnchorPLMN_ID = 261,
+ RANAP_ProtocolIE_ID_id_Tunnel_Information_for_BBF = 262,
+ RANAP_ProtocolIE_ID_id_Management_Based_MDT_PLMN_List = 263,
+ RANAP_ProtocolIE_ID_id_SignallingBasedMDTPLMNList = 264,
+ RANAP_ProtocolIE_ID_id_M4Report = 265,
+ RANAP_ProtocolIE_ID_id_M5Report = 266,
+ RANAP_ProtocolIE_ID_id_M6Report = 267,
+ RANAP_ProtocolIE_ID_id_M7Report = 268,
+ RANAP_ProtocolIE_ID_id_TimingDifferenceULDL = 269,
+ RANAP_ProtocolIE_ID_id_Serving_Cell_Identifier = 270,
+ RANAP_ProtocolIE_ID_id_EARFCN_Extended = 271,
+ RANAP_ProtocolIE_ID_id_RSRVCC_Operation_Possible = 272,
+ RANAP_ProtocolIE_ID_id_SIPTO_LGW_TransportLayerAddress = 273,
+ RANAP_ProtocolIE_ID_id_SIPTO_Correlation_ID = 274,
+ RANAP_ProtocolIE_ID_id_LHN_ID = 275,
+ RANAP_ProtocolIE_ID_id_Session_Re_establishment_Indicator = 276,
+ RANAP_ProtocolIE_ID_id_LastE_UTRANPLMNIdentity = 277,
+ RANAP_ProtocolIE_ID_id_RSRQ_Type = 278,
+ RANAP_ProtocolIE_ID_id_RSRQ_Extension = 279
+} e_RANAP_ProtocolIE_ID;
+
+/* RANAP_ProtocolIE-ID */
+typedef long RANAP_ProtocolIE_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ProtocolIE_ID;
+asn_struct_free_f RANAP_ProtocolIE_ID_free;
+asn_struct_print_f RANAP_ProtocolIE_ID_print;
+asn_constr_check_f RANAP_ProtocolIE_ID_constraint;
+ber_type_decoder_f RANAP_ProtocolIE_ID_decode_ber;
+der_type_encoder_f RANAP_ProtocolIE_ID_encode_der;
+xer_type_decoder_f RANAP_ProtocolIE_ID_decode_xer;
+xer_type_encoder_f RANAP_ProtocolIE_ID_encode_xer;
+per_type_decoder_f RANAP_ProtocolIE_ID_decode_uper;
+per_type_encoder_f RANAP_ProtocolIE_ID_encode_uper;
+per_type_decoder_f RANAP_ProtocolIE_ID_decode_aper;
+per_type_encoder_f RANAP_ProtocolIE_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ProtocolIE_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ProvidedData.c b/src/ranap/RANAP_ProvidedData.c
new file mode 100644
index 0000000..2354cc4
--- /dev/null
+++ b/src/ranap/RANAP_ProvidedData.c
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_ProvidedData.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_ProvidedData_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_ProvidedData_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_ProvidedData, choice.shared_network_information),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Shared_Network_Information,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "shared-network-information"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_ProvidedData_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* shared-network-information */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_ProvidedData_specs_1 = {
+ sizeof(struct RANAP_ProvidedData),
+ offsetof(struct RANAP_ProvidedData, _asn_ctx),
+ offsetof(struct RANAP_ProvidedData, present),
+ sizeof(((struct RANAP_ProvidedData *)0)->present),
+ asn_MAP_RANAP_ProvidedData_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0,
+ 1 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ProvidedData = {
+ "RANAP_ProvidedData",
+ "RANAP_ProvidedData",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_ProvidedData_constr_1,
+ asn_MBR_RANAP_ProvidedData_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_ProvidedData_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_ProvidedData.h b/src/ranap/RANAP_ProvidedData.h
new file mode 100644
index 0000000..f35659f
--- /dev/null
+++ b/src/ranap/RANAP_ProvidedData.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_ProvidedData_H_
+#define _RANAP_ProvidedData_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_Shared-Network-Information.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_ProvidedData_PR {
+ RANAP_ProvidedData_PR_NOTHING, /* No components present */
+ RANAP_ProvidedData_PR_shared_network_information,
+ /* Extensions may appear below */
+
+} RANAP_ProvidedData_PR;
+
+/* RANAP_ProvidedData */
+typedef struct RANAP_ProvidedData {
+ RANAP_ProvidedData_PR present;
+ union RANAP_ProvidedData_u {
+ RANAP_Shared_Network_Information_t shared_network_information;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_ProvidedData_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ProvidedData;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ProvidedData_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_QueuingAllowed.c b/src/ranap/RANAP_QueuingAllowed.c
new file mode 100644
index 0000000..6244198
--- /dev/null
+++ b/src/ranap/RANAP_QueuingAllowed.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_QueuingAllowed.h"
+
+int
+RANAP_QueuingAllowed_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_QueuingAllowed_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_QueuingAllowed_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_QueuingAllowed_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_QueuingAllowed_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_QueuingAllowed_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_QueuingAllowed_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_QueuingAllowed_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_QueuingAllowed_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_QueuingAllowed_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_QueuingAllowed_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_QueuingAllowed_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_QueuingAllowed_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_QueuingAllowed_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_QueuingAllowed_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_QueuingAllowed_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_QueuingAllowed_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_QueuingAllowed_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_QueuingAllowed_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_QueuingAllowed_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_QueuingAllowed_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_QueuingAllowed_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_QueuingAllowed_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_QueuingAllowed_value2enum_1[] = {
+ { 0, 20, "queueing-not-allowed" },
+ { 1, 16, "queueing-allowed" }
+};
+static const unsigned int asn_MAP_RANAP_QueuingAllowed_enum2value_1[] = {
+ 1, /* queueing-allowed(1) */
+ 0 /* queueing-not-allowed(0) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_QueuingAllowed_specs_1 = {
+ asn_MAP_RANAP_QueuingAllowed_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_QueuingAllowed_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_RANAP_QueuingAllowed_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_QueuingAllowed = {
+ "RANAP_QueuingAllowed",
+ "RANAP_QueuingAllowed",
+ RANAP_QueuingAllowed_free,
+ RANAP_QueuingAllowed_print,
+ RANAP_QueuingAllowed_constraint,
+ RANAP_QueuingAllowed_decode_ber,
+ RANAP_QueuingAllowed_encode_der,
+ RANAP_QueuingAllowed_decode_xer,
+ RANAP_QueuingAllowed_encode_xer,
+ RANAP_QueuingAllowed_decode_uper,
+ RANAP_QueuingAllowed_encode_uper,
+ RANAP_QueuingAllowed_decode_aper,
+ RANAP_QueuingAllowed_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_QueuingAllowed_tags_1,
+ sizeof(asn_DEF_RANAP_QueuingAllowed_tags_1)
+ /sizeof(asn_DEF_RANAP_QueuingAllowed_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_QueuingAllowed_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_QueuingAllowed_tags_1)
+ /sizeof(asn_DEF_RANAP_QueuingAllowed_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_QueuingAllowed_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_QueuingAllowed_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_QueuingAllowed.h b/src/ranap/RANAP_QueuingAllowed.h
new file mode 100644
index 0000000..3cf03c8
--- /dev/null
+++ b/src/ranap/RANAP_QueuingAllowed.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_QueuingAllowed_H_
+#define _RANAP_QueuingAllowed_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_QueuingAllowed {
+ RANAP_QueuingAllowed_queueing_not_allowed = 0,
+ RANAP_QueuingAllowed_queueing_allowed = 1
+} e_RANAP_QueuingAllowed;
+
+/* RANAP_QueuingAllowed */
+typedef long RANAP_QueuingAllowed_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_QueuingAllowed;
+asn_struct_free_f RANAP_QueuingAllowed_free;
+asn_struct_print_f RANAP_QueuingAllowed_print;
+asn_constr_check_f RANAP_QueuingAllowed_constraint;
+ber_type_decoder_f RANAP_QueuingAllowed_decode_ber;
+der_type_encoder_f RANAP_QueuingAllowed_encode_der;
+xer_type_decoder_f RANAP_QueuingAllowed_decode_xer;
+xer_type_encoder_f RANAP_QueuingAllowed_encode_xer;
+per_type_decoder_f RANAP_QueuingAllowed_decode_uper;
+per_type_encoder_f RANAP_QueuingAllowed_encode_uper;
+per_type_decoder_f RANAP_QueuingAllowed_decode_aper;
+per_type_encoder_f RANAP_QueuingAllowed_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_QueuingAllowed_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RAB-AssignmentRequest.c b/src/ranap/RANAP_RAB-AssignmentRequest.c
new file mode 100644
index 0000000..6d5c90e
--- /dev/null
+++ b/src/ranap/RANAP_RAB-AssignmentRequest.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_RAB-AssignmentRequest.h"
+
+static int
+memb_rAB_AssignmentRequest_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_rAB_AssignmentRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_rAB_AssignmentRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_rAB_AssignmentRequest_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_rAB_AssignmentRequest_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_rAB_AssignmentRequest_ies_specs_2 = {
+ sizeof(struct rAB_AssignmentRequest_ies),
+ offsetof(struct rAB_AssignmentRequest_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_rAB_AssignmentRequest_ies_2 = {
+ "rAB-AssignmentRequest-ies",
+ "rAB-AssignmentRequest-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_rAB_AssignmentRequest_ies_tags_2,
+ sizeof(asn_DEF_rAB_AssignmentRequest_ies_tags_2)
+ /sizeof(asn_DEF_rAB_AssignmentRequest_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_rAB_AssignmentRequest_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_rAB_AssignmentRequest_ies_tags_2)
+ /sizeof(asn_DEF_rAB_AssignmentRequest_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_rAB_AssignmentRequest_ies_constr_2,
+ asn_MBR_rAB_AssignmentRequest_ies_2,
+ 1, /* Single element */
+ &asn_SPC_rAB_AssignmentRequest_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_RAB_AssignmentRequest_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RAB_AssignmentRequest, rAB_AssignmentRequest_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_rAB_AssignmentRequest_ies_2,
+ memb_rAB_AssignmentRequest_ies_constraint_1,
+ &asn_PER_memb_rAB_AssignmentRequest_ies_constr_2,
+ 0,
+ "rAB-AssignmentRequest-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RAB_AssignmentRequest_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RAB_AssignmentRequest_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* rAB-AssignmentRequest-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RAB_AssignmentRequest_specs_1 = {
+ sizeof(struct RANAP_RAB_AssignmentRequest),
+ offsetof(struct RANAP_RAB_AssignmentRequest, _asn_ctx),
+ asn_MAP_RANAP_RAB_AssignmentRequest_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_AssignmentRequest = {
+ "RANAP_RAB-AssignmentRequest",
+ "RANAP_RAB-AssignmentRequest",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RAB_AssignmentRequest_tags_1,
+ sizeof(asn_DEF_RANAP_RAB_AssignmentRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_AssignmentRequest_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RAB_AssignmentRequest_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RAB_AssignmentRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_AssignmentRequest_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RAB_AssignmentRequest_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_RAB_AssignmentRequest_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RAB-AssignmentRequest.h b/src/ranap/RANAP_RAB-AssignmentRequest.h
new file mode 100644
index 0000000..60c84ac
--- /dev/null
+++ b/src/ranap/RANAP_RAB-AssignmentRequest.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_RAB_AssignmentRequest_H_
+#define _RANAP_RAB_AssignmentRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RAB-AssignmentRequest */
+typedef struct RANAP_RAB_AssignmentRequest {
+ struct rAB_AssignmentRequest_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } rAB_AssignmentRequest_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RAB_AssignmentRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_AssignmentRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RAB_AssignmentRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RAB-AssignmentResponse.c b/src/ranap/RANAP_RAB-AssignmentResponse.c
new file mode 100644
index 0000000..a1565b1
--- /dev/null
+++ b/src/ranap/RANAP_RAB-AssignmentResponse.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_RAB-AssignmentResponse.h"
+
+static int
+memb_rAB_AssignmentResponse_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_rAB_AssignmentResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_rAB_AssignmentResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_rAB_AssignmentResponse_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_rAB_AssignmentResponse_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_rAB_AssignmentResponse_ies_specs_2 = {
+ sizeof(struct rAB_AssignmentResponse_ies),
+ offsetof(struct rAB_AssignmentResponse_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_rAB_AssignmentResponse_ies_2 = {
+ "rAB-AssignmentResponse-ies",
+ "rAB-AssignmentResponse-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_rAB_AssignmentResponse_ies_tags_2,
+ sizeof(asn_DEF_rAB_AssignmentResponse_ies_tags_2)
+ /sizeof(asn_DEF_rAB_AssignmentResponse_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_rAB_AssignmentResponse_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_rAB_AssignmentResponse_ies_tags_2)
+ /sizeof(asn_DEF_rAB_AssignmentResponse_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_rAB_AssignmentResponse_ies_constr_2,
+ asn_MBR_rAB_AssignmentResponse_ies_2,
+ 1, /* Single element */
+ &asn_SPC_rAB_AssignmentResponse_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_RAB_AssignmentResponse_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RAB_AssignmentResponse, rAB_AssignmentResponse_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_rAB_AssignmentResponse_ies_2,
+ memb_rAB_AssignmentResponse_ies_constraint_1,
+ &asn_PER_memb_rAB_AssignmentResponse_ies_constr_2,
+ 0,
+ "rAB-AssignmentResponse-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RAB_AssignmentResponse_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RAB_AssignmentResponse_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* rAB-AssignmentResponse-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RAB_AssignmentResponse_specs_1 = {
+ sizeof(struct RANAP_RAB_AssignmentResponse),
+ offsetof(struct RANAP_RAB_AssignmentResponse, _asn_ctx),
+ asn_MAP_RANAP_RAB_AssignmentResponse_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_AssignmentResponse = {
+ "RANAP_RAB-AssignmentResponse",
+ "RANAP_RAB-AssignmentResponse",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RAB_AssignmentResponse_tags_1,
+ sizeof(asn_DEF_RANAP_RAB_AssignmentResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_AssignmentResponse_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RAB_AssignmentResponse_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RAB_AssignmentResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_AssignmentResponse_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RAB_AssignmentResponse_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_RAB_AssignmentResponse_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RAB-AssignmentResponse.h b/src/ranap/RANAP_RAB-AssignmentResponse.h
new file mode 100644
index 0000000..a7e7655
--- /dev/null
+++ b/src/ranap/RANAP_RAB-AssignmentResponse.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_RAB_AssignmentResponse_H_
+#define _RANAP_RAB_AssignmentResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RAB-AssignmentResponse */
+typedef struct RANAP_RAB_AssignmentResponse {
+ struct rAB_AssignmentResponse_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } rAB_AssignmentResponse_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RAB_AssignmentResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_AssignmentResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RAB_AssignmentResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RAB-AsymmetryIndicator.c b/src/ranap/RANAP_RAB-AsymmetryIndicator.c
new file mode 100644
index 0000000..50dafca
--- /dev/null
+++ b/src/ranap/RANAP_RAB-AsymmetryIndicator.c
@@ -0,0 +1,171 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RAB-AsymmetryIndicator.h"
+
+int
+RANAP_RAB_AsymmetryIndicator_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_RAB_AsymmetryIndicator_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_RAB_AsymmetryIndicator_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_RAB_AsymmetryIndicator_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_RAB_AsymmetryIndicator_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RAB_AsymmetryIndicator_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RAB_AsymmetryIndicator_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_RAB_AsymmetryIndicator_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_RAB_AsymmetryIndicator_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RAB_AsymmetryIndicator_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RAB_AsymmetryIndicator_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_RAB_AsymmetryIndicator_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_RAB_AsymmetryIndicator_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RAB_AsymmetryIndicator_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RAB_AsymmetryIndicator_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RAB_AsymmetryIndicator_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_RAB_AsymmetryIndicator_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RAB_AsymmetryIndicator_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_RAB_AsymmetryIndicator_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RAB_AsymmetryIndicator_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_RAB_AsymmetryIndicator_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RAB_AsymmetryIndicator_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_RAB_AsymmetryIndicator_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 3l } /* (0..3,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_RAB_AsymmetryIndicator_value2enum_1[] = {
+ { 0, 23, "symmetric-bidirectional" },
+ { 1, 34, "asymmetric-unidirectional-downlink" },
+ { 2, 32, "asymmetric-unidirectional-uplink" },
+ { 3, 24, "asymmetric-bidirectional" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_RAB_AsymmetryIndicator_enum2value_1[] = {
+ 3, /* asymmetric-bidirectional(3) */
+ 1, /* asymmetric-unidirectional-downlink(1) */
+ 2, /* asymmetric-unidirectional-uplink(2) */
+ 0 /* symmetric-bidirectional(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_RAB_AsymmetryIndicator_specs_1 = {
+ asn_MAP_RANAP_RAB_AsymmetryIndicator_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_RAB_AsymmetryIndicator_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_RANAP_RAB_AsymmetryIndicator_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_AsymmetryIndicator = {
+ "RANAP_RAB-AsymmetryIndicator",
+ "RANAP_RAB-AsymmetryIndicator",
+ RANAP_RAB_AsymmetryIndicator_free,
+ RANAP_RAB_AsymmetryIndicator_print,
+ RANAP_RAB_AsymmetryIndicator_constraint,
+ RANAP_RAB_AsymmetryIndicator_decode_ber,
+ RANAP_RAB_AsymmetryIndicator_encode_der,
+ RANAP_RAB_AsymmetryIndicator_decode_xer,
+ RANAP_RAB_AsymmetryIndicator_encode_xer,
+ RANAP_RAB_AsymmetryIndicator_decode_uper,
+ RANAP_RAB_AsymmetryIndicator_encode_uper,
+ RANAP_RAB_AsymmetryIndicator_decode_aper,
+ RANAP_RAB_AsymmetryIndicator_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RAB_AsymmetryIndicator_tags_1,
+ sizeof(asn_DEF_RANAP_RAB_AsymmetryIndicator_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_AsymmetryIndicator_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RAB_AsymmetryIndicator_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RAB_AsymmetryIndicator_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_AsymmetryIndicator_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RAB_AsymmetryIndicator_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_RAB_AsymmetryIndicator_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RAB-AsymmetryIndicator.h b/src/ranap/RANAP_RAB-AsymmetryIndicator.h
new file mode 100644
index 0000000..d5f5e09
--- /dev/null
+++ b/src/ranap/RANAP_RAB-AsymmetryIndicator.h
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RAB_AsymmetryIndicator_H_
+#define _RANAP_RAB_AsymmetryIndicator_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_RAB_AsymmetryIndicator {
+ RANAP_RAB_AsymmetryIndicator_symmetric_bidirectional = 0,
+ RANAP_RAB_AsymmetryIndicator_asymmetric_unidirectional_downlink = 1,
+ RANAP_RAB_AsymmetryIndicator_asymmetric_unidirectional_uplink = 2,
+ RANAP_RAB_AsymmetryIndicator_asymmetric_bidirectional = 3
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_RAB_AsymmetryIndicator;
+
+/* RANAP_RAB-AsymmetryIndicator */
+typedef long RANAP_RAB_AsymmetryIndicator_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_AsymmetryIndicator;
+asn_struct_free_f RANAP_RAB_AsymmetryIndicator_free;
+asn_struct_print_f RANAP_RAB_AsymmetryIndicator_print;
+asn_constr_check_f RANAP_RAB_AsymmetryIndicator_constraint;
+ber_type_decoder_f RANAP_RAB_AsymmetryIndicator_decode_ber;
+der_type_encoder_f RANAP_RAB_AsymmetryIndicator_encode_der;
+xer_type_decoder_f RANAP_RAB_AsymmetryIndicator_decode_xer;
+xer_type_encoder_f RANAP_RAB_AsymmetryIndicator_encode_xer;
+per_type_decoder_f RANAP_RAB_AsymmetryIndicator_decode_uper;
+per_type_encoder_f RANAP_RAB_AsymmetryIndicator_encode_uper;
+per_type_decoder_f RANAP_RAB_AsymmetryIndicator_decode_aper;
+per_type_encoder_f RANAP_RAB_AsymmetryIndicator_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RAB_AsymmetryIndicator_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RAB-ID.c b/src/ranap/RANAP_RAB-ID.c
new file mode 100644
index 0000000..7c35f0c
--- /dev/null
+++ b/src/ranap/RANAP_RAB-ID.c
@@ -0,0 +1,171 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RAB-ID.h"
+
+int
+RANAP_RAB_ID_constraint(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 == 8l)) {
+ /* 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 void
+RANAP_RAB_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_BIT_STRING.free_struct;
+ td->print_struct = asn_DEF_BIT_STRING.print_struct;
+ td->check_constraints = asn_DEF_BIT_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_BIT_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_BIT_STRING.per_constraints;
+ td->elements = asn_DEF_BIT_STRING.elements;
+ td->elements_count = asn_DEF_BIT_STRING.elements_count;
+ td->specifics = asn_DEF_BIT_STRING.specifics;
+}
+
+void
+RANAP_RAB_ID_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_RAB_ID_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_RAB_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RAB_ID_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RAB_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_RAB_ID_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_RAB_ID_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RAB_ID_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RAB_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_RAB_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_RAB_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RAB_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RAB_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RAB_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_RAB_ID_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RAB_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_RAB_ID_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RAB_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_RAB_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RAB_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_RAB_ID_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 8l, 8l } /* (SIZE(8..8)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RAB_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_ID = {
+ "RANAP_RAB-ID",
+ "RANAP_RAB-ID",
+ RANAP_RAB_ID_free,
+ RANAP_RAB_ID_print,
+ RANAP_RAB_ID_constraint,
+ RANAP_RAB_ID_decode_ber,
+ RANAP_RAB_ID_encode_der,
+ RANAP_RAB_ID_decode_xer,
+ RANAP_RAB_ID_encode_xer,
+ RANAP_RAB_ID_decode_uper,
+ RANAP_RAB_ID_encode_uper,
+ RANAP_RAB_ID_decode_aper,
+ RANAP_RAB_ID_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RAB_ID_tags_1,
+ sizeof(asn_DEF_RANAP_RAB_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_ID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RAB_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RAB_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_ID_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RAB_ID_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_RAB-ID.h b/src/ranap/RANAP_RAB-ID.h
new file mode 100644
index 0000000..2166574
--- /dev/null
+++ b/src/ranap/RANAP_RAB-ID.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RAB_ID_H_
+#define _RANAP_RAB_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RAB-ID */
+typedef BIT_STRING_t RANAP_RAB_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_ID;
+asn_struct_free_f RANAP_RAB_ID_free;
+asn_struct_print_f RANAP_RAB_ID_print;
+asn_constr_check_f RANAP_RAB_ID_constraint;
+ber_type_decoder_f RANAP_RAB_ID_decode_ber;
+der_type_encoder_f RANAP_RAB_ID_encode_der;
+xer_type_decoder_f RANAP_RAB_ID_decode_xer;
+xer_type_encoder_f RANAP_RAB_ID_encode_xer;
+per_type_decoder_f RANAP_RAB_ID_decode_uper;
+per_type_encoder_f RANAP_RAB_ID_encode_uper;
+per_type_decoder_f RANAP_RAB_ID_decode_aper;
+per_type_encoder_f RANAP_RAB_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RAB_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RAB-ModifyRequest.c b/src/ranap/RANAP_RAB-ModifyRequest.c
new file mode 100644
index 0000000..4dce204
--- /dev/null
+++ b/src/ranap/RANAP_RAB-ModifyRequest.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_RAB-ModifyRequest.h"
+
+static int
+memb_rAB_ModifyRequest_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_rAB_ModifyRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_rAB_ModifyRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_rAB_ModifyRequest_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_rAB_ModifyRequest_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_rAB_ModifyRequest_ies_specs_2 = {
+ sizeof(struct rAB_ModifyRequest_ies),
+ offsetof(struct rAB_ModifyRequest_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_rAB_ModifyRequest_ies_2 = {
+ "rAB-ModifyRequest-ies",
+ "rAB-ModifyRequest-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_rAB_ModifyRequest_ies_tags_2,
+ sizeof(asn_DEF_rAB_ModifyRequest_ies_tags_2)
+ /sizeof(asn_DEF_rAB_ModifyRequest_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_rAB_ModifyRequest_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_rAB_ModifyRequest_ies_tags_2)
+ /sizeof(asn_DEF_rAB_ModifyRequest_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_rAB_ModifyRequest_ies_constr_2,
+ asn_MBR_rAB_ModifyRequest_ies_2,
+ 1, /* Single element */
+ &asn_SPC_rAB_ModifyRequest_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_RAB_ModifyRequest_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RAB_ModifyRequest, rAB_ModifyRequest_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_rAB_ModifyRequest_ies_2,
+ memb_rAB_ModifyRequest_ies_constraint_1,
+ &asn_PER_memb_rAB_ModifyRequest_ies_constr_2,
+ 0,
+ "rAB-ModifyRequest-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RAB_ModifyRequest_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RAB_ModifyRequest_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* rAB-ModifyRequest-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RAB_ModifyRequest_specs_1 = {
+ sizeof(struct RANAP_RAB_ModifyRequest),
+ offsetof(struct RANAP_RAB_ModifyRequest, _asn_ctx),
+ asn_MAP_RANAP_RAB_ModifyRequest_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_ModifyRequest = {
+ "RANAP_RAB-ModifyRequest",
+ "RANAP_RAB-ModifyRequest",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RAB_ModifyRequest_tags_1,
+ sizeof(asn_DEF_RANAP_RAB_ModifyRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_ModifyRequest_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RAB_ModifyRequest_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RAB_ModifyRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_ModifyRequest_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RAB_ModifyRequest_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_RAB_ModifyRequest_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RAB-ModifyRequest.h b/src/ranap/RANAP_RAB-ModifyRequest.h
new file mode 100644
index 0000000..cf1c8d6
--- /dev/null
+++ b/src/ranap/RANAP_RAB-ModifyRequest.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_RAB_ModifyRequest_H_
+#define _RANAP_RAB_ModifyRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RAB-ModifyRequest */
+typedef struct RANAP_RAB_ModifyRequest {
+ struct rAB_ModifyRequest_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } rAB_ModifyRequest_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RAB_ModifyRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_ModifyRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RAB_ModifyRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RAB-Parameter-ExtendedGuaranteedBitrateList.c b/src/ranap/RANAP_RAB-Parameter-ExtendedGuaranteedBitrateList.c
new file mode 100644
index 0000000..54dfd2b
--- /dev/null
+++ b/src/ranap/RANAP_RAB-Parameter-ExtendedGuaranteedBitrateList.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RAB-Parameter-ExtendedGuaranteedBitrateList.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_RAB_Parameter_ExtendedGuaranteedBitrateList_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 1, 1, 1l, 2l } /* (SIZE(1..2)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_RAB_Parameter_ExtendedGuaranteedBitrateList_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_ExtendedGuaranteedBitrate,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_RAB_Parameter_ExtendedGuaranteedBitrateList_specs_1 = {
+ sizeof(struct RANAP_RAB_Parameter_ExtendedGuaranteedBitrateList),
+ offsetof(struct RANAP_RAB_Parameter_ExtendedGuaranteedBitrateList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_Parameter_ExtendedGuaranteedBitrateList = {
+ "RANAP_RAB-Parameter-ExtendedGuaranteedBitrateList",
+ "RANAP_RAB-Parameter-ExtendedGuaranteedBitrateList",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1,
+ sizeof(asn_DEF_RANAP_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RAB_Parameter_ExtendedGuaranteedBitrateList_constr_1,
+ asn_MBR_RANAP_RAB_Parameter_ExtendedGuaranteedBitrateList_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_RAB_Parameter_ExtendedGuaranteedBitrateList_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RAB-Parameter-ExtendedGuaranteedBitrateList.h b/src/ranap/RANAP_RAB-Parameter-ExtendedGuaranteedBitrateList.h
new file mode 100644
index 0000000..44c5e4c
--- /dev/null
+++ b/src/ranap/RANAP_RAB-Parameter-ExtendedGuaranteedBitrateList.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RAB_Parameter_ExtendedGuaranteedBitrateList_H_
+#define _RANAP_RAB_Parameter_ExtendedGuaranteedBitrateList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_ExtendedGuaranteedBitrate.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RAB-Parameter-ExtendedGuaranteedBitrateList */
+typedef struct RANAP_RAB_Parameter_ExtendedGuaranteedBitrateList {
+ A_SEQUENCE_OF(RANAP_ExtendedGuaranteedBitrate_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RAB_Parameter_ExtendedGuaranteedBitrateList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_Parameter_ExtendedGuaranteedBitrateList;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RAB_Parameter_ExtendedGuaranteedBitrateList_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RAB-Parameter-ExtendedMaxBitrateList.c b/src/ranap/RANAP_RAB-Parameter-ExtendedMaxBitrateList.c
new file mode 100644
index 0000000..840c2db
--- /dev/null
+++ b/src/ranap/RANAP_RAB-Parameter-ExtendedMaxBitrateList.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RAB-Parameter-ExtendedMaxBitrateList.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_RAB_Parameter_ExtendedMaxBitrateList_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 1, 1, 1l, 2l } /* (SIZE(1..2)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_RAB_Parameter_ExtendedMaxBitrateList_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_ExtendedMaxBitrate,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RAB_Parameter_ExtendedMaxBitrateList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_RAB_Parameter_ExtendedMaxBitrateList_specs_1 = {
+ sizeof(struct RANAP_RAB_Parameter_ExtendedMaxBitrateList),
+ offsetof(struct RANAP_RAB_Parameter_ExtendedMaxBitrateList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_Parameter_ExtendedMaxBitrateList = {
+ "RANAP_RAB-Parameter-ExtendedMaxBitrateList",
+ "RANAP_RAB-Parameter-ExtendedMaxBitrateList",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RAB_Parameter_ExtendedMaxBitrateList_tags_1,
+ sizeof(asn_DEF_RANAP_RAB_Parameter_ExtendedMaxBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_Parameter_ExtendedMaxBitrateList_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RAB_Parameter_ExtendedMaxBitrateList_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RAB_Parameter_ExtendedMaxBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_Parameter_ExtendedMaxBitrateList_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RAB_Parameter_ExtendedMaxBitrateList_constr_1,
+ asn_MBR_RANAP_RAB_Parameter_ExtendedMaxBitrateList_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_RAB_Parameter_ExtendedMaxBitrateList_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RAB-Parameter-ExtendedMaxBitrateList.h b/src/ranap/RANAP_RAB-Parameter-ExtendedMaxBitrateList.h
new file mode 100644
index 0000000..c070574
--- /dev/null
+++ b/src/ranap/RANAP_RAB-Parameter-ExtendedMaxBitrateList.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RAB_Parameter_ExtendedMaxBitrateList_H_
+#define _RANAP_RAB_Parameter_ExtendedMaxBitrateList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_ExtendedMaxBitrate.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RAB-Parameter-ExtendedMaxBitrateList */
+typedef struct RANAP_RAB_Parameter_ExtendedMaxBitrateList {
+ A_SEQUENCE_OF(RANAP_ExtendedMaxBitrate_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RAB_Parameter_ExtendedMaxBitrateList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_Parameter_ExtendedMaxBitrateList;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RAB_Parameter_ExtendedMaxBitrateList_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RAB-Parameter-GuaranteedBitrateList.c b/src/ranap/RANAP_RAB-Parameter-GuaranteedBitrateList.c
new file mode 100644
index 0000000..17c1d9c
--- /dev/null
+++ b/src/ranap/RANAP_RAB-Parameter-GuaranteedBitrateList.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RAB-Parameter-GuaranteedBitrateList.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_RAB_Parameter_GuaranteedBitrateList_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 1, 1, 1l, 2l } /* (SIZE(1..2)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_RAB_Parameter_GuaranteedBitrateList_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_GuaranteedBitrate,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RAB_Parameter_GuaranteedBitrateList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_RAB_Parameter_GuaranteedBitrateList_specs_1 = {
+ sizeof(struct RANAP_RAB_Parameter_GuaranteedBitrateList),
+ offsetof(struct RANAP_RAB_Parameter_GuaranteedBitrateList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_Parameter_GuaranteedBitrateList = {
+ "RANAP_RAB-Parameter-GuaranteedBitrateList",
+ "RANAP_RAB-Parameter-GuaranteedBitrateList",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RAB_Parameter_GuaranteedBitrateList_tags_1,
+ sizeof(asn_DEF_RANAP_RAB_Parameter_GuaranteedBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_Parameter_GuaranteedBitrateList_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RAB_Parameter_GuaranteedBitrateList_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RAB_Parameter_GuaranteedBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_Parameter_GuaranteedBitrateList_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RAB_Parameter_GuaranteedBitrateList_constr_1,
+ asn_MBR_RANAP_RAB_Parameter_GuaranteedBitrateList_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_RAB_Parameter_GuaranteedBitrateList_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RAB-Parameter-GuaranteedBitrateList.h b/src/ranap/RANAP_RAB-Parameter-GuaranteedBitrateList.h
new file mode 100644
index 0000000..bf5f333
--- /dev/null
+++ b/src/ranap/RANAP_RAB-Parameter-GuaranteedBitrateList.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RAB_Parameter_GuaranteedBitrateList_H_
+#define _RANAP_RAB_Parameter_GuaranteedBitrateList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_GuaranteedBitrate.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RAB-Parameter-GuaranteedBitrateList */
+typedef struct RANAP_RAB_Parameter_GuaranteedBitrateList {
+ A_SEQUENCE_OF(RANAP_GuaranteedBitrate_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RAB_Parameter_GuaranteedBitrateList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_Parameter_GuaranteedBitrateList;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RAB_Parameter_GuaranteedBitrateList_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RAB-Parameter-MaxBitrateList.c b/src/ranap/RANAP_RAB-Parameter-MaxBitrateList.c
new file mode 100644
index 0000000..94dfba8
--- /dev/null
+++ b/src/ranap/RANAP_RAB-Parameter-MaxBitrateList.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RAB-Parameter-MaxBitrateList.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_RAB_Parameter_MaxBitrateList_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 1, 1, 1l, 2l } /* (SIZE(1..2)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_RAB_Parameter_MaxBitrateList_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_MaxBitrate,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RAB_Parameter_MaxBitrateList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_RAB_Parameter_MaxBitrateList_specs_1 = {
+ sizeof(struct RANAP_RAB_Parameter_MaxBitrateList),
+ offsetof(struct RANAP_RAB_Parameter_MaxBitrateList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_Parameter_MaxBitrateList = {
+ "RANAP_RAB-Parameter-MaxBitrateList",
+ "RANAP_RAB-Parameter-MaxBitrateList",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RAB_Parameter_MaxBitrateList_tags_1,
+ sizeof(asn_DEF_RANAP_RAB_Parameter_MaxBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_Parameter_MaxBitrateList_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RAB_Parameter_MaxBitrateList_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RAB_Parameter_MaxBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_Parameter_MaxBitrateList_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RAB_Parameter_MaxBitrateList_constr_1,
+ asn_MBR_RANAP_RAB_Parameter_MaxBitrateList_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_RAB_Parameter_MaxBitrateList_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RAB-Parameter-MaxBitrateList.h b/src/ranap/RANAP_RAB-Parameter-MaxBitrateList.h
new file mode 100644
index 0000000..3001287
--- /dev/null
+++ b/src/ranap/RANAP_RAB-Parameter-MaxBitrateList.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RAB_Parameter_MaxBitrateList_H_
+#define _RANAP_RAB_Parameter_MaxBitrateList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_MaxBitrate.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RAB-Parameter-MaxBitrateList */
+typedef struct RANAP_RAB_Parameter_MaxBitrateList {
+ A_SEQUENCE_OF(RANAP_MaxBitrate_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RAB_Parameter_MaxBitrateList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_Parameter_MaxBitrateList;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RAB_Parameter_MaxBitrateList_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RAB-Parameters.c b/src/ranap/RANAP_RAB-Parameters.c
new file mode 100644
index 0000000..1739ce2
--- /dev/null
+++ b/src/ranap/RANAP_RAB-Parameters.c
@@ -0,0 +1,183 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RAB-Parameters.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_RAB_Parameters_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RAB_Parameters, trafficClass),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TrafficClass,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "trafficClass"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RAB_Parameters, rAB_AsymmetryIndicator),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RAB_AsymmetryIndicator,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rAB-AsymmetryIndicator"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RAB_Parameters, maxBitrate),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RAB_Parameter_MaxBitrateList,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "maxBitrate"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_RAB_Parameters, guaranteedBitRate),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RAB_Parameter_GuaranteedBitrateList,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "guaranteedBitRate"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RAB_Parameters, deliveryOrder),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_DeliveryOrder,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "deliveryOrder"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RAB_Parameters, maxSDU_Size),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_MaxSDU_Size,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "maxSDU-Size"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RAB_Parameters, sDU_Parameters),
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_SDU_Parameters,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "sDU-Parameters"
+ },
+ { ATF_POINTER, 6, offsetof(struct RANAP_RAB_Parameters, transferDelay),
+ (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TransferDelay,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "transferDelay"
+ },
+ { ATF_POINTER, 5, offsetof(struct RANAP_RAB_Parameters, trafficHandlingPriority),
+ (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TrafficHandlingPriority,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "trafficHandlingPriority"
+ },
+ { ATF_POINTER, 4, offsetof(struct RANAP_RAB_Parameters, allocationOrRetentionPriority),
+ (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_AllocationOrRetentionPriority,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "allocationOrRetentionPriority"
+ },
+ { ATF_POINTER, 3, offsetof(struct RANAP_RAB_Parameters, sourceStatisticsDescriptor),
+ (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_SourceStatisticsDescriptor,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "sourceStatisticsDescriptor"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_RAB_Parameters, relocationRequirement),
+ (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RelocationRequirement,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "relocationRequirement"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_RAB_Parameters, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (12 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_RAB_Parameters_oms_1[] = { 3, 7, 8, 9, 10, 11, 12 };
+static const ber_tlv_tag_t asn_DEF_RANAP_RAB_Parameters_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RAB_Parameters_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* trafficClass */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rAB-AsymmetryIndicator */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* maxBitrate */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* guaranteedBitRate */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* deliveryOrder */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* maxSDU-Size */
+ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* sDU-Parameters */
+ { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* transferDelay */
+ { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* trafficHandlingPriority */
+ { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* allocationOrRetentionPriority */
+ { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* sourceStatisticsDescriptor */
+ { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* relocationRequirement */
+ { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RAB_Parameters_specs_1 = {
+ sizeof(struct RANAP_RAB_Parameters),
+ offsetof(struct RANAP_RAB_Parameters, _asn_ctx),
+ asn_MAP_RANAP_RAB_Parameters_tag2el_1,
+ 13, /* Count of tags in the map */
+ asn_MAP_RANAP_RAB_Parameters_oms_1, /* Optional members */
+ 7, 0, /* Root/Additions */
+ 12, /* Start extensions */
+ 14 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_Parameters = {
+ "RANAP_RAB-Parameters",
+ "RANAP_RAB-Parameters",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RAB_Parameters_tags_1,
+ sizeof(asn_DEF_RANAP_RAB_Parameters_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_Parameters_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RAB_Parameters_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RAB_Parameters_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_Parameters_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RAB_Parameters_1,
+ 13, /* Elements count */
+ &asn_SPC_RANAP_RAB_Parameters_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RAB-Parameters.h b/src/ranap/RANAP_RAB-Parameters.h
new file mode 100644
index 0000000..2629282
--- /dev/null
+++ b/src/ranap/RANAP_RAB-Parameters.h
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RAB_Parameters_H_
+#define _RANAP_RAB_Parameters_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_TrafficClass.h"
+#include "RANAP_RAB-AsymmetryIndicator.h"
+#include "RANAP_RAB-Parameter-MaxBitrateList.h"
+#include "RANAP_RAB-Parameter-GuaranteedBitrateList.h"
+#include "RANAP_DeliveryOrder.h"
+#include "RANAP_MaxSDU-Size.h"
+#include "RANAP_SDU-Parameters.h"
+#include "RANAP_TransferDelay.h"
+#include "RANAP_TrafficHandlingPriority.h"
+#include "RANAP_AllocationOrRetentionPriority.h"
+#include "RANAP_SourceStatisticsDescriptor.h"
+#include "RANAP_RelocationRequirement.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RAB-Parameters */
+typedef struct RANAP_RAB_Parameters {
+ RANAP_TrafficClass_t trafficClass;
+ RANAP_RAB_AsymmetryIndicator_t rAB_AsymmetryIndicator;
+ RANAP_RAB_Parameter_MaxBitrateList_t maxBitrate;
+ RANAP_RAB_Parameter_GuaranteedBitrateList_t *guaranteedBitRate /* OPTIONAL */;
+ RANAP_DeliveryOrder_t deliveryOrder;
+ RANAP_MaxSDU_Size_t maxSDU_Size;
+ RANAP_SDU_Parameters_t sDU_Parameters;
+ RANAP_TransferDelay_t *transferDelay /* OPTIONAL */;
+ RANAP_TrafficHandlingPriority_t *trafficHandlingPriority /* OPTIONAL */;
+ RANAP_AllocationOrRetentionPriority_t *allocationOrRetentionPriority /* OPTIONAL */;
+ RANAP_SourceStatisticsDescriptor_t *sourceStatisticsDescriptor /* OPTIONAL */;
+ RANAP_RelocationRequirement_t *relocationRequirement /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RAB_Parameters_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_Parameters;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RAB_Parameters_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RAB-ReleaseRequest.c b/src/ranap/RANAP_RAB-ReleaseRequest.c
new file mode 100644
index 0000000..2db478b
--- /dev/null
+++ b/src/ranap/RANAP_RAB-ReleaseRequest.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_RAB-ReleaseRequest.h"
+
+static int
+memb_rAB_ReleaseRequest_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_rAB_ReleaseRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_rAB_ReleaseRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_rAB_ReleaseRequest_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_rAB_ReleaseRequest_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_rAB_ReleaseRequest_ies_specs_2 = {
+ sizeof(struct rAB_ReleaseRequest_ies),
+ offsetof(struct rAB_ReleaseRequest_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_rAB_ReleaseRequest_ies_2 = {
+ "rAB-ReleaseRequest-ies",
+ "rAB-ReleaseRequest-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_rAB_ReleaseRequest_ies_tags_2,
+ sizeof(asn_DEF_rAB_ReleaseRequest_ies_tags_2)
+ /sizeof(asn_DEF_rAB_ReleaseRequest_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_rAB_ReleaseRequest_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_rAB_ReleaseRequest_ies_tags_2)
+ /sizeof(asn_DEF_rAB_ReleaseRequest_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_rAB_ReleaseRequest_ies_constr_2,
+ asn_MBR_rAB_ReleaseRequest_ies_2,
+ 1, /* Single element */
+ &asn_SPC_rAB_ReleaseRequest_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_RAB_ReleaseRequest_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RAB_ReleaseRequest, rAB_ReleaseRequest_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_rAB_ReleaseRequest_ies_2,
+ memb_rAB_ReleaseRequest_ies_constraint_1,
+ &asn_PER_memb_rAB_ReleaseRequest_ies_constr_2,
+ 0,
+ "rAB-ReleaseRequest-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RAB_ReleaseRequest_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RAB_ReleaseRequest_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* rAB-ReleaseRequest-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RAB_ReleaseRequest_specs_1 = {
+ sizeof(struct RANAP_RAB_ReleaseRequest),
+ offsetof(struct RANAP_RAB_ReleaseRequest, _asn_ctx),
+ asn_MAP_RANAP_RAB_ReleaseRequest_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_ReleaseRequest = {
+ "RANAP_RAB-ReleaseRequest",
+ "RANAP_RAB-ReleaseRequest",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RAB_ReleaseRequest_tags_1,
+ sizeof(asn_DEF_RANAP_RAB_ReleaseRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_ReleaseRequest_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RAB_ReleaseRequest_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RAB_ReleaseRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_ReleaseRequest_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RAB_ReleaseRequest_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_RAB_ReleaseRequest_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RAB-ReleaseRequest.h b/src/ranap/RANAP_RAB-ReleaseRequest.h
new file mode 100644
index 0000000..a4ba249
--- /dev/null
+++ b/src/ranap/RANAP_RAB-ReleaseRequest.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_RAB_ReleaseRequest_H_
+#define _RANAP_RAB_ReleaseRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RAB-ReleaseRequest */
+typedef struct RANAP_RAB_ReleaseRequest {
+ struct rAB_ReleaseRequest_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } rAB_ReleaseRequest_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RAB_ReleaseRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_ReleaseRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RAB_ReleaseRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RAB-SubflowCombinationBitRate.c b/src/ranap/RANAP_RAB-SubflowCombinationBitRate.c
new file mode 100644
index 0000000..075032a
--- /dev/null
+++ b/src/ranap/RANAP_RAB-SubflowCombinationBitRate.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RAB-SubflowCombinationBitRate.h"
+
+int
+RANAP_RAB_SubflowCombinationBitRate_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 16000000l)) {
+ /* 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 void
+RANAP_RAB_SubflowCombinationBitRate_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_RAB_SubflowCombinationBitRate_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_RAB_SubflowCombinationBitRate_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_RAB_SubflowCombinationBitRate_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RAB_SubflowCombinationBitRate_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RAB_SubflowCombinationBitRate_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_RAB_SubflowCombinationBitRate_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_RAB_SubflowCombinationBitRate_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RAB_SubflowCombinationBitRate_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RAB_SubflowCombinationBitRate_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_RAB_SubflowCombinationBitRate_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_RAB_SubflowCombinationBitRate_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RAB_SubflowCombinationBitRate_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RAB_SubflowCombinationBitRate_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RAB_SubflowCombinationBitRate_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_RAB_SubflowCombinationBitRate_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RAB_SubflowCombinationBitRate_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_RAB_SubflowCombinationBitRate_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RAB_SubflowCombinationBitRate_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_RAB_SubflowCombinationBitRate_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RAB_SubflowCombinationBitRate_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_RAB_SubflowCombinationBitRate_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 24, -1, 0l, 16000000l } /* (0..16000000) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RAB_SubflowCombinationBitRate_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_SubflowCombinationBitRate = {
+ "RANAP_RAB-SubflowCombinationBitRate",
+ "RANAP_RAB-SubflowCombinationBitRate",
+ RANAP_RAB_SubflowCombinationBitRate_free,
+ RANAP_RAB_SubflowCombinationBitRate_print,
+ RANAP_RAB_SubflowCombinationBitRate_constraint,
+ RANAP_RAB_SubflowCombinationBitRate_decode_ber,
+ RANAP_RAB_SubflowCombinationBitRate_encode_der,
+ RANAP_RAB_SubflowCombinationBitRate_decode_xer,
+ RANAP_RAB_SubflowCombinationBitRate_encode_xer,
+ RANAP_RAB_SubflowCombinationBitRate_decode_uper,
+ RANAP_RAB_SubflowCombinationBitRate_encode_uper,
+ RANAP_RAB_SubflowCombinationBitRate_decode_aper,
+ RANAP_RAB_SubflowCombinationBitRate_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RAB_SubflowCombinationBitRate_tags_1,
+ sizeof(asn_DEF_RANAP_RAB_SubflowCombinationBitRate_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_SubflowCombinationBitRate_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RAB_SubflowCombinationBitRate_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RAB_SubflowCombinationBitRate_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_SubflowCombinationBitRate_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RAB_SubflowCombinationBitRate_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_RAB-SubflowCombinationBitRate.h b/src/ranap/RANAP_RAB-SubflowCombinationBitRate.h
new file mode 100644
index 0000000..6c3eaa4
--- /dev/null
+++ b/src/ranap/RANAP_RAB-SubflowCombinationBitRate.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RAB_SubflowCombinationBitRate_H_
+#define _RANAP_RAB_SubflowCombinationBitRate_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RAB-SubflowCombinationBitRate */
+typedef long RANAP_RAB_SubflowCombinationBitRate_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_SubflowCombinationBitRate;
+asn_struct_free_f RANAP_RAB_SubflowCombinationBitRate_free;
+asn_struct_print_f RANAP_RAB_SubflowCombinationBitRate_print;
+asn_constr_check_f RANAP_RAB_SubflowCombinationBitRate_constraint;
+ber_type_decoder_f RANAP_RAB_SubflowCombinationBitRate_decode_ber;
+der_type_encoder_f RANAP_RAB_SubflowCombinationBitRate_encode_der;
+xer_type_decoder_f RANAP_RAB_SubflowCombinationBitRate_decode_xer;
+xer_type_encoder_f RANAP_RAB_SubflowCombinationBitRate_encode_xer;
+per_type_decoder_f RANAP_RAB_SubflowCombinationBitRate_decode_uper;
+per_type_encoder_f RANAP_RAB_SubflowCombinationBitRate_encode_uper;
+per_type_decoder_f RANAP_RAB_SubflowCombinationBitRate_decode_aper;
+per_type_encoder_f RANAP_RAB_SubflowCombinationBitRate_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RAB_SubflowCombinationBitRate_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RAB-TrCH-Mapping.c b/src/ranap/RANAP_RAB-TrCH-Mapping.c
new file mode 100644
index 0000000..b73cd89
--- /dev/null
+++ b/src/ranap/RANAP_RAB-TrCH-Mapping.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RAB-TrCH-Mapping.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_RAB_TrCH_Mapping_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 8, 8, 1l, 256l } /* (SIZE(1..256)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_RAB_TrCH_Mapping_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_RAB_TrCH_MappingItem,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RAB_TrCH_Mapping_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_RAB_TrCH_Mapping_specs_1 = {
+ sizeof(struct RANAP_RAB_TrCH_Mapping),
+ offsetof(struct RANAP_RAB_TrCH_Mapping, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_TrCH_Mapping = {
+ "RANAP_RAB-TrCH-Mapping",
+ "RANAP_RAB-TrCH-Mapping",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RAB_TrCH_Mapping_tags_1,
+ sizeof(asn_DEF_RANAP_RAB_TrCH_Mapping_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_TrCH_Mapping_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RAB_TrCH_Mapping_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RAB_TrCH_Mapping_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_TrCH_Mapping_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RAB_TrCH_Mapping_constr_1,
+ asn_MBR_RANAP_RAB_TrCH_Mapping_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_RAB_TrCH_Mapping_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RAB-TrCH-Mapping.h b/src/ranap/RANAP_RAB-TrCH-Mapping.h
new file mode 100644
index 0000000..d6f2027
--- /dev/null
+++ b/src/ranap/RANAP_RAB-TrCH-Mapping.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RAB_TrCH_Mapping_H_
+#define _RANAP_RAB_TrCH_Mapping_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_RAB-TrCH-MappingItem.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RAB-TrCH-Mapping */
+typedef struct RANAP_RAB_TrCH_Mapping {
+ A_SEQUENCE_OF(RANAP_RAB_TrCH_MappingItem_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RAB_TrCH_Mapping_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_TrCH_Mapping;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RAB_TrCH_Mapping_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RAB-TrCH-MappingItem.c b/src/ranap/RANAP_RAB-TrCH-MappingItem.c
new file mode 100644
index 0000000..ec6ef62
--- /dev/null
+++ b/src/ranap/RANAP_RAB-TrCH-MappingItem.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RAB-TrCH-MappingItem.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_RAB_TrCH_MappingItem_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RAB_TrCH_MappingItem, rAB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RAB_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rAB-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RAB_TrCH_MappingItem, trCH_ID_List),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TrCH_ID_List,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "trCH-ID-List"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_RAB_TrCH_MappingItem, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_RAB_TrCH_MappingItem_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_RAB_TrCH_MappingItem_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RAB_TrCH_MappingItem_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rAB-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* trCH-ID-List */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RAB_TrCH_MappingItem_specs_1 = {
+ sizeof(struct RANAP_RAB_TrCH_MappingItem),
+ offsetof(struct RANAP_RAB_TrCH_MappingItem, _asn_ctx),
+ asn_MAP_RANAP_RAB_TrCH_MappingItem_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_RAB_TrCH_MappingItem_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_TrCH_MappingItem = {
+ "RANAP_RAB-TrCH-MappingItem",
+ "RANAP_RAB-TrCH-MappingItem",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RAB_TrCH_MappingItem_tags_1,
+ sizeof(asn_DEF_RANAP_RAB_TrCH_MappingItem_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_TrCH_MappingItem_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RAB_TrCH_MappingItem_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RAB_TrCH_MappingItem_tags_1)
+ /sizeof(asn_DEF_RANAP_RAB_TrCH_MappingItem_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RAB_TrCH_MappingItem_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_RAB_TrCH_MappingItem_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RAB-TrCH-MappingItem.h b/src/ranap/RANAP_RAB-TrCH-MappingItem.h
new file mode 100644
index 0000000..a14fa91
--- /dev/null
+++ b/src/ranap/RANAP_RAB-TrCH-MappingItem.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RAB_TrCH_MappingItem_H_
+#define _RANAP_RAB_TrCH_MappingItem_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_RAB-ID.h"
+#include "RANAP_TrCH-ID-List.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RAB-TrCH-MappingItem */
+typedef struct RANAP_RAB_TrCH_MappingItem {
+ RANAP_RAB_ID_t rAB_ID;
+ RANAP_TrCH_ID_List_t trCH_ID_List;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RAB_TrCH_MappingItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_TrCH_MappingItem;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RAB_TrCH_MappingItem_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RABDataVolumeReport.c b/src/ranap/RANAP_RABDataVolumeReport.c
new file mode 100644
index 0000000..06d21b6
--- /dev/null
+++ b/src/ranap/RANAP_RABDataVolumeReport.c
@@ -0,0 +1,135 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RABDataVolumeReport.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_RABDataVolumeReport_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 1, 1, 1l, 2l } /* (SIZE(1..2)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_Member_2[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct Member, dl_UnsuccessfullyTransmittedDataVolume),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_UnsuccessfullyTransmittedDataVolume,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "dl-UnsuccessfullyTransmittedDataVolume"
+ },
+ { ATF_POINTER, 2, offsetof(struct Member, dataVolumeReference),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_DataVolumeReference,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "dataVolumeReference"
+ },
+ { ATF_POINTER, 1, offsetof(struct Member, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "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 }, /* dl-UnsuccessfullyTransmittedDataVolume */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dataVolumeReference */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
+ sizeof(struct Member),
+ offsetof(struct 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 */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_Member_2 = {
+ "SEQUENCE",
+ "SEQUENCE",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ 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, /* No PER visible constraints */
+ asn_MBR_Member_2,
+ 3, /* Elements count */
+ &asn_SPC_Member_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_RABDataVolumeReport_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_Member_2,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RABDataVolumeReport_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_RABDataVolumeReport_specs_1 = {
+ sizeof(struct RANAP_RABDataVolumeReport),
+ offsetof(struct RANAP_RABDataVolumeReport, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RABDataVolumeReport = {
+ "RANAP_RABDataVolumeReport",
+ "RANAP_RABDataVolumeReport",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RABDataVolumeReport_tags_1,
+ sizeof(asn_DEF_RANAP_RABDataVolumeReport_tags_1)
+ /sizeof(asn_DEF_RANAP_RABDataVolumeReport_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RABDataVolumeReport_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RABDataVolumeReport_tags_1)
+ /sizeof(asn_DEF_RANAP_RABDataVolumeReport_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RABDataVolumeReport_constr_1,
+ asn_MBR_RANAP_RABDataVolumeReport_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_RABDataVolumeReport_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RABDataVolumeReport.h b/src/ranap/RANAP_RABDataVolumeReport.h
new file mode 100644
index 0000000..904c275
--- /dev/null
+++ b/src/ranap/RANAP_RABDataVolumeReport.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RABDataVolumeReport_H_
+#define _RANAP_RABDataVolumeReport_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include "RANAP_UnsuccessfullyTransmittedDataVolume.h"
+#include "RANAP_DataVolumeReference.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RABDataVolumeReport */
+typedef struct RANAP_RABDataVolumeReport {
+ A_SEQUENCE_OF(struct Member {
+ RANAP_UnsuccessfullyTransmittedDataVolume_t dl_UnsuccessfullyTransmittedDataVolume;
+ RANAP_DataVolumeReference_t *dataVolumeReference /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } ) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RABDataVolumeReport_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RABDataVolumeReport;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RABDataVolumeReport_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RABParametersList.c b/src/ranap/RANAP_RABParametersList.c
new file mode 100644
index 0000000..d9193c3
--- /dev/null
+++ b/src/ranap/RANAP_RABParametersList.c
@@ -0,0 +1,155 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RABParametersList.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_RABParametersList_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 8, 8, 1l, 256l } /* (SIZE(1..256)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_MemberA_2[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct MemberA, rab_Id),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RAB_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rab-Id"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct MemberA, cn_domain),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_CN_DomainIndicator,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "cn-domain"
+ },
+ { ATF_POINTER, 3, offsetof(struct MemberA, rabDataVolumeReport),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RABDataVolumeReport,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rabDataVolumeReport"
+ },
+ { ATF_POINTER, 2, offsetof(struct MemberA, upInformation),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_UPInformation,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "upInformation"
+ },
+ { ATF_POINTER, 1, offsetof(struct MemberA, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_MemberA_oms_2[] = { 2, 3, 4 };
+static const ber_tlv_tag_t asn_DEF_MemberA_tags_2[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_MemberA_tag2el_2[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rab-Id */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cn-domain */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* rabDataVolumeReport */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* upInformation */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_MemberA_specs_2 = {
+ sizeof(struct MemberA),
+ offsetof(struct MemberA, _asn_ctx),
+ asn_MAP_MemberA_tag2el_2,
+ 5, /* Count of tags in the map */
+ asn_MAP_MemberA_oms_2, /* Optional members */
+ 3, 0, /* Root/Additions */
+ 4, /* Start extensions */
+ 6 /* Stop extensions */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_MemberA_2 = {
+ "SEQUENCE",
+ "SEQUENCE",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_MemberA_tags_2,
+ sizeof(asn_DEF_MemberA_tags_2)
+ /sizeof(asn_DEF_MemberA_tags_2[0]), /* 1 */
+ asn_DEF_MemberA_tags_2, /* Same as above */
+ sizeof(asn_DEF_MemberA_tags_2)
+ /sizeof(asn_DEF_MemberA_tags_2[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_MemberA_2,
+ 5, /* Elements count */
+ &asn_SPC_MemberA_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_RABParametersList_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_MemberA_2,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RABParametersList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_RABParametersList_specs_1 = {
+ sizeof(struct RANAP_RABParametersList),
+ offsetof(struct RANAP_RABParametersList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RABParametersList = {
+ "RANAP_RABParametersList",
+ "RANAP_RABParametersList",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RABParametersList_tags_1,
+ sizeof(asn_DEF_RANAP_RABParametersList_tags_1)
+ /sizeof(asn_DEF_RANAP_RABParametersList_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RABParametersList_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RABParametersList_tags_1)
+ /sizeof(asn_DEF_RANAP_RABParametersList_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RABParametersList_constr_1,
+ asn_MBR_RANAP_RABParametersList_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_RABParametersList_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RABParametersList.h b/src/ranap/RANAP_RABParametersList.h
new file mode 100644
index 0000000..0208cda
--- /dev/null
+++ b/src/ranap/RANAP_RABParametersList.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RABParametersList_H_
+#define _RANAP_RABParametersList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include "RANAP_RAB-ID.h"
+#include "RANAP_CN-DomainIndicator.h"
+#include "RANAP_RABDataVolumeReport.h"
+#include "RANAP_UPInformation.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RABParametersList */
+typedef struct RANAP_RABParametersList {
+ A_SEQUENCE_OF(struct MemberA {
+ RANAP_RAB_ID_t rab_Id;
+ RANAP_CN_DomainIndicator_t cn_domain;
+ RANAP_RABDataVolumeReport_t *rabDataVolumeReport /* OPTIONAL */;
+ RANAP_UPInformation_t *upInformation /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } ) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RABParametersList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RABParametersList;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RABParametersList_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RABased.c b/src/ranap/RANAP_RABased.c
new file mode 100644
index 0000000..46b5bf0
--- /dev/null
+++ b/src/ranap/RANAP_RABased.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RABased.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_RABased_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RABased, raiList),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RAI_List,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "raiList"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_RABased, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_RABased_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_RANAP_RABased_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RABased_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* raiList */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RABased_specs_1 = {
+ sizeof(struct RANAP_RABased),
+ offsetof(struct RANAP_RABased, _asn_ctx),
+ asn_MAP_RANAP_RABased_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_RANAP_RABased_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 1, /* Start extensions */
+ 3 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RABased = {
+ "RANAP_RABased",
+ "RANAP_RABased",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RABased_tags_1,
+ sizeof(asn_DEF_RANAP_RABased_tags_1)
+ /sizeof(asn_DEF_RANAP_RABased_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RABased_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RABased_tags_1)
+ /sizeof(asn_DEF_RANAP_RABased_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RABased_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_RABased_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RABased.h b/src/ranap/RANAP_RABased.h
new file mode 100644
index 0000000..acd2c52
--- /dev/null
+++ b/src/ranap/RANAP_RABased.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RABased_H_
+#define _RANAP_RABased_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_RAI-List.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RABased */
+typedef struct RANAP_RABased {
+ RANAP_RAI_List_t raiList;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RABased_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RABased;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RABased_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RAC.c b/src/ranap/RANAP_RAC.c
new file mode 100644
index 0000000..6bf650a
--- /dev/null
+++ b/src/ranap/RANAP_RAC.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RAC.h"
+
+int
+RANAP_RAC_constraint(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 == 1l)) {
+ /* 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 void
+RANAP_RAC_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_RAC_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_RAC_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_RAC_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RAC_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RAC_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_RAC_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_RAC_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RAC_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RAC_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_RAC_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_RAC_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RAC_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RAC_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RAC_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_RAC_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RAC_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_RAC_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RAC_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_RAC_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RAC_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_RAC_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 1l, 1l } /* (SIZE(1..1)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RAC_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RAC = {
+ "RANAP_RAC",
+ "RANAP_RAC",
+ RANAP_RAC_free,
+ RANAP_RAC_print,
+ RANAP_RAC_constraint,
+ RANAP_RAC_decode_ber,
+ RANAP_RAC_encode_der,
+ RANAP_RAC_decode_xer,
+ RANAP_RAC_encode_xer,
+ RANAP_RAC_decode_uper,
+ RANAP_RAC_encode_uper,
+ RANAP_RAC_decode_aper,
+ RANAP_RAC_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RAC_tags_1,
+ sizeof(asn_DEF_RANAP_RAC_tags_1)
+ /sizeof(asn_DEF_RANAP_RAC_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RAC_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RAC_tags_1)
+ /sizeof(asn_DEF_RANAP_RAC_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RAC_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_RAC.h b/src/ranap/RANAP_RAC.h
new file mode 100644
index 0000000..1de733a
--- /dev/null
+++ b/src/ranap/RANAP_RAC.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RAC_H_
+#define _RANAP_RAC_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RAC */
+typedef OCTET_STRING_t RANAP_RAC_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAC;
+asn_struct_free_f RANAP_RAC_free;
+asn_struct_print_f RANAP_RAC_print;
+asn_constr_check_f RANAP_RAC_constraint;
+ber_type_decoder_f RANAP_RAC_decode_ber;
+der_type_encoder_f RANAP_RAC_encode_der;
+xer_type_decoder_f RANAP_RAC_decode_xer;
+xer_type_encoder_f RANAP_RAC_encode_xer;
+per_type_decoder_f RANAP_RAC_decode_uper;
+per_type_encoder_f RANAP_RAC_encode_uper;
+per_type_decoder_f RANAP_RAC_decode_aper;
+per_type_encoder_f RANAP_RAC_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RAC_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RAI-List.c b/src/ranap/RANAP_RAI-List.c
new file mode 100644
index 0000000..165ca0d
--- /dev/null
+++ b/src/ranap/RANAP_RAI-List.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RAI-List.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_RAI_List_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 3, 3, 1l, 8l } /* (SIZE(1..8)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_RAI_List_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_RAI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RAI_List_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_RAI_List_specs_1 = {
+ sizeof(struct RANAP_RAI_List),
+ offsetof(struct RANAP_RAI_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RAI_List = {
+ "RANAP_RAI-List",
+ "RANAP_RAI-List",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RAI_List_tags_1,
+ sizeof(asn_DEF_RANAP_RAI_List_tags_1)
+ /sizeof(asn_DEF_RANAP_RAI_List_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RAI_List_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RAI_List_tags_1)
+ /sizeof(asn_DEF_RANAP_RAI_List_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RAI_List_constr_1,
+ asn_MBR_RANAP_RAI_List_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_RAI_List_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RAI-List.h b/src/ranap/RANAP_RAI-List.h
new file mode 100644
index 0000000..bddb466
--- /dev/null
+++ b/src/ranap/RANAP_RAI-List.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RAI_List_H_
+#define _RANAP_RAI_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_RAI.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RAI-List */
+typedef struct RANAP_RAI_List {
+ A_SEQUENCE_OF(RANAP_RAI_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RAI_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAI_List;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RAI_List_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RAI.c b/src/ranap/RANAP_RAI.c
new file mode 100644
index 0000000..2e62967
--- /dev/null
+++ b/src/ranap/RANAP_RAI.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RAI.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_RAI_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RAI, lAI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_LAI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "lAI"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RAI, rAC),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RAC,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rAC"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_RAI, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_RAI_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_RAI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RAI_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lAI */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rAC */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RAI_specs_1 = {
+ sizeof(struct RANAP_RAI),
+ offsetof(struct RANAP_RAI, _asn_ctx),
+ asn_MAP_RANAP_RAI_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_RAI_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RAI = {
+ "RANAP_RAI",
+ "RANAP_RAI",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RAI_tags_1,
+ sizeof(asn_DEF_RANAP_RAI_tags_1)
+ /sizeof(asn_DEF_RANAP_RAI_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RAI_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RAI_tags_1)
+ /sizeof(asn_DEF_RANAP_RAI_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RAI_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_RAI_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RAI.h b/src/ranap/RANAP_RAI.h
new file mode 100644
index 0000000..b9aa4c0
--- /dev/null
+++ b/src/ranap/RANAP_RAI.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RAI_H_
+#define _RANAP_RAI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_LAI.h"
+#include "RANAP_RAC.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RAI */
+typedef struct RANAP_RAI {
+ RANAP_LAI_t lAI;
+ RANAP_RAC_t rAC;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RAI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAI;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RAI_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RAListofIdleModeUEs.c b/src/ranap/RANAP_RAListofIdleModeUEs.c
new file mode 100644
index 0000000..694b3cc
--- /dev/null
+++ b/src/ranap/RANAP_RAListofIdleModeUEs.c
@@ -0,0 +1,233 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RAListofIdleModeUEs.h"
+
+static int
+emptyFullRAListofIdleModeUEs_3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+emptyFullRAListofIdleModeUEs_3_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+static void
+emptyFullRAListofIdleModeUEs_3_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ emptyFullRAListofIdleModeUEs_3_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+static int
+emptyFullRAListofIdleModeUEs_3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ emptyFullRAListofIdleModeUEs_3_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+static asn_dec_rval_t
+emptyFullRAListofIdleModeUEs_3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ emptyFullRAListofIdleModeUEs_3_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+static asn_enc_rval_t
+emptyFullRAListofIdleModeUEs_3_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ emptyFullRAListofIdleModeUEs_3_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+static asn_dec_rval_t
+emptyFullRAListofIdleModeUEs_3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ emptyFullRAListofIdleModeUEs_3_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+static asn_enc_rval_t
+emptyFullRAListofIdleModeUEs_3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ emptyFullRAListofIdleModeUEs_3_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+static asn_dec_rval_t
+emptyFullRAListofIdleModeUEs_3_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ emptyFullRAListofIdleModeUEs_3_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_enc_rval_t
+emptyFullRAListofIdleModeUEs_3_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ emptyFullRAListofIdleModeUEs_3_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+static asn_enc_rval_t
+emptyFullRAListofIdleModeUEs_3_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ emptyFullRAListofIdleModeUEs_3_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+static asn_dec_rval_t
+emptyFullRAListofIdleModeUEs_3_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ emptyFullRAListofIdleModeUEs_3_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_emptyFullRAListofIdleModeUEs_constr_3 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_type_RANAP_RAListofIdleModeUEs_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_emptyFullRAListofIdleModeUEs_value2enum_3[] = {
+ { 0, 9, "emptylist" },
+ { 1, 8, "fulllist" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_emptyFullRAListofIdleModeUEs_enum2value_3[] = {
+ 0, /* emptylist(0) */
+ 1 /* fulllist(1) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_emptyFullRAListofIdleModeUEs_specs_3 = {
+ asn_MAP_emptyFullRAListofIdleModeUEs_value2enum_3, /* "tag" => N; sorted by tag */
+ asn_MAP_emptyFullRAListofIdleModeUEs_enum2value_3, /* 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_emptyFullRAListofIdleModeUEs_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_emptyFullRAListofIdleModeUEs_3 = {
+ "emptyFullRAListofIdleModeUEs",
+ "emptyFullRAListofIdleModeUEs",
+ emptyFullRAListofIdleModeUEs_3_free,
+ emptyFullRAListofIdleModeUEs_3_print,
+ emptyFullRAListofIdleModeUEs_3_constraint,
+ emptyFullRAListofIdleModeUEs_3_decode_ber,
+ emptyFullRAListofIdleModeUEs_3_encode_der,
+ emptyFullRAListofIdleModeUEs_3_decode_xer,
+ emptyFullRAListofIdleModeUEs_3_encode_xer,
+ emptyFullRAListofIdleModeUEs_3_decode_uper,
+ emptyFullRAListofIdleModeUEs_3_encode_uper,
+ emptyFullRAListofIdleModeUEs_3_decode_aper,
+ emptyFullRAListofIdleModeUEs_3_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_emptyFullRAListofIdleModeUEs_tags_3,
+ sizeof(asn_DEF_emptyFullRAListofIdleModeUEs_tags_3)
+ /sizeof(asn_DEF_emptyFullRAListofIdleModeUEs_tags_3[0]) - 1, /* 1 */
+ asn_DEF_emptyFullRAListofIdleModeUEs_tags_3, /* Same as above */
+ sizeof(asn_DEF_emptyFullRAListofIdleModeUEs_tags_3)
+ /sizeof(asn_DEF_emptyFullRAListofIdleModeUEs_tags_3[0]), /* 2 */
+ &asn_PER_type_emptyFullRAListofIdleModeUEs_constr_3,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_emptyFullRAListofIdleModeUEs_specs_3 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_RAListofIdleModeUEs_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RAListofIdleModeUEs, choice.notEmptyRAListofIdleModeUEs),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_NotEmptyRAListofIdleModeUEs,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "notEmptyRAListofIdleModeUEs"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RAListofIdleModeUEs, choice.emptyFullRAListofIdleModeUEs),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_emptyFullRAListofIdleModeUEs_3,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "emptyFullRAListofIdleModeUEs"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RAListofIdleModeUEs_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* notEmptyRAListofIdleModeUEs */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* emptyFullRAListofIdleModeUEs */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_RAListofIdleModeUEs_specs_1 = {
+ sizeof(struct RANAP_RAListofIdleModeUEs),
+ offsetof(struct RANAP_RAListofIdleModeUEs, _asn_ctx),
+ offsetof(struct RANAP_RAListofIdleModeUEs, present),
+ sizeof(((struct RANAP_RAListofIdleModeUEs *)0)->present),
+ asn_MAP_RANAP_RAListofIdleModeUEs_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RAListofIdleModeUEs = {
+ "RANAP_RAListofIdleModeUEs",
+ "RANAP_RAListofIdleModeUEs",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_RAListofIdleModeUEs_constr_1,
+ asn_MBR_RANAP_RAListofIdleModeUEs_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_RAListofIdleModeUEs_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RAListofIdleModeUEs.h b/src/ranap/RANAP_RAListofIdleModeUEs.h
new file mode 100644
index 0000000..db5f7c1
--- /dev/null
+++ b/src/ranap/RANAP_RAListofIdleModeUEs.h
@@ -0,0 +1,63 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RAListofIdleModeUEs_H_
+#define _RANAP_RAListofIdleModeUEs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_NotEmptyRAListofIdleModeUEs.h"
+#include <NativeEnumerated.h>
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_RAListofIdleModeUEs_PR {
+ RANAP_RAListofIdleModeUEs_PR_NOTHING, /* No components present */
+ RANAP_RAListofIdleModeUEs_PR_notEmptyRAListofIdleModeUEs,
+ RANAP_RAListofIdleModeUEs_PR_emptyFullRAListofIdleModeUEs,
+ /* Extensions may appear below */
+
+} RANAP_RAListofIdleModeUEs_PR;
+typedef enum emptyFullRAListofIdleModeUEs {
+ emptyFullRAListofIdleModeUEs_emptylist = 0,
+ emptyFullRAListofIdleModeUEs_fulllist = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_emptyFullRAListofIdleModeUEs;
+
+/* RANAP_RAListofIdleModeUEs */
+typedef struct RANAP_RAListofIdleModeUEs {
+ RANAP_RAListofIdleModeUEs_PR present;
+ union RANAP_RAListofIdleModeUEs_u {
+ RANAP_NotEmptyRAListofIdleModeUEs_t notEmptyRAListofIdleModeUEs;
+ long emptyFullRAListofIdleModeUEs;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RAListofIdleModeUEs_t;
+
+/* Implementation */
+/* extern asn_TYPE_descriptor_t asn_DEF_emptyFullRAListofIdleModeUEs_3; // (Use -fall-defs-global to expose) */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAListofIdleModeUEs;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RAListofIdleModeUEs_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RAListwithNoIdleModeUEsAnyMore.c b/src/ranap/RANAP_RAListwithNoIdleModeUEsAnyMore.c
new file mode 100644
index 0000000..2bfeeb3
--- /dev/null
+++ b/src/ranap/RANAP_RAListwithNoIdleModeUEsAnyMore.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RAListwithNoIdleModeUEsAnyMore.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_RAListwithNoIdleModeUEsAnyMore_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, -1, 1l, 65536l } /* (SIZE(1..65536)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_RAListwithNoIdleModeUEsAnyMore_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_RAC,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RAListwithNoIdleModeUEsAnyMore_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_RAListwithNoIdleModeUEsAnyMore_specs_1 = {
+ sizeof(struct RANAP_RAListwithNoIdleModeUEsAnyMore),
+ offsetof(struct RANAP_RAListwithNoIdleModeUEsAnyMore, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RAListwithNoIdleModeUEsAnyMore = {
+ "RANAP_RAListwithNoIdleModeUEsAnyMore",
+ "RANAP_RAListwithNoIdleModeUEsAnyMore",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RAListwithNoIdleModeUEsAnyMore_tags_1,
+ sizeof(asn_DEF_RANAP_RAListwithNoIdleModeUEsAnyMore_tags_1)
+ /sizeof(asn_DEF_RANAP_RAListwithNoIdleModeUEsAnyMore_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RAListwithNoIdleModeUEsAnyMore_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RAListwithNoIdleModeUEsAnyMore_tags_1)
+ /sizeof(asn_DEF_RANAP_RAListwithNoIdleModeUEsAnyMore_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RAListwithNoIdleModeUEsAnyMore_constr_1,
+ asn_MBR_RANAP_RAListwithNoIdleModeUEsAnyMore_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_RAListwithNoIdleModeUEsAnyMore_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RAListwithNoIdleModeUEsAnyMore.h b/src/ranap/RANAP_RAListwithNoIdleModeUEsAnyMore.h
new file mode 100644
index 0000000..0a9f0da
--- /dev/null
+++ b/src/ranap/RANAP_RAListwithNoIdleModeUEsAnyMore.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RAListwithNoIdleModeUEsAnyMore_H_
+#define _RANAP_RAListwithNoIdleModeUEsAnyMore_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_RAC.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RAListwithNoIdleModeUEsAnyMore */
+typedef struct RANAP_RAListwithNoIdleModeUEsAnyMore {
+ A_SEQUENCE_OF(RANAP_RAC_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RAListwithNoIdleModeUEsAnyMore_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAListwithNoIdleModeUEsAnyMore;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RAListwithNoIdleModeUEsAnyMore_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RANAP-EnhancedRelocationInformationRequest.c b/src/ranap/RANAP_RANAP-EnhancedRelocationInformationRequest.c
new file mode 100644
index 0000000..a79bbda
--- /dev/null
+++ b/src/ranap/RANAP_RANAP-EnhancedRelocationInformationRequest.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_RANAP-EnhancedRelocationInformationRequest.h"
+
+static int
+memb_rANAP_EnhancedRelocationInformationRequest_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_rANAP_EnhancedRelocationInformationRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_rANAP_EnhancedRelocationInformationRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_rANAP_EnhancedRelocationInformationRequest_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_rANAP_EnhancedRelocationInformationRequest_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_rANAP_EnhancedRelocationInformationRequest_ies_specs_2 = {
+ sizeof(struct rANAP_EnhancedRelocationInformationRequest_ies),
+ offsetof(struct rANAP_EnhancedRelocationInformationRequest_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_rANAP_EnhancedRelocationInformationRequest_ies_2 = {
+ "rANAP-EnhancedRelocationInformationRequest-ies",
+ "rANAP-EnhancedRelocationInformationRequest-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_rANAP_EnhancedRelocationInformationRequest_ies_tags_2,
+ sizeof(asn_DEF_rANAP_EnhancedRelocationInformationRequest_ies_tags_2)
+ /sizeof(asn_DEF_rANAP_EnhancedRelocationInformationRequest_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_rANAP_EnhancedRelocationInformationRequest_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_rANAP_EnhancedRelocationInformationRequest_ies_tags_2)
+ /sizeof(asn_DEF_rANAP_EnhancedRelocationInformationRequest_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_rANAP_EnhancedRelocationInformationRequest_ies_constr_2,
+ asn_MBR_rANAP_EnhancedRelocationInformationRequest_ies_2,
+ 1, /* Single element */
+ &asn_SPC_rANAP_EnhancedRelocationInformationRequest_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_RANAP_EnhancedRelocationInformationRequest_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RANAP_EnhancedRelocationInformationRequest, rANAP_EnhancedRelocationInformationRequest_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_rANAP_EnhancedRelocationInformationRequest_ies_2,
+ memb_rANAP_EnhancedRelocationInformationRequest_ies_constraint_1,
+ &asn_PER_memb_rANAP_EnhancedRelocationInformationRequest_ies_constr_2,
+ 0,
+ "rANAP-EnhancedRelocationInformationRequest-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RANAP_EnhancedRelocationInformationRequest_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RANAP_EnhancedRelocationInformationRequest_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* rANAP-EnhancedRelocationInformationRequest-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RANAP_EnhancedRelocationInformationRequest_specs_1 = {
+ sizeof(struct RANAP_RANAP_EnhancedRelocationInformationRequest),
+ offsetof(struct RANAP_RANAP_EnhancedRelocationInformationRequest, _asn_ctx),
+ asn_MAP_RANAP_RANAP_EnhancedRelocationInformationRequest_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RANAP_EnhancedRelocationInformationRequest = {
+ "RANAP_RANAP-EnhancedRelocationInformationRequest",
+ "RANAP_RANAP-EnhancedRelocationInformationRequest",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RANAP_EnhancedRelocationInformationRequest_tags_1,
+ sizeof(asn_DEF_RANAP_RANAP_EnhancedRelocationInformationRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_RANAP_EnhancedRelocationInformationRequest_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RANAP_EnhancedRelocationInformationRequest_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RANAP_EnhancedRelocationInformationRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_RANAP_EnhancedRelocationInformationRequest_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RANAP_EnhancedRelocationInformationRequest_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_RANAP_EnhancedRelocationInformationRequest_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RANAP-EnhancedRelocationInformationRequest.h b/src/ranap/RANAP_RANAP-EnhancedRelocationInformationRequest.h
new file mode 100644
index 0000000..6fdaead
--- /dev/null
+++ b/src/ranap/RANAP_RANAP-EnhancedRelocationInformationRequest.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_RANAP_EnhancedRelocationInformationRequest_H_
+#define _RANAP_RANAP_EnhancedRelocationInformationRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RANAP-EnhancedRelocationInformationRequest */
+typedef struct RANAP_RANAP_EnhancedRelocationInformationRequest {
+ struct rANAP_EnhancedRelocationInformationRequest_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } rANAP_EnhancedRelocationInformationRequest_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RANAP_EnhancedRelocationInformationRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RANAP_EnhancedRelocationInformationRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RANAP_EnhancedRelocationInformationRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RANAP-EnhancedRelocationInformationResponse.c b/src/ranap/RANAP_RANAP-EnhancedRelocationInformationResponse.c
new file mode 100644
index 0000000..6f29883
--- /dev/null
+++ b/src/ranap/RANAP_RANAP-EnhancedRelocationInformationResponse.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_RANAP-EnhancedRelocationInformationResponse.h"
+
+static int
+memb_rANAP_EnhancedRelocationInformationResponse_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_rANAP_EnhancedRelocationInformationResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_rANAP_EnhancedRelocationInformationResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_rANAP_EnhancedRelocationInformationResponse_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_rANAP_EnhancedRelocationInformationResponse_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_rANAP_EnhancedRelocationInformationResponse_ies_specs_2 = {
+ sizeof(struct rANAP_EnhancedRelocationInformationResponse_ies),
+ offsetof(struct rANAP_EnhancedRelocationInformationResponse_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_rANAP_EnhancedRelocationInformationResponse_ies_2 = {
+ "rANAP-EnhancedRelocationInformationResponse-ies",
+ "rANAP-EnhancedRelocationInformationResponse-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_rANAP_EnhancedRelocationInformationResponse_ies_tags_2,
+ sizeof(asn_DEF_rANAP_EnhancedRelocationInformationResponse_ies_tags_2)
+ /sizeof(asn_DEF_rANAP_EnhancedRelocationInformationResponse_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_rANAP_EnhancedRelocationInformationResponse_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_rANAP_EnhancedRelocationInformationResponse_ies_tags_2)
+ /sizeof(asn_DEF_rANAP_EnhancedRelocationInformationResponse_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_rANAP_EnhancedRelocationInformationResponse_ies_constr_2,
+ asn_MBR_rANAP_EnhancedRelocationInformationResponse_ies_2,
+ 1, /* Single element */
+ &asn_SPC_rANAP_EnhancedRelocationInformationResponse_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_RANAP_EnhancedRelocationInformationResponse_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RANAP_EnhancedRelocationInformationResponse, rANAP_EnhancedRelocationInformationResponse_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_rANAP_EnhancedRelocationInformationResponse_ies_2,
+ memb_rANAP_EnhancedRelocationInformationResponse_ies_constraint_1,
+ &asn_PER_memb_rANAP_EnhancedRelocationInformationResponse_ies_constr_2,
+ 0,
+ "rANAP-EnhancedRelocationInformationResponse-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RANAP_EnhancedRelocationInformationResponse_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RANAP_EnhancedRelocationInformationResponse_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* rANAP-EnhancedRelocationInformationResponse-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RANAP_EnhancedRelocationInformationResponse_specs_1 = {
+ sizeof(struct RANAP_RANAP_EnhancedRelocationInformationResponse),
+ offsetof(struct RANAP_RANAP_EnhancedRelocationInformationResponse, _asn_ctx),
+ asn_MAP_RANAP_RANAP_EnhancedRelocationInformationResponse_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RANAP_EnhancedRelocationInformationResponse = {
+ "RANAP_RANAP-EnhancedRelocationInformationResponse",
+ "RANAP_RANAP-EnhancedRelocationInformationResponse",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RANAP_EnhancedRelocationInformationResponse_tags_1,
+ sizeof(asn_DEF_RANAP_RANAP_EnhancedRelocationInformationResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_RANAP_EnhancedRelocationInformationResponse_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RANAP_EnhancedRelocationInformationResponse_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RANAP_EnhancedRelocationInformationResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_RANAP_EnhancedRelocationInformationResponse_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RANAP_EnhancedRelocationInformationResponse_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_RANAP_EnhancedRelocationInformationResponse_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RANAP-EnhancedRelocationInformationResponse.h b/src/ranap/RANAP_RANAP-EnhancedRelocationInformationResponse.h
new file mode 100644
index 0000000..f1ee9e8
--- /dev/null
+++ b/src/ranap/RANAP_RANAP-EnhancedRelocationInformationResponse.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_RANAP_EnhancedRelocationInformationResponse_H_
+#define _RANAP_RANAP_EnhancedRelocationInformationResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RANAP-EnhancedRelocationInformationResponse */
+typedef struct RANAP_RANAP_EnhancedRelocationInformationResponse {
+ struct rANAP_EnhancedRelocationInformationResponse_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } rANAP_EnhancedRelocationInformationResponse_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RANAP_EnhancedRelocationInformationResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RANAP_EnhancedRelocationInformationResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RANAP_EnhancedRelocationInformationResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RANAP-PDU.c b/src/ranap/RANAP_RANAP-PDU.c
new file mode 100644
index 0000000..06ab033
--- /dev/null
+++ b/src/ranap/RANAP_RANAP-PDU.c
@@ -0,0 +1,92 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_RANAP-PDU.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_RANAP_PDU_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 3l } /* (0..3,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_RANAP_PDU_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RANAP_PDU, choice.initiatingMessage),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_InitiatingMessage,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "initiatingMessage"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RANAP_PDU, choice.successfulOutcome),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_SuccessfulOutcome,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "successfulOutcome"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RANAP_PDU, choice.unsuccessfulOutcome),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_UnsuccessfulOutcome,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "unsuccessfulOutcome"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RANAP_PDU, choice.outcome),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Outcome,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "outcome"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RANAP_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 */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* outcome */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_RANAP_PDU_specs_1 = {
+ sizeof(struct RANAP_RANAP_PDU),
+ offsetof(struct RANAP_RANAP_PDU, _asn_ctx),
+ offsetof(struct RANAP_RANAP_PDU, present),
+ sizeof(((struct RANAP_RANAP_PDU *)0)->present),
+ asn_MAP_RANAP_RANAP_PDU_tag2el_1,
+ 4, /* Count of tags in the map */
+ 0,
+ 4 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RANAP_PDU = {
+ "RANAP_RANAP-PDU",
+ "RANAP_RANAP-PDU",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_RANAP_PDU_constr_1,
+ asn_MBR_RANAP_RANAP_PDU_1,
+ 4, /* Elements count */
+ &asn_SPC_RANAP_RANAP_PDU_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RANAP-PDU.h b/src/ranap/RANAP_RANAP-PDU.h
new file mode 100644
index 0000000..6f93183
--- /dev/null
+++ b/src/ranap/RANAP_RANAP-PDU.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_RANAP_PDU_H_
+#define _RANAP_RANAP_PDU_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_InitiatingMessage.h"
+#include "RANAP_SuccessfulOutcome.h"
+#include "RANAP_UnsuccessfulOutcome.h"
+#include "RANAP_Outcome.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_RANAP_PDU_PR {
+ RANAP_RANAP_PDU_PR_NOTHING, /* No components present */
+ RANAP_RANAP_PDU_PR_initiatingMessage,
+ RANAP_RANAP_PDU_PR_successfulOutcome,
+ RANAP_RANAP_PDU_PR_unsuccessfulOutcome,
+ RANAP_RANAP_PDU_PR_outcome,
+ /* Extensions may appear below */
+
+} RANAP_RANAP_PDU_PR;
+
+/* RANAP_RANAP-PDU */
+typedef struct RANAP_RANAP_PDU {
+ RANAP_RANAP_PDU_PR present;
+ union RANAP_RANAP_PDU_u {
+ RANAP_InitiatingMessage_t initiatingMessage;
+ RANAP_SuccessfulOutcome_t successfulOutcome;
+ RANAP_UnsuccessfulOutcome_t unsuccessfulOutcome;
+ RANAP_Outcome_t outcome;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RANAP_PDU_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RANAP_PDU;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RANAP_PDU_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RANAP-RelocationInformation.c b/src/ranap/RANAP_RANAP-RelocationInformation.c
new file mode 100644
index 0000000..fd7ec95
--- /dev/null
+++ b/src/ranap/RANAP_RANAP-RelocationInformation.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_RANAP-RelocationInformation.h"
+
+static int
+memb_rANAP_RelocationInformation_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_rANAP_RelocationInformation_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_rANAP_RelocationInformation_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_rANAP_RelocationInformation_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_rANAP_RelocationInformation_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_rANAP_RelocationInformation_ies_specs_2 = {
+ sizeof(struct rANAP_RelocationInformation_ies),
+ offsetof(struct rANAP_RelocationInformation_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_rANAP_RelocationInformation_ies_2 = {
+ "rANAP-RelocationInformation-ies",
+ "rANAP-RelocationInformation-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_rANAP_RelocationInformation_ies_tags_2,
+ sizeof(asn_DEF_rANAP_RelocationInformation_ies_tags_2)
+ /sizeof(asn_DEF_rANAP_RelocationInformation_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_rANAP_RelocationInformation_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_rANAP_RelocationInformation_ies_tags_2)
+ /sizeof(asn_DEF_rANAP_RelocationInformation_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_rANAP_RelocationInformation_ies_constr_2,
+ asn_MBR_rANAP_RelocationInformation_ies_2,
+ 1, /* Single element */
+ &asn_SPC_rANAP_RelocationInformation_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_RANAP_RelocationInformation_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RANAP_RelocationInformation, rANAP_RelocationInformation_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_rANAP_RelocationInformation_ies_2,
+ memb_rANAP_RelocationInformation_ies_constraint_1,
+ &asn_PER_memb_rANAP_RelocationInformation_ies_constr_2,
+ 0,
+ "rANAP-RelocationInformation-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RANAP_RelocationInformation_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RANAP_RelocationInformation_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* rANAP-RelocationInformation-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RANAP_RelocationInformation_specs_1 = {
+ sizeof(struct RANAP_RANAP_RelocationInformation),
+ offsetof(struct RANAP_RANAP_RelocationInformation, _asn_ctx),
+ asn_MAP_RANAP_RANAP_RelocationInformation_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RANAP_RelocationInformation = {
+ "RANAP_RANAP-RelocationInformation",
+ "RANAP_RANAP-RelocationInformation",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RANAP_RelocationInformation_tags_1,
+ sizeof(asn_DEF_RANAP_RANAP_RelocationInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_RANAP_RelocationInformation_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RANAP_RelocationInformation_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RANAP_RelocationInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_RANAP_RelocationInformation_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RANAP_RelocationInformation_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_RANAP_RelocationInformation_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RANAP-RelocationInformation.h b/src/ranap/RANAP_RANAP-RelocationInformation.h
new file mode 100644
index 0000000..199d85c
--- /dev/null
+++ b/src/ranap/RANAP_RANAP-RelocationInformation.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_RANAP_RelocationInformation_H_
+#define _RANAP_RANAP_RelocationInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RANAP-RelocationInformation */
+typedef struct RANAP_RANAP_RelocationInformation {
+ struct rANAP_RelocationInformation_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } rANAP_RelocationInformation_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RANAP_RelocationInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RANAP_RelocationInformation;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RANAP_RelocationInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RAT-Type.c b/src/ranap/RANAP_RAT-Type.c
new file mode 100644
index 0000000..11b7336
--- /dev/null
+++ b/src/ranap/RANAP_RAT-Type.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RAT-Type.h"
+
+int
+RANAP_RAT_Type_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_RAT_Type_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_RAT_Type_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_RAT_Type_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_RAT_Type_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RAT_Type_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RAT_Type_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_RAT_Type_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_RAT_Type_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RAT_Type_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RAT_Type_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_RAT_Type_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_RAT_Type_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RAT_Type_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RAT_Type_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RAT_Type_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_RAT_Type_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RAT_Type_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_RAT_Type_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RAT_Type_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_RAT_Type_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RAT_Type_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_RAT_Type_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_RAT_Type_value2enum_1[] = {
+ { 0, 5, "utran" },
+ { 1, 5, "geran" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_RAT_Type_enum2value_1[] = {
+ 1, /* geran(1) */
+ 0 /* utran(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_RAT_Type_specs_1 = {
+ asn_MAP_RANAP_RAT_Type_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_RAT_Type_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_RANAP_RAT_Type_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RAT_Type = {
+ "RANAP_RAT-Type",
+ "RANAP_RAT-Type",
+ RANAP_RAT_Type_free,
+ RANAP_RAT_Type_print,
+ RANAP_RAT_Type_constraint,
+ RANAP_RAT_Type_decode_ber,
+ RANAP_RAT_Type_encode_der,
+ RANAP_RAT_Type_decode_xer,
+ RANAP_RAT_Type_encode_xer,
+ RANAP_RAT_Type_decode_uper,
+ RANAP_RAT_Type_encode_uper,
+ RANAP_RAT_Type_decode_aper,
+ RANAP_RAT_Type_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RAT_Type_tags_1,
+ sizeof(asn_DEF_RANAP_RAT_Type_tags_1)
+ /sizeof(asn_DEF_RANAP_RAT_Type_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RAT_Type_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RAT_Type_tags_1)
+ /sizeof(asn_DEF_RANAP_RAT_Type_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RAT_Type_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_RAT_Type_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RAT-Type.h b/src/ranap/RANAP_RAT-Type.h
new file mode 100644
index 0000000..55c5467
--- /dev/null
+++ b/src/ranap/RANAP_RAT-Type.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RAT_Type_H_
+#define _RANAP_RAT_Type_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_RAT_Type {
+ RANAP_RAT_Type_utran = 0,
+ RANAP_RAT_Type_geran = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_RAT_Type;
+
+/* RANAP_RAT-Type */
+typedef long RANAP_RAT_Type_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAT_Type;
+asn_struct_free_f RANAP_RAT_Type_free;
+asn_struct_print_f RANAP_RAT_Type_print;
+asn_constr_check_f RANAP_RAT_Type_constraint;
+ber_type_decoder_f RANAP_RAT_Type_decode_ber;
+der_type_encoder_f RANAP_RAT_Type_encode_der;
+xer_type_decoder_f RANAP_RAT_Type_decode_xer;
+xer_type_encoder_f RANAP_RAT_Type_encode_xer;
+per_type_decoder_f RANAP_RAT_Type_decode_uper;
+per_type_encoder_f RANAP_RAT_Type_encode_uper;
+per_type_decoder_f RANAP_RAT_Type_decode_aper;
+per_type_encoder_f RANAP_RAT_Type_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RAT_Type_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RAofIdleModeUEs.c b/src/ranap/RANAP_RAofIdleModeUEs.c
new file mode 100644
index 0000000..2314d74
--- /dev/null
+++ b/src/ranap/RANAP_RAofIdleModeUEs.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RAofIdleModeUEs.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_RAofIdleModeUEs_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, -1, 1l, 65536l } /* (SIZE(1..65536)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_RAofIdleModeUEs_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_RAC,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RAofIdleModeUEs_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_RAofIdleModeUEs_specs_1 = {
+ sizeof(struct RANAP_RAofIdleModeUEs),
+ offsetof(struct RANAP_RAofIdleModeUEs, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RAofIdleModeUEs = {
+ "RANAP_RAofIdleModeUEs",
+ "RANAP_RAofIdleModeUEs",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RAofIdleModeUEs_tags_1,
+ sizeof(asn_DEF_RANAP_RAofIdleModeUEs_tags_1)
+ /sizeof(asn_DEF_RANAP_RAofIdleModeUEs_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RAofIdleModeUEs_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RAofIdleModeUEs_tags_1)
+ /sizeof(asn_DEF_RANAP_RAofIdleModeUEs_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RAofIdleModeUEs_constr_1,
+ asn_MBR_RANAP_RAofIdleModeUEs_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_RAofIdleModeUEs_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RAofIdleModeUEs.h b/src/ranap/RANAP_RAofIdleModeUEs.h
new file mode 100644
index 0000000..2913678
--- /dev/null
+++ b/src/ranap/RANAP_RAofIdleModeUEs.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RAofIdleModeUEs_H_
+#define _RANAP_RAofIdleModeUEs_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_RAC.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RAofIdleModeUEs */
+typedef struct RANAP_RAofIdleModeUEs {
+ A_SEQUENCE_OF(RANAP_RAC_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RAofIdleModeUEs_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAofIdleModeUEs;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RAofIdleModeUEs_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RIM-Transfer.c b/src/ranap/RANAP_RIM-Transfer.c
new file mode 100644
index 0000000..3bd8e51
--- /dev/null
+++ b/src/ranap/RANAP_RIM-Transfer.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RIM-Transfer.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_RIM_Transfer_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RIM_Transfer, rIMInformation),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RIMInformation,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rIMInformation"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_RIM_Transfer, rIMRoutingAddress),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANAP_RIMRoutingAddress,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rIMRoutingAddress"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_RIM_Transfer, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_RIM_Transfer_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_RIM_Transfer_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RIM_Transfer_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rIMInformation */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rIMRoutingAddress */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RIM_Transfer_specs_1 = {
+ sizeof(struct RANAP_RIM_Transfer),
+ offsetof(struct RANAP_RIM_Transfer, _asn_ctx),
+ asn_MAP_RANAP_RIM_Transfer_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_RIM_Transfer_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RIM_Transfer = {
+ "RANAP_RIM-Transfer",
+ "RANAP_RIM-Transfer",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RIM_Transfer_tags_1,
+ sizeof(asn_DEF_RANAP_RIM_Transfer_tags_1)
+ /sizeof(asn_DEF_RANAP_RIM_Transfer_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RIM_Transfer_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RIM_Transfer_tags_1)
+ /sizeof(asn_DEF_RANAP_RIM_Transfer_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RIM_Transfer_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_RIM_Transfer_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RIM-Transfer.h b/src/ranap/RANAP_RIM-Transfer.h
new file mode 100644
index 0000000..7187ad6
--- /dev/null
+++ b/src/ranap/RANAP_RIM-Transfer.h
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RIM_Transfer_H_
+#define _RANAP_RIM_Transfer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_RIMInformation.h"
+#include "RANAP_RIMRoutingAddress.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RIM-Transfer */
+typedef struct RANAP_RIM_Transfer {
+ RANAP_RIMInformation_t rIMInformation;
+ RANAP_RIMRoutingAddress_t *rIMRoutingAddress /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RIM_Transfer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RIM_Transfer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RIM_Transfer_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RIMInformation.c b/src/ranap/RANAP_RIMInformation.c
new file mode 100644
index 0000000..fa073b6
--- /dev/null
+++ b/src/ranap/RANAP_RIMInformation.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RIMInformation.h"
+
+int
+RANAP_RIMInformation_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_RIMInformation_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_RIMInformation_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_RIMInformation_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_RIMInformation_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RIMInformation_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RIMInformation_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_RIMInformation_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_RIMInformation_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RIMInformation_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RIMInformation_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_RIMInformation_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_RIMInformation_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RIMInformation_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RIMInformation_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RIMInformation_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_RIMInformation_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RIMInformation_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_RIMInformation_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RIMInformation_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_RIMInformation_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RIMInformation_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static const ber_tlv_tag_t asn_DEF_RANAP_RIMInformation_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RIMInformation = {
+ "RANAP_RIMInformation",
+ "RANAP_RIMInformation",
+ RANAP_RIMInformation_free,
+ RANAP_RIMInformation_print,
+ RANAP_RIMInformation_constraint,
+ RANAP_RIMInformation_decode_ber,
+ RANAP_RIMInformation_encode_der,
+ RANAP_RIMInformation_decode_xer,
+ RANAP_RIMInformation_encode_xer,
+ RANAP_RIMInformation_decode_uper,
+ RANAP_RIMInformation_encode_uper,
+ RANAP_RIMInformation_decode_aper,
+ RANAP_RIMInformation_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RIMInformation_tags_1,
+ sizeof(asn_DEF_RANAP_RIMInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_RIMInformation_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RIMInformation_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RIMInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_RIMInformation_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_RIMInformation.h b/src/ranap/RANAP_RIMInformation.h
new file mode 100644
index 0000000..47b60e9
--- /dev/null
+++ b/src/ranap/RANAP_RIMInformation.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RIMInformation_H_
+#define _RANAP_RIMInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RIMInformation */
+typedef OCTET_STRING_t RANAP_RIMInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RIMInformation;
+asn_struct_free_f RANAP_RIMInformation_free;
+asn_struct_print_f RANAP_RIMInformation_print;
+asn_constr_check_f RANAP_RIMInformation_constraint;
+ber_type_decoder_f RANAP_RIMInformation_decode_ber;
+der_type_encoder_f RANAP_RIMInformation_encode_der;
+xer_type_decoder_f RANAP_RIMInformation_decode_xer;
+xer_type_encoder_f RANAP_RIMInformation_encode_xer;
+per_type_decoder_f RANAP_RIMInformation_decode_uper;
+per_type_encoder_f RANAP_RIMInformation_encode_uper;
+per_type_decoder_f RANAP_RIMInformation_decode_aper;
+per_type_encoder_f RANAP_RIMInformation_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RIMInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RIMRoutingAddress.c b/src/ranap/RANAP_RIMRoutingAddress.c
new file mode 100644
index 0000000..7ff3b5e
--- /dev/null
+++ b/src/ranap/RANAP_RIMRoutingAddress.c
@@ -0,0 +1,82 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RIMRoutingAddress.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_RIMRoutingAddress_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_RIMRoutingAddress_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RIMRoutingAddress, choice.targetRNC_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TargetRNC_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "targetRNC-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RIMRoutingAddress, choice.gERAN_Cell_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_GERAN_Cell_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "gERAN-Cell-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RIMRoutingAddress, choice.targeteNB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TargetENB_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "targeteNB-ID"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RIMRoutingAddress_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* targetRNC-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* gERAN-Cell-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* targeteNB-ID */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_RIMRoutingAddress_specs_1 = {
+ sizeof(struct RANAP_RIMRoutingAddress),
+ offsetof(struct RANAP_RIMRoutingAddress, _asn_ctx),
+ offsetof(struct RANAP_RIMRoutingAddress, present),
+ sizeof(((struct RANAP_RIMRoutingAddress *)0)->present),
+ asn_MAP_RANAP_RIMRoutingAddress_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RIMRoutingAddress = {
+ "RANAP_RIMRoutingAddress",
+ "RANAP_RIMRoutingAddress",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_RIMRoutingAddress_constr_1,
+ asn_MBR_RANAP_RIMRoutingAddress_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_RIMRoutingAddress_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RIMRoutingAddress.h b/src/ranap/RANAP_RIMRoutingAddress.h
new file mode 100644
index 0000000..3086b27
--- /dev/null
+++ b/src/ranap/RANAP_RIMRoutingAddress.h
@@ -0,0 +1,57 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RIMRoutingAddress_H_
+#define _RANAP_RIMRoutingAddress_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_TargetRNC-ID.h"
+#include "RANAP_GERAN-Cell-ID.h"
+#include "RANAP_TargetENB-ID.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_RIMRoutingAddress_PR {
+ RANAP_RIMRoutingAddress_PR_NOTHING, /* No components present */
+ RANAP_RIMRoutingAddress_PR_targetRNC_ID,
+ RANAP_RIMRoutingAddress_PR_gERAN_Cell_ID,
+ /* Extensions may appear below */
+ RANAP_RIMRoutingAddress_PR_targeteNB_ID
+} RANAP_RIMRoutingAddress_PR;
+
+/* RANAP_RIMRoutingAddress */
+typedef struct RANAP_RIMRoutingAddress {
+ RANAP_RIMRoutingAddress_PR present;
+ union RANAP_RIMRoutingAddress_u {
+ RANAP_TargetRNC_ID_t targetRNC_ID;
+ RANAP_GERAN_Cell_ID_t gERAN_Cell_ID;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ RANAP_TargetENB_ID_t targeteNB_ID;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RIMRoutingAddress_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RIMRoutingAddress;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RIMRoutingAddress_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RNC-ID.c b/src/ranap/RANAP_RNC-ID.c
new file mode 100644
index 0000000..c6a12a3
--- /dev/null
+++ b/src/ranap/RANAP_RNC-ID.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RNC-ID.h"
+
+int
+RANAP_RNC_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 4095l)) {
+ /* 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 void
+RANAP_RNC_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_RNC_ID_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_RNC_ID_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_RNC_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RNC_ID_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RNC_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_RNC_ID_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_RNC_ID_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RNC_ID_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RNC_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_RNC_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_RNC_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RNC_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RNC_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RNC_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_RNC_ID_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RNC_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_RNC_ID_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RNC_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_RNC_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RNC_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_RNC_ID_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 12, 12, 0l, 4095l } /* (0..4095) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RNC_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RNC_ID = {
+ "RANAP_RNC-ID",
+ "RANAP_RNC-ID",
+ RANAP_RNC_ID_free,
+ RANAP_RNC_ID_print,
+ RANAP_RNC_ID_constraint,
+ RANAP_RNC_ID_decode_ber,
+ RANAP_RNC_ID_encode_der,
+ RANAP_RNC_ID_decode_xer,
+ RANAP_RNC_ID_encode_xer,
+ RANAP_RNC_ID_decode_uper,
+ RANAP_RNC_ID_encode_uper,
+ RANAP_RNC_ID_decode_aper,
+ RANAP_RNC_ID_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RNC_ID_tags_1,
+ sizeof(asn_DEF_RANAP_RNC_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_RNC_ID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RNC_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RNC_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_RNC_ID_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RNC_ID_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_RNC-ID.h b/src/ranap/RANAP_RNC-ID.h
new file mode 100644
index 0000000..713b3f1
--- /dev/null
+++ b/src/ranap/RANAP_RNC-ID.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RNC_ID_H_
+#define _RANAP_RNC_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RNC-ID */
+typedef long RANAP_RNC_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RNC_ID;
+asn_struct_free_f RANAP_RNC_ID_free;
+asn_struct_print_f RANAP_RNC_ID_print;
+asn_constr_check_f RANAP_RNC_ID_constraint;
+ber_type_decoder_f RANAP_RNC_ID_decode_ber;
+der_type_encoder_f RANAP_RNC_ID_encode_der;
+xer_type_decoder_f RANAP_RNC_ID_decode_xer;
+xer_type_encoder_f RANAP_RNC_ID_encode_xer;
+per_type_decoder_f RANAP_RNC_ID_decode_uper;
+per_type_encoder_f RANAP_RNC_ID_encode_uper;
+per_type_decoder_f RANAP_RNC_ID_decode_aper;
+per_type_encoder_f RANAP_RNC_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RNC_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RNCTraceInformation.c b/src/ranap/RANAP_RNCTraceInformation.c
new file mode 100644
index 0000000..f72c4bd
--- /dev/null
+++ b/src/ranap/RANAP_RNCTraceInformation.c
@@ -0,0 +1,252 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RNCTraceInformation.h"
+
+static int
+traceActivationIndicato_3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+traceActivationIndicato_3_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+static void
+traceActivationIndicato_3_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ traceActivationIndicato_3_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+static int
+traceActivationIndicato_3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ traceActivationIndicato_3_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+static asn_dec_rval_t
+traceActivationIndicato_3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ traceActivationIndicato_3_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+static asn_enc_rval_t
+traceActivationIndicato_3_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ traceActivationIndicato_3_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+static asn_dec_rval_t
+traceActivationIndicato_3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ traceActivationIndicato_3_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+static asn_enc_rval_t
+traceActivationIndicato_3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ traceActivationIndicato_3_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+static asn_dec_rval_t
+traceActivationIndicato_3_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ traceActivationIndicato_3_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_enc_rval_t
+traceActivationIndicato_3_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ traceActivationIndicato_3_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+static asn_enc_rval_t
+traceActivationIndicato_3_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ traceActivationIndicato_3_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+static asn_dec_rval_t
+traceActivationIndicato_3_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ traceActivationIndicato_3_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_traceActivationIndicato_constr_3 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_traceActivationIndicato_value2enum_3[] = {
+ { 0, 9, "activated" },
+ { 1, 11, "deactivated" }
+};
+static const unsigned int asn_MAP_traceActivationIndicato_enum2value_3[] = {
+ 0, /* activated(0) */
+ 1 /* deactivated(1) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_traceActivationIndicato_specs_3 = {
+ asn_MAP_traceActivationIndicato_value2enum_3, /* "tag" => N; sorted by tag */
+ asn_MAP_traceActivationIndicato_enum2value_3, /* 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_traceActivationIndicato_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_traceActivationIndicato_3 = {
+ "traceActivationIndicato",
+ "traceActivationIndicato",
+ traceActivationIndicato_3_free,
+ traceActivationIndicato_3_print,
+ traceActivationIndicato_3_constraint,
+ traceActivationIndicato_3_decode_ber,
+ traceActivationIndicato_3_encode_der,
+ traceActivationIndicato_3_decode_xer,
+ traceActivationIndicato_3_encode_xer,
+ traceActivationIndicato_3_decode_uper,
+ traceActivationIndicato_3_encode_uper,
+ traceActivationIndicato_3_decode_aper,
+ traceActivationIndicato_3_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_traceActivationIndicato_tags_3,
+ sizeof(asn_DEF_traceActivationIndicato_tags_3)
+ /sizeof(asn_DEF_traceActivationIndicato_tags_3[0]) - 1, /* 1 */
+ asn_DEF_traceActivationIndicato_tags_3, /* Same as above */
+ sizeof(asn_DEF_traceActivationIndicato_tags_3)
+ /sizeof(asn_DEF_traceActivationIndicato_tags_3[0]), /* 2 */
+ &asn_PER_type_traceActivationIndicato_constr_3,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_traceActivationIndicato_specs_3 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_RNCTraceInformation_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RNCTraceInformation, traceReference),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TraceReference,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "traceReference"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RNCTraceInformation, traceActivationIndicato),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_traceActivationIndicato_3,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "traceActivationIndicato"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_RNCTraceInformation, equipmentsToBeTraced),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANAP_EquipmentsToBeTraced,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "equipmentsToBeTraced"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_RNCTraceInformation, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_RNCTraceInformation_oms_1[] = { 2, 3 };
+static const ber_tlv_tag_t asn_DEF_RANAP_RNCTraceInformation_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RNCTraceInformation_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* traceReference */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* traceActivationIndicato */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* equipmentsToBeTraced */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RNCTraceInformation_specs_1 = {
+ sizeof(struct RANAP_RNCTraceInformation),
+ offsetof(struct RANAP_RNCTraceInformation, _asn_ctx),
+ asn_MAP_RANAP_RNCTraceInformation_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_RANAP_RNCTraceInformation_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RNCTraceInformation = {
+ "RANAP_RNCTraceInformation",
+ "RANAP_RNCTraceInformation",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RNCTraceInformation_tags_1,
+ sizeof(asn_DEF_RANAP_RNCTraceInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_RNCTraceInformation_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RNCTraceInformation_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RNCTraceInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_RNCTraceInformation_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RNCTraceInformation_1,
+ 4, /* Elements count */
+ &asn_SPC_RANAP_RNCTraceInformation_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RNCTraceInformation.h b/src/ranap/RANAP_RNCTraceInformation.h
new file mode 100644
index 0000000..9674115
--- /dev/null
+++ b/src/ranap/RANAP_RNCTraceInformation.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RNCTraceInformation_H_
+#define _RANAP_RNCTraceInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_TraceReference.h"
+#include <NativeEnumerated.h>
+#include "RANAP_EquipmentsToBeTraced.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum traceActivationIndicato {
+ traceActivationIndicato_activated = 0,
+ traceActivationIndicato_deactivated = 1
+} e_traceActivationIndicato;
+
+/* RANAP_RNCTraceInformation */
+typedef struct RANAP_RNCTraceInformation {
+ RANAP_TraceReference_t traceReference;
+ long traceActivationIndicato;
+ RANAP_EquipmentsToBeTraced_t *equipmentsToBeTraced /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RNCTraceInformation_t;
+
+/* Implementation */
+/* extern asn_TYPE_descriptor_t asn_DEF_traceActivationIndicato_3; // (Use -fall-defs-global to expose) */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RNCTraceInformation;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RNCTraceInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RNSAPRelocationParameters.c b/src/ranap/RANAP_RNSAPRelocationParameters.c
new file mode 100644
index 0000000..d279a01
--- /dev/null
+++ b/src/ranap/RANAP_RNSAPRelocationParameters.c
@@ -0,0 +1,103 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RNSAPRelocationParameters.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_RNSAPRelocationParameters_1[] = {
+ { ATF_POINTER, 5, offsetof(struct RANAP_RNSAPRelocationParameters, rabParmetersList),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RABParametersList,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rabParmetersList"
+ },
+ { ATF_POINTER, 4, offsetof(struct RANAP_RNSAPRelocationParameters, locationReporting),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_LocationReportingTransferInformation,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "locationReporting"
+ },
+ { ATF_POINTER, 3, offsetof(struct RANAP_RNSAPRelocationParameters, traceInformation),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TraceInformation,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "traceInformation"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_RNSAPRelocationParameters, sourceSAI),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_SAI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "sourceSAI"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_RNSAPRelocationParameters, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_RNSAPRelocationParameters_oms_1[] = { 0, 1, 2, 3, 4 };
+static const ber_tlv_tag_t asn_DEF_RANAP_RNSAPRelocationParameters_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RNSAPRelocationParameters_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rabParmetersList */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* locationReporting */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* traceInformation */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* sourceSAI */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RNSAPRelocationParameters_specs_1 = {
+ sizeof(struct RANAP_RNSAPRelocationParameters),
+ offsetof(struct RANAP_RNSAPRelocationParameters, _asn_ctx),
+ asn_MAP_RANAP_RNSAPRelocationParameters_tag2el_1,
+ 5, /* Count of tags in the map */
+ asn_MAP_RANAP_RNSAPRelocationParameters_oms_1, /* Optional members */
+ 5, 0, /* Root/Additions */
+ 4, /* Start extensions */
+ 6 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RNSAPRelocationParameters = {
+ "RANAP_RNSAPRelocationParameters",
+ "RANAP_RNSAPRelocationParameters",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RNSAPRelocationParameters_tags_1,
+ sizeof(asn_DEF_RANAP_RNSAPRelocationParameters_tags_1)
+ /sizeof(asn_DEF_RANAP_RNSAPRelocationParameters_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RNSAPRelocationParameters_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RNSAPRelocationParameters_tags_1)
+ /sizeof(asn_DEF_RANAP_RNSAPRelocationParameters_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RNSAPRelocationParameters_1,
+ 5, /* Elements count */
+ &asn_SPC_RANAP_RNSAPRelocationParameters_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RNSAPRelocationParameters.h b/src/ranap/RANAP_RNSAPRelocationParameters.h
new file mode 100644
index 0000000..42c73da
--- /dev/null
+++ b/src/ranap/RANAP_RNSAPRelocationParameters.h
@@ -0,0 +1,49 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RNSAPRelocationParameters_H_
+#define _RANAP_RNSAPRelocationParameters_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_RABParametersList.h"
+#include "RANAP_LocationReportingTransferInformation.h"
+#include "RANAP_TraceInformation.h"
+#include "RANAP_SAI.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RNSAPRelocationParameters */
+typedef struct RANAP_RNSAPRelocationParameters {
+ RANAP_RABParametersList_t *rabParmetersList /* OPTIONAL */;
+ RANAP_LocationReportingTransferInformation_t *locationReporting /* OPTIONAL */;
+ RANAP_TraceInformation_t *traceInformation /* OPTIONAL */;
+ RANAP_SAI_t *sourceSAI /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RNSAPRelocationParameters_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RNSAPRelocationParameters;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RNSAPRelocationParameters_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RRC-Container.c b/src/ranap/RANAP_RRC-Container.c
new file mode 100644
index 0000000..b021d81
--- /dev/null
+++ b/src/ranap/RANAP_RRC-Container.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RRC-Container.h"
+
+int
+RANAP_RRC_Container_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_RRC_Container_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_RRC_Container_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_RRC_Container_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_RRC_Container_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RRC_Container_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RRC_Container_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_RRC_Container_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_RRC_Container_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RRC_Container_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RRC_Container_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_RRC_Container_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_RRC_Container_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RRC_Container_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RRC_Container_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RRC_Container_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_RRC_Container_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RRC_Container_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_RRC_Container_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RRC_Container_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_RRC_Container_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RRC_Container_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static const ber_tlv_tag_t asn_DEF_RANAP_RRC_Container_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RRC_Container = {
+ "RANAP_RRC-Container",
+ "RANAP_RRC-Container",
+ RANAP_RRC_Container_free,
+ RANAP_RRC_Container_print,
+ RANAP_RRC_Container_constraint,
+ RANAP_RRC_Container_decode_ber,
+ RANAP_RRC_Container_encode_der,
+ RANAP_RRC_Container_decode_xer,
+ RANAP_RRC_Container_encode_xer,
+ RANAP_RRC_Container_decode_uper,
+ RANAP_RRC_Container_encode_uper,
+ RANAP_RRC_Container_decode_aper,
+ RANAP_RRC_Container_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RRC_Container_tags_1,
+ sizeof(asn_DEF_RANAP_RRC_Container_tags_1)
+ /sizeof(asn_DEF_RANAP_RRC_Container_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RRC_Container_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RRC_Container_tags_1)
+ /sizeof(asn_DEF_RANAP_RRC_Container_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_RRC-Container.h b/src/ranap/RANAP_RRC-Container.h
new file mode 100644
index 0000000..5cda4b7
--- /dev/null
+++ b/src/ranap/RANAP_RRC-Container.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RRC_Container_H_
+#define _RANAP_RRC_Container_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RRC-Container */
+typedef OCTET_STRING_t RANAP_RRC_Container_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RRC_Container;
+asn_struct_free_f RANAP_RRC_Container_free;
+asn_struct_print_f RANAP_RRC_Container_print;
+asn_constr_check_f RANAP_RRC_Container_constraint;
+ber_type_decoder_f RANAP_RRC_Container_decode_ber;
+der_type_encoder_f RANAP_RRC_Container_encode_der;
+xer_type_decoder_f RANAP_RRC_Container_decode_xer;
+xer_type_encoder_f RANAP_RRC_Container_encode_xer;
+per_type_decoder_f RANAP_RRC_Container_decode_uper;
+per_type_encoder_f RANAP_RRC_Container_encode_uper;
+per_type_decoder_f RANAP_RRC_Container_decode_aper;
+per_type_encoder_f RANAP_RRC_Container_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RRC_Container_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RSRQ-Extension.c b/src/ranap/RANAP_RSRQ-Extension.c
new file mode 100644
index 0000000..ef1c633
--- /dev/null
+++ b/src/ranap/RANAP_RSRQ-Extension.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RSRQ-Extension.h"
+
+int
+RANAP_RSRQ_Extension_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= -30ull && value <= 46l)) {
+ /* 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 void
+RANAP_RSRQ_Extension_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_RSRQ_Extension_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_RSRQ_Extension_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_RSRQ_Extension_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RSRQ_Extension_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RSRQ_Extension_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_RSRQ_Extension_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_RSRQ_Extension_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RSRQ_Extension_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RSRQ_Extension_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_RSRQ_Extension_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_RSRQ_Extension_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RSRQ_Extension_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RSRQ_Extension_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RSRQ_Extension_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_RSRQ_Extension_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RSRQ_Extension_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_RSRQ_Extension_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RSRQ_Extension_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_RSRQ_Extension_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RSRQ_Extension_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_RSRQ_Extension_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 7, 7, -30ull, 46l } /* (-30..46,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RSRQ_Extension_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RSRQ_Extension = {
+ "RANAP_RSRQ-Extension",
+ "RANAP_RSRQ-Extension",
+ RANAP_RSRQ_Extension_free,
+ RANAP_RSRQ_Extension_print,
+ RANAP_RSRQ_Extension_constraint,
+ RANAP_RSRQ_Extension_decode_ber,
+ RANAP_RSRQ_Extension_encode_der,
+ RANAP_RSRQ_Extension_decode_xer,
+ RANAP_RSRQ_Extension_encode_xer,
+ RANAP_RSRQ_Extension_decode_uper,
+ RANAP_RSRQ_Extension_encode_uper,
+ RANAP_RSRQ_Extension_decode_aper,
+ RANAP_RSRQ_Extension_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RSRQ_Extension_tags_1,
+ sizeof(asn_DEF_RANAP_RSRQ_Extension_tags_1)
+ /sizeof(asn_DEF_RANAP_RSRQ_Extension_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RSRQ_Extension_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RSRQ_Extension_tags_1)
+ /sizeof(asn_DEF_RANAP_RSRQ_Extension_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RSRQ_Extension_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_RSRQ-Extension.h b/src/ranap/RANAP_RSRQ-Extension.h
new file mode 100644
index 0000000..6fd0231
--- /dev/null
+++ b/src/ranap/RANAP_RSRQ-Extension.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RSRQ_Extension_H_
+#define _RANAP_RSRQ_Extension_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RSRQ-Extension */
+typedef long RANAP_RSRQ_Extension_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RSRQ_Extension;
+asn_struct_free_f RANAP_RSRQ_Extension_free;
+asn_struct_print_f RANAP_RSRQ_Extension_print;
+asn_constr_check_f RANAP_RSRQ_Extension_constraint;
+ber_type_decoder_f RANAP_RSRQ_Extension_decode_ber;
+der_type_encoder_f RANAP_RSRQ_Extension_encode_der;
+xer_type_decoder_f RANAP_RSRQ_Extension_decode_xer;
+xer_type_encoder_f RANAP_RSRQ_Extension_encode_xer;
+per_type_decoder_f RANAP_RSRQ_Extension_decode_uper;
+per_type_encoder_f RANAP_RSRQ_Extension_encode_uper;
+per_type_decoder_f RANAP_RSRQ_Extension_decode_aper;
+per_type_encoder_f RANAP_RSRQ_Extension_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RSRQ_Extension_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RSRQ-Type.c b/src/ranap/RANAP_RSRQ-Type.c
new file mode 100644
index 0000000..067a2b6
--- /dev/null
+++ b/src/ranap/RANAP_RSRQ-Type.c
@@ -0,0 +1,71 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RSRQ-Type.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_RSRQ_Type_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RSRQ_Type, allSymbols),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BOOLEAN,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "allSymbols"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RSRQ_Type, wideBand),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BOOLEAN,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "wideBand"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RSRQ_Type_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RSRQ_Type_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* allSymbols */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* wideBand */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RSRQ_Type_specs_1 = {
+ sizeof(struct RANAP_RSRQ_Type),
+ offsetof(struct RANAP_RSRQ_Type, _asn_ctx),
+ asn_MAP_RANAP_RSRQ_Type_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RSRQ_Type = {
+ "RANAP_RSRQ-Type",
+ "RANAP_RSRQ-Type",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RSRQ_Type_tags_1,
+ sizeof(asn_DEF_RANAP_RSRQ_Type_tags_1)
+ /sizeof(asn_DEF_RANAP_RSRQ_Type_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RSRQ_Type_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RSRQ_Type_tags_1)
+ /sizeof(asn_DEF_RANAP_RSRQ_Type_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RSRQ_Type_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_RSRQ_Type_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RSRQ-Type.h b/src/ranap/RANAP_RSRQ-Type.h
new file mode 100644
index 0000000..5846b93
--- /dev/null
+++ b/src/ranap/RANAP_RSRQ-Type.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RSRQ_Type_H_
+#define _RANAP_RSRQ_Type_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BOOLEAN.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RSRQ-Type */
+typedef struct RANAP_RSRQ_Type {
+ BOOLEAN_t allSymbols;
+ BOOLEAN_t wideBand;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RSRQ_Type_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RSRQ_Type;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RSRQ_Type_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RSRVCC-HO-Indication.c b/src/ranap/RANAP_RSRVCC-HO-Indication.c
new file mode 100644
index 0000000..23f2e0c
--- /dev/null
+++ b/src/ranap/RANAP_RSRVCC-HO-Indication.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RSRVCC-HO-Indication.h"
+
+int
+RANAP_RSRVCC_HO_Indication_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_RSRVCC_HO_Indication_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_RSRVCC_HO_Indication_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_RSRVCC_HO_Indication_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_RSRVCC_HO_Indication_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RSRVCC_HO_Indication_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RSRVCC_HO_Indication_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_RSRVCC_HO_Indication_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_RSRVCC_HO_Indication_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RSRVCC_HO_Indication_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RSRVCC_HO_Indication_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_RSRVCC_HO_Indication_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_RSRVCC_HO_Indication_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RSRVCC_HO_Indication_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RSRVCC_HO_Indication_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RSRVCC_HO_Indication_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_RSRVCC_HO_Indication_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RSRVCC_HO_Indication_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_RSRVCC_HO_Indication_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RSRVCC_HO_Indication_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_RSRVCC_HO_Indication_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RSRVCC_HO_Indication_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_RSRVCC_HO_Indication_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_RSRVCC_HO_Indication_value2enum_1[] = {
+ { 0, 7, "ps-only" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_RSRVCC_HO_Indication_enum2value_1[] = {
+ 0 /* ps-only(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_RSRVCC_HO_Indication_specs_1 = {
+ asn_MAP_RANAP_RSRVCC_HO_Indication_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_RSRVCC_HO_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_RANAP_RSRVCC_HO_Indication_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RSRVCC_HO_Indication = {
+ "RANAP_RSRVCC-HO-Indication",
+ "RANAP_RSRVCC-HO-Indication",
+ RANAP_RSRVCC_HO_Indication_free,
+ RANAP_RSRVCC_HO_Indication_print,
+ RANAP_RSRVCC_HO_Indication_constraint,
+ RANAP_RSRVCC_HO_Indication_decode_ber,
+ RANAP_RSRVCC_HO_Indication_encode_der,
+ RANAP_RSRVCC_HO_Indication_decode_xer,
+ RANAP_RSRVCC_HO_Indication_encode_xer,
+ RANAP_RSRVCC_HO_Indication_decode_uper,
+ RANAP_RSRVCC_HO_Indication_encode_uper,
+ RANAP_RSRVCC_HO_Indication_decode_aper,
+ RANAP_RSRVCC_HO_Indication_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RSRVCC_HO_Indication_tags_1,
+ sizeof(asn_DEF_RANAP_RSRVCC_HO_Indication_tags_1)
+ /sizeof(asn_DEF_RANAP_RSRVCC_HO_Indication_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RSRVCC_HO_Indication_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RSRVCC_HO_Indication_tags_1)
+ /sizeof(asn_DEF_RANAP_RSRVCC_HO_Indication_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RSRVCC_HO_Indication_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_RSRVCC_HO_Indication_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RSRVCC-HO-Indication.h b/src/ranap/RANAP_RSRVCC-HO-Indication.h
new file mode 100644
index 0000000..b775efa
--- /dev/null
+++ b/src/ranap/RANAP_RSRVCC-HO-Indication.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RSRVCC_HO_Indication_H_
+#define _RANAP_RSRVCC_HO_Indication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_RSRVCC_HO_Indication {
+ RANAP_RSRVCC_HO_Indication_ps_only = 0
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_RSRVCC_HO_Indication;
+
+/* RANAP_RSRVCC-HO-Indication */
+typedef long RANAP_RSRVCC_HO_Indication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RSRVCC_HO_Indication;
+asn_struct_free_f RANAP_RSRVCC_HO_Indication_free;
+asn_struct_print_f RANAP_RSRVCC_HO_Indication_print;
+asn_constr_check_f RANAP_RSRVCC_HO_Indication_constraint;
+ber_type_decoder_f RANAP_RSRVCC_HO_Indication_decode_ber;
+der_type_encoder_f RANAP_RSRVCC_HO_Indication_encode_der;
+xer_type_decoder_f RANAP_RSRVCC_HO_Indication_decode_xer;
+xer_type_encoder_f RANAP_RSRVCC_HO_Indication_encode_xer;
+per_type_decoder_f RANAP_RSRVCC_HO_Indication_decode_uper;
+per_type_encoder_f RANAP_RSRVCC_HO_Indication_encode_uper;
+per_type_decoder_f RANAP_RSRVCC_HO_Indication_decode_aper;
+per_type_encoder_f RANAP_RSRVCC_HO_Indication_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RSRVCC_HO_Indication_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RSRVCC-Information.c b/src/ranap/RANAP_RSRVCC-Information.c
new file mode 100644
index 0000000..24a84ac
--- /dev/null
+++ b/src/ranap/RANAP_RSRVCC-Information.c
@@ -0,0 +1,150 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RSRVCC-Information.h"
+
+static int
+memb_nonce_constraint_1(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 == 128l)) {
+ /* 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_iMSInformation_constraint_1(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 >= 1l && size <= 32l)) {
+ /* Constraint 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_nonce_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 128l, 128l } /* (SIZE(128..128)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_iMSInformation_constr_3 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 5, 5, 1l, 32l } /* (SIZE(1..32)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_RSRVCC_Information_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RSRVCC_Information, nonce),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BIT_STRING,
+ memb_nonce_constraint_1,
+ &asn_PER_memb_nonce_constr_2,
+ 0,
+ "nonce"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RSRVCC_Information, iMSInformation),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_OCTET_STRING,
+ memb_iMSInformation_constraint_1,
+ &asn_PER_memb_iMSInformation_constr_3,
+ 0,
+ "iMSInformation"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_RSRVCC_Information, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_RSRVCC_Information_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_RSRVCC_Information_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RSRVCC_Information_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nonce */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* iMSInformation */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RSRVCC_Information_specs_1 = {
+ sizeof(struct RANAP_RSRVCC_Information),
+ offsetof(struct RANAP_RSRVCC_Information, _asn_ctx),
+ asn_MAP_RANAP_RSRVCC_Information_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_RSRVCC_Information_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RSRVCC_Information = {
+ "RANAP_RSRVCC-Information",
+ "RANAP_RSRVCC-Information",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RSRVCC_Information_tags_1,
+ sizeof(asn_DEF_RANAP_RSRVCC_Information_tags_1)
+ /sizeof(asn_DEF_RANAP_RSRVCC_Information_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RSRVCC_Information_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RSRVCC_Information_tags_1)
+ /sizeof(asn_DEF_RANAP_RSRVCC_Information_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RSRVCC_Information_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_RSRVCC_Information_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RSRVCC-Information.h b/src/ranap/RANAP_RSRVCC-Information.h
new file mode 100644
index 0000000..25f6c6c
--- /dev/null
+++ b/src/ranap/RANAP_RSRVCC-Information.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RSRVCC_Information_H_
+#define _RANAP_RSRVCC_Information_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+#include <OCTET_STRING.h>
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RSRVCC-Information */
+typedef struct RANAP_RSRVCC_Information {
+ BIT_STRING_t nonce;
+ OCTET_STRING_t iMSInformation;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RSRVCC_Information_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RSRVCC_Information;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RSRVCC_Information_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RSRVCC-Operation-Possible.c b/src/ranap/RANAP_RSRVCC-Operation-Possible.c
new file mode 100644
index 0000000..c610cb8
--- /dev/null
+++ b/src/ranap/RANAP_RSRVCC-Operation-Possible.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RSRVCC-Operation-Possible.h"
+
+int
+RANAP_RSRVCC_Operation_Possible_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_RSRVCC_Operation_Possible_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_RSRVCC_Operation_Possible_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_RSRVCC_Operation_Possible_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_RSRVCC_Operation_Possible_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RSRVCC_Operation_Possible_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RSRVCC_Operation_Possible_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_RSRVCC_Operation_Possible_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_RSRVCC_Operation_Possible_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RSRVCC_Operation_Possible_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RSRVCC_Operation_Possible_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_RSRVCC_Operation_Possible_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_RSRVCC_Operation_Possible_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RSRVCC_Operation_Possible_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RSRVCC_Operation_Possible_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RSRVCC_Operation_Possible_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_RSRVCC_Operation_Possible_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RSRVCC_Operation_Possible_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_RSRVCC_Operation_Possible_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RSRVCC_Operation_Possible_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_RSRVCC_Operation_Possible_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RSRVCC_Operation_Possible_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_RSRVCC_Operation_Possible_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_RSRVCC_Operation_Possible_value2enum_1[] = {
+ { 0, 15, "rsrvcc-possible" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_RSRVCC_Operation_Possible_enum2value_1[] = {
+ 0 /* rsrvcc-possible(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_RSRVCC_Operation_Possible_specs_1 = {
+ asn_MAP_RANAP_RSRVCC_Operation_Possible_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_RSRVCC_Operation_Possible_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_RANAP_RSRVCC_Operation_Possible_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RSRVCC_Operation_Possible = {
+ "RANAP_RSRVCC-Operation-Possible",
+ "RANAP_RSRVCC-Operation-Possible",
+ RANAP_RSRVCC_Operation_Possible_free,
+ RANAP_RSRVCC_Operation_Possible_print,
+ RANAP_RSRVCC_Operation_Possible_constraint,
+ RANAP_RSRVCC_Operation_Possible_decode_ber,
+ RANAP_RSRVCC_Operation_Possible_encode_der,
+ RANAP_RSRVCC_Operation_Possible_decode_xer,
+ RANAP_RSRVCC_Operation_Possible_encode_xer,
+ RANAP_RSRVCC_Operation_Possible_decode_uper,
+ RANAP_RSRVCC_Operation_Possible_encode_uper,
+ RANAP_RSRVCC_Operation_Possible_decode_aper,
+ RANAP_RSRVCC_Operation_Possible_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RSRVCC_Operation_Possible_tags_1,
+ sizeof(asn_DEF_RANAP_RSRVCC_Operation_Possible_tags_1)
+ /sizeof(asn_DEF_RANAP_RSRVCC_Operation_Possible_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RSRVCC_Operation_Possible_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RSRVCC_Operation_Possible_tags_1)
+ /sizeof(asn_DEF_RANAP_RSRVCC_Operation_Possible_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RSRVCC_Operation_Possible_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_RSRVCC_Operation_Possible_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RSRVCC-Operation-Possible.h b/src/ranap/RANAP_RSRVCC-Operation-Possible.h
new file mode 100644
index 0000000..0be569a
--- /dev/null
+++ b/src/ranap/RANAP_RSRVCC-Operation-Possible.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RSRVCC_Operation_Possible_H_
+#define _RANAP_RSRVCC_Operation_Possible_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_RSRVCC_Operation_Possible {
+ RANAP_RSRVCC_Operation_Possible_rsrvcc_possible = 0
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_RSRVCC_Operation_Possible;
+
+/* RANAP_RSRVCC-Operation-Possible */
+typedef long RANAP_RSRVCC_Operation_Possible_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RSRVCC_Operation_Possible;
+asn_struct_free_f RANAP_RSRVCC_Operation_Possible_free;
+asn_struct_print_f RANAP_RSRVCC_Operation_Possible_print;
+asn_constr_check_f RANAP_RSRVCC_Operation_Possible_constraint;
+ber_type_decoder_f RANAP_RSRVCC_Operation_Possible_decode_ber;
+der_type_encoder_f RANAP_RSRVCC_Operation_Possible_encode_der;
+xer_type_decoder_f RANAP_RSRVCC_Operation_Possible_decode_xer;
+xer_type_encoder_f RANAP_RSRVCC_Operation_Possible_encode_xer;
+per_type_decoder_f RANAP_RSRVCC_Operation_Possible_decode_uper;
+per_type_encoder_f RANAP_RSRVCC_Operation_Possible_encode_uper;
+per_type_decoder_f RANAP_RSRVCC_Operation_Possible_decode_aper;
+per_type_encoder_f RANAP_RSRVCC_Operation_Possible_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RSRVCC_Operation_Possible_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RTLoadValue.c b/src/ranap/RANAP_RTLoadValue.c
new file mode 100644
index 0000000..2dd5f6d
--- /dev/null
+++ b/src/ranap/RANAP_RTLoadValue.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RTLoadValue.h"
+
+int
+RANAP_RTLoadValue_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 100l)) {
+ /* 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 void
+RANAP_RTLoadValue_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_RTLoadValue_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_RTLoadValue_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_RTLoadValue_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RTLoadValue_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RTLoadValue_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_RTLoadValue_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_RTLoadValue_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RTLoadValue_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RTLoadValue_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_RTLoadValue_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_RTLoadValue_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RTLoadValue_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RTLoadValue_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RTLoadValue_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_RTLoadValue_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RTLoadValue_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_RTLoadValue_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RTLoadValue_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_RTLoadValue_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RTLoadValue_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_RTLoadValue_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 7, 7, 0l, 100l } /* (0..100) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RTLoadValue_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RTLoadValue = {
+ "RANAP_RTLoadValue",
+ "RANAP_RTLoadValue",
+ RANAP_RTLoadValue_free,
+ RANAP_RTLoadValue_print,
+ RANAP_RTLoadValue_constraint,
+ RANAP_RTLoadValue_decode_ber,
+ RANAP_RTLoadValue_encode_der,
+ RANAP_RTLoadValue_decode_xer,
+ RANAP_RTLoadValue_encode_xer,
+ RANAP_RTLoadValue_decode_uper,
+ RANAP_RTLoadValue_encode_uper,
+ RANAP_RTLoadValue_decode_aper,
+ RANAP_RTLoadValue_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RTLoadValue_tags_1,
+ sizeof(asn_DEF_RANAP_RTLoadValue_tags_1)
+ /sizeof(asn_DEF_RANAP_RTLoadValue_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RTLoadValue_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RTLoadValue_tags_1)
+ /sizeof(asn_DEF_RANAP_RTLoadValue_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RTLoadValue_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_RTLoadValue.h b/src/ranap/RANAP_RTLoadValue.h
new file mode 100644
index 0000000..4e5fb5c
--- /dev/null
+++ b/src/ranap/RANAP_RTLoadValue.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RTLoadValue_H_
+#define _RANAP_RTLoadValue_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RTLoadValue */
+typedef long RANAP_RTLoadValue_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RTLoadValue;
+asn_struct_free_f RANAP_RTLoadValue_free;
+asn_struct_print_f RANAP_RTLoadValue_print;
+asn_constr_check_f RANAP_RTLoadValue_constraint;
+ber_type_decoder_f RANAP_RTLoadValue_decode_ber;
+der_type_encoder_f RANAP_RTLoadValue_encode_der;
+xer_type_decoder_f RANAP_RTLoadValue_decode_xer;
+xer_type_encoder_f RANAP_RTLoadValue_encode_xer;
+per_type_decoder_f RANAP_RTLoadValue_decode_uper;
+per_type_encoder_f RANAP_RTLoadValue_encode_uper;
+per_type_decoder_f RANAP_RTLoadValue_decode_aper;
+per_type_encoder_f RANAP_RTLoadValue_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RTLoadValue_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RateControlAllowed.c b/src/ranap/RANAP_RateControlAllowed.c
new file mode 100644
index 0000000..328a1d7
--- /dev/null
+++ b/src/ranap/RANAP_RateControlAllowed.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RateControlAllowed.h"
+
+int
+RANAP_RateControlAllowed_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_RateControlAllowed_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_RateControlAllowed_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_RateControlAllowed_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_RateControlAllowed_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RateControlAllowed_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RateControlAllowed_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_RateControlAllowed_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_RateControlAllowed_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RateControlAllowed_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RateControlAllowed_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_RateControlAllowed_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_RateControlAllowed_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RateControlAllowed_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RateControlAllowed_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RateControlAllowed_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_RateControlAllowed_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RateControlAllowed_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_RateControlAllowed_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RateControlAllowed_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_RateControlAllowed_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RateControlAllowed_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_RateControlAllowed_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_RateControlAllowed_value2enum_1[] = {
+ { 0, 11, "not-allowed" },
+ { 1, 7, "allowed" }
+};
+static const unsigned int asn_MAP_RANAP_RateControlAllowed_enum2value_1[] = {
+ 1, /* allowed(1) */
+ 0 /* not-allowed(0) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_RateControlAllowed_specs_1 = {
+ asn_MAP_RANAP_RateControlAllowed_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_RateControlAllowed_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_RANAP_RateControlAllowed_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RateControlAllowed = {
+ "RANAP_RateControlAllowed",
+ "RANAP_RateControlAllowed",
+ RANAP_RateControlAllowed_free,
+ RANAP_RateControlAllowed_print,
+ RANAP_RateControlAllowed_constraint,
+ RANAP_RateControlAllowed_decode_ber,
+ RANAP_RateControlAllowed_encode_der,
+ RANAP_RateControlAllowed_decode_xer,
+ RANAP_RateControlAllowed_encode_xer,
+ RANAP_RateControlAllowed_decode_uper,
+ RANAP_RateControlAllowed_encode_uper,
+ RANAP_RateControlAllowed_decode_aper,
+ RANAP_RateControlAllowed_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RateControlAllowed_tags_1,
+ sizeof(asn_DEF_RANAP_RateControlAllowed_tags_1)
+ /sizeof(asn_DEF_RANAP_RateControlAllowed_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RateControlAllowed_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RateControlAllowed_tags_1)
+ /sizeof(asn_DEF_RANAP_RateControlAllowed_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RateControlAllowed_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_RateControlAllowed_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RateControlAllowed.h b/src/ranap/RANAP_RateControlAllowed.h
new file mode 100644
index 0000000..a465d17
--- /dev/null
+++ b/src/ranap/RANAP_RateControlAllowed.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RateControlAllowed_H_
+#define _RANAP_RateControlAllowed_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_RateControlAllowed {
+ RANAP_RateControlAllowed_not_allowed = 0,
+ RANAP_RateControlAllowed_allowed = 1
+} e_RANAP_RateControlAllowed;
+
+/* RANAP_RateControlAllowed */
+typedef long RANAP_RateControlAllowed_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RateControlAllowed;
+asn_struct_free_f RANAP_RateControlAllowed_free;
+asn_struct_print_f RANAP_RateControlAllowed_print;
+asn_constr_check_f RANAP_RateControlAllowed_constraint;
+ber_type_decoder_f RANAP_RateControlAllowed_decode_ber;
+der_type_encoder_f RANAP_RateControlAllowed_encode_der;
+xer_type_decoder_f RANAP_RateControlAllowed_decode_xer;
+xer_type_encoder_f RANAP_RateControlAllowed_encode_xer;
+per_type_decoder_f RANAP_RateControlAllowed_decode_uper;
+per_type_encoder_f RANAP_RateControlAllowed_encode_uper;
+per_type_decoder_f RANAP_RateControlAllowed_decode_aper;
+per_type_encoder_f RANAP_RateControlAllowed_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RateControlAllowed_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RedirectAttemptFlag.c b/src/ranap/RANAP_RedirectAttemptFlag.c
new file mode 100644
index 0000000..3011468
--- /dev/null
+++ b/src/ranap/RANAP_RedirectAttemptFlag.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RedirectAttemptFlag.h"
+
+int
+RANAP_RedirectAttemptFlag_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NULL.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NULL,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_RedirectAttemptFlag_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NULL.free_struct;
+ td->print_struct = asn_DEF_NULL.print_struct;
+ td->check_constraints = asn_DEF_NULL.check_constraints;
+ td->ber_decoder = asn_DEF_NULL.ber_decoder;
+ td->der_encoder = asn_DEF_NULL.der_encoder;
+ td->xer_decoder = asn_DEF_NULL.xer_decoder;
+ td->xer_encoder = asn_DEF_NULL.xer_encoder;
+ td->uper_decoder = asn_DEF_NULL.uper_decoder;
+ td->uper_encoder = asn_DEF_NULL.uper_encoder;
+ td->aper_decoder = asn_DEF_NULL.aper_decoder;
+ td->aper_encoder = asn_DEF_NULL.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NULL.per_constraints;
+ td->elements = asn_DEF_NULL.elements;
+ td->elements_count = asn_DEF_NULL.elements_count;
+ td->specifics = asn_DEF_NULL.specifics;
+}
+
+void
+RANAP_RedirectAttemptFlag_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_RedirectAttemptFlag_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_RedirectAttemptFlag_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RedirectAttemptFlag_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RedirectAttemptFlag_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_RedirectAttemptFlag_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_RedirectAttemptFlag_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RedirectAttemptFlag_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RedirectAttemptFlag_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_RedirectAttemptFlag_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_RedirectAttemptFlag_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RedirectAttemptFlag_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RedirectAttemptFlag_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RedirectAttemptFlag_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_RedirectAttemptFlag_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RedirectAttemptFlag_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_RedirectAttemptFlag_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RedirectAttemptFlag_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_RedirectAttemptFlag_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RedirectAttemptFlag_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static const ber_tlv_tag_t asn_DEF_RANAP_RedirectAttemptFlag_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (5 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RedirectAttemptFlag = {
+ "RANAP_RedirectAttemptFlag",
+ "RANAP_RedirectAttemptFlag",
+ RANAP_RedirectAttemptFlag_free,
+ RANAP_RedirectAttemptFlag_print,
+ RANAP_RedirectAttemptFlag_constraint,
+ RANAP_RedirectAttemptFlag_decode_ber,
+ RANAP_RedirectAttemptFlag_encode_der,
+ RANAP_RedirectAttemptFlag_decode_xer,
+ RANAP_RedirectAttemptFlag_encode_xer,
+ RANAP_RedirectAttemptFlag_decode_uper,
+ RANAP_RedirectAttemptFlag_encode_uper,
+ RANAP_RedirectAttemptFlag_decode_aper,
+ RANAP_RedirectAttemptFlag_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RedirectAttemptFlag_tags_1,
+ sizeof(asn_DEF_RANAP_RedirectAttemptFlag_tags_1)
+ /sizeof(asn_DEF_RANAP_RedirectAttemptFlag_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RedirectAttemptFlag_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RedirectAttemptFlag_tags_1)
+ /sizeof(asn_DEF_RANAP_RedirectAttemptFlag_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_RedirectAttemptFlag.h b/src/ranap/RANAP_RedirectAttemptFlag.h
new file mode 100644
index 0000000..df1be41
--- /dev/null
+++ b/src/ranap/RANAP_RedirectAttemptFlag.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RedirectAttemptFlag_H_
+#define _RANAP_RedirectAttemptFlag_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NULL.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RedirectAttemptFlag */
+typedef NULL_t RANAP_RedirectAttemptFlag_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RedirectAttemptFlag;
+asn_struct_free_f RANAP_RedirectAttemptFlag_free;
+asn_struct_print_f RANAP_RedirectAttemptFlag_print;
+asn_constr_check_f RANAP_RedirectAttemptFlag_constraint;
+ber_type_decoder_f RANAP_RedirectAttemptFlag_decode_ber;
+der_type_encoder_f RANAP_RedirectAttemptFlag_encode_der;
+xer_type_decoder_f RANAP_RedirectAttemptFlag_decode_xer;
+xer_type_encoder_f RANAP_RedirectAttemptFlag_encode_xer;
+per_type_decoder_f RANAP_RedirectAttemptFlag_decode_uper;
+per_type_encoder_f RANAP_RedirectAttemptFlag_encode_uper;
+per_type_decoder_f RANAP_RedirectAttemptFlag_decode_aper;
+per_type_encoder_f RANAP_RedirectAttemptFlag_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RedirectAttemptFlag_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RedirectionCompleted.c b/src/ranap/RANAP_RedirectionCompleted.c
new file mode 100644
index 0000000..eb88015
--- /dev/null
+++ b/src/ranap/RANAP_RedirectionCompleted.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RedirectionCompleted.h"
+
+int
+RANAP_RedirectionCompleted_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_RedirectionCompleted_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_RedirectionCompleted_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_RedirectionCompleted_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_RedirectionCompleted_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RedirectionCompleted_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RedirectionCompleted_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_RedirectionCompleted_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_RedirectionCompleted_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RedirectionCompleted_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RedirectionCompleted_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_RedirectionCompleted_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_RedirectionCompleted_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RedirectionCompleted_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RedirectionCompleted_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RedirectionCompleted_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_RedirectionCompleted_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RedirectionCompleted_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_RedirectionCompleted_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RedirectionCompleted_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_RedirectionCompleted_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RedirectionCompleted_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_RedirectionCompleted_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_RedirectionCompleted_value2enum_1[] = {
+ { 0, 21, "redirection-completed" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_RedirectionCompleted_enum2value_1[] = {
+ 0 /* redirection-completed(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_RedirectionCompleted_specs_1 = {
+ asn_MAP_RANAP_RedirectionCompleted_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_RedirectionCompleted_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_RANAP_RedirectionCompleted_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RedirectionCompleted = {
+ "RANAP_RedirectionCompleted",
+ "RANAP_RedirectionCompleted",
+ RANAP_RedirectionCompleted_free,
+ RANAP_RedirectionCompleted_print,
+ RANAP_RedirectionCompleted_constraint,
+ RANAP_RedirectionCompleted_decode_ber,
+ RANAP_RedirectionCompleted_encode_der,
+ RANAP_RedirectionCompleted_decode_xer,
+ RANAP_RedirectionCompleted_encode_xer,
+ RANAP_RedirectionCompleted_decode_uper,
+ RANAP_RedirectionCompleted_encode_uper,
+ RANAP_RedirectionCompleted_decode_aper,
+ RANAP_RedirectionCompleted_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RedirectionCompleted_tags_1,
+ sizeof(asn_DEF_RANAP_RedirectionCompleted_tags_1)
+ /sizeof(asn_DEF_RANAP_RedirectionCompleted_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RedirectionCompleted_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RedirectionCompleted_tags_1)
+ /sizeof(asn_DEF_RANAP_RedirectionCompleted_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RedirectionCompleted_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_RedirectionCompleted_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RedirectionCompleted.h b/src/ranap/RANAP_RedirectionCompleted.h
new file mode 100644
index 0000000..21eabeb
--- /dev/null
+++ b/src/ranap/RANAP_RedirectionCompleted.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RedirectionCompleted_H_
+#define _RANAP_RedirectionCompleted_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_RedirectionCompleted {
+ RANAP_RedirectionCompleted_redirection_completed = 0
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_RedirectionCompleted;
+
+/* RANAP_RedirectionCompleted */
+typedef long RANAP_RedirectionCompleted_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RedirectionCompleted;
+asn_struct_free_f RANAP_RedirectionCompleted_free;
+asn_struct_print_f RANAP_RedirectionCompleted_print;
+asn_constr_check_f RANAP_RedirectionCompleted_constraint;
+ber_type_decoder_f RANAP_RedirectionCompleted_decode_ber;
+der_type_encoder_f RANAP_RedirectionCompleted_encode_der;
+xer_type_decoder_f RANAP_RedirectionCompleted_decode_xer;
+xer_type_encoder_f RANAP_RedirectionCompleted_encode_xer;
+per_type_decoder_f RANAP_RedirectionCompleted_decode_uper;
+per_type_encoder_f RANAP_RedirectionCompleted_encode_uper;
+per_type_decoder_f RANAP_RedirectionCompleted_decode_aper;
+per_type_encoder_f RANAP_RedirectionCompleted_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RedirectionCompleted_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RejectCauseValue.c b/src/ranap/RANAP_RejectCauseValue.c
new file mode 100644
index 0000000..234964d
--- /dev/null
+++ b/src/ranap/RANAP_RejectCauseValue.c
@@ -0,0 +1,179 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RejectCauseValue.h"
+
+int
+RANAP_RejectCauseValue_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_RejectCauseValue_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_RejectCauseValue_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_RejectCauseValue_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_RejectCauseValue_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RejectCauseValue_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RejectCauseValue_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_RejectCauseValue_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_RejectCauseValue_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RejectCauseValue_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RejectCauseValue_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_RejectCauseValue_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_RejectCauseValue_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RejectCauseValue_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RejectCauseValue_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RejectCauseValue_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_RejectCauseValue_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RejectCauseValue_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_RejectCauseValue_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RejectCauseValue_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_RejectCauseValue_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RejectCauseValue_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_RejectCauseValue_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0l, 5l } /* (0..5,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_RejectCauseValue_value2enum_1[] = {
+ { 0, 16, "pLMN-Not-Allowed" },
+ { 1, 25, "location-Area-Not-Allowed" },
+ { 2, 41, "roaming-Not-Allowed-In-This-Location-Area" },
+ { 3, 33, "no-Suitable-Cell-In-Location-Area" },
+ { 4, 38, "gPRS-Services-Not-Allowed-In-This-PLMN" },
+ { 5, 27, "cS-PS-coordination-required" },
+ { 6, 15, "network-failure" },
+ { 7, 27, "not-authorized-for-this-CSG" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_RejectCauseValue_enum2value_1[] = {
+ 5, /* cS-PS-coordination-required(5) */
+ 4, /* gPRS-Services-Not-Allowed-In-This-PLMN(4) */
+ 1, /* location-Area-Not-Allowed(1) */
+ 6, /* network-failure(6) */
+ 3, /* no-Suitable-Cell-In-Location-Area(3) */
+ 7, /* not-authorized-for-this-CSG(7) */
+ 0, /* pLMN-Not-Allowed(0) */
+ 2 /* roaming-Not-Allowed-In-This-Location-Area(2) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_RejectCauseValue_specs_1 = {
+ asn_MAP_RANAP_RejectCauseValue_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_RejectCauseValue_enum2value_1, /* N => "tag"; sorted by N */
+ 8, /* 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_RANAP_RejectCauseValue_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RejectCauseValue = {
+ "RANAP_RejectCauseValue",
+ "RANAP_RejectCauseValue",
+ RANAP_RejectCauseValue_free,
+ RANAP_RejectCauseValue_print,
+ RANAP_RejectCauseValue_constraint,
+ RANAP_RejectCauseValue_decode_ber,
+ RANAP_RejectCauseValue_encode_der,
+ RANAP_RejectCauseValue_decode_xer,
+ RANAP_RejectCauseValue_encode_xer,
+ RANAP_RejectCauseValue_decode_uper,
+ RANAP_RejectCauseValue_encode_uper,
+ RANAP_RejectCauseValue_decode_aper,
+ RANAP_RejectCauseValue_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RejectCauseValue_tags_1,
+ sizeof(asn_DEF_RANAP_RejectCauseValue_tags_1)
+ /sizeof(asn_DEF_RANAP_RejectCauseValue_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RejectCauseValue_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RejectCauseValue_tags_1)
+ /sizeof(asn_DEF_RANAP_RejectCauseValue_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RejectCauseValue_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_RejectCauseValue_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RejectCauseValue.h b/src/ranap/RANAP_RejectCauseValue.h
new file mode 100644
index 0000000..0a5f26f
--- /dev/null
+++ b/src/ranap/RANAP_RejectCauseValue.h
@@ -0,0 +1,57 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RejectCauseValue_H_
+#define _RANAP_RejectCauseValue_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_RejectCauseValue {
+ RANAP_RejectCauseValue_pLMN_Not_Allowed = 0,
+ RANAP_RejectCauseValue_location_Area_Not_Allowed = 1,
+ RANAP_RejectCauseValue_roaming_Not_Allowed_In_This_Location_Area = 2,
+ RANAP_RejectCauseValue_no_Suitable_Cell_In_Location_Area = 3,
+ RANAP_RejectCauseValue_gPRS_Services_Not_Allowed_In_This_PLMN = 4,
+ RANAP_RejectCauseValue_cS_PS_coordination_required = 5,
+ /*
+ * Enumeration is extensible
+ */
+ RANAP_RejectCauseValue_network_failure = 6,
+ RANAP_RejectCauseValue_not_authorized_for_this_CSG = 7
+} e_RANAP_RejectCauseValue;
+
+/* RANAP_RejectCauseValue */
+typedef long RANAP_RejectCauseValue_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RejectCauseValue;
+asn_struct_free_f RANAP_RejectCauseValue_free;
+asn_struct_print_f RANAP_RejectCauseValue_print;
+asn_constr_check_f RANAP_RejectCauseValue_constraint;
+ber_type_decoder_f RANAP_RejectCauseValue_decode_ber;
+der_type_encoder_f RANAP_RejectCauseValue_encode_der;
+xer_type_decoder_f RANAP_RejectCauseValue_decode_xer;
+xer_type_encoder_f RANAP_RejectCauseValue_encode_xer;
+per_type_decoder_f RANAP_RejectCauseValue_decode_uper;
+per_type_encoder_f RANAP_RejectCauseValue_encode_uper;
+per_type_decoder_f RANAP_RejectCauseValue_decode_aper;
+per_type_encoder_f RANAP_RejectCauseValue_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RejectCauseValue_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RelocationCancel.c b/src/ranap/RANAP_RelocationCancel.c
new file mode 100644
index 0000000..9b13c13
--- /dev/null
+++ b/src/ranap/RANAP_RelocationCancel.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_RelocationCancel.h"
+
+static int
+memb_relocationCancel_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_relocationCancel_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_relocationCancel_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_relocationCancel_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_relocationCancel_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_relocationCancel_ies_specs_2 = {
+ sizeof(struct relocationCancel_ies),
+ offsetof(struct relocationCancel_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_relocationCancel_ies_2 = {
+ "relocationCancel-ies",
+ "relocationCancel-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_relocationCancel_ies_tags_2,
+ sizeof(asn_DEF_relocationCancel_ies_tags_2)
+ /sizeof(asn_DEF_relocationCancel_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_relocationCancel_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_relocationCancel_ies_tags_2)
+ /sizeof(asn_DEF_relocationCancel_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_relocationCancel_ies_constr_2,
+ asn_MBR_relocationCancel_ies_2,
+ 1, /* Single element */
+ &asn_SPC_relocationCancel_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_RelocationCancel_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RelocationCancel, relocationCancel_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_relocationCancel_ies_2,
+ memb_relocationCancel_ies_constraint_1,
+ &asn_PER_memb_relocationCancel_ies_constr_2,
+ 0,
+ "relocationCancel-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RelocationCancel_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RelocationCancel_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* relocationCancel-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RelocationCancel_specs_1 = {
+ sizeof(struct RANAP_RelocationCancel),
+ offsetof(struct RANAP_RelocationCancel, _asn_ctx),
+ asn_MAP_RANAP_RelocationCancel_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationCancel = {
+ "RANAP_RelocationCancel",
+ "RANAP_RelocationCancel",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RelocationCancel_tags_1,
+ sizeof(asn_DEF_RANAP_RelocationCancel_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationCancel_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RelocationCancel_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RelocationCancel_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationCancel_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RelocationCancel_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_RelocationCancel_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RelocationCancel.h b/src/ranap/RANAP_RelocationCancel.h
new file mode 100644
index 0000000..12e641c
--- /dev/null
+++ b/src/ranap/RANAP_RelocationCancel.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_RelocationCancel_H_
+#define _RANAP_RelocationCancel_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RelocationCancel */
+typedef struct RANAP_RelocationCancel {
+ struct relocationCancel_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } relocationCancel_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RelocationCancel_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationCancel;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RelocationCancel_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RelocationCancelAcknowledge.c b/src/ranap/RANAP_RelocationCancelAcknowledge.c
new file mode 100644
index 0000000..ba9d99b
--- /dev/null
+++ b/src/ranap/RANAP_RelocationCancelAcknowledge.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_RelocationCancelAcknowledge.h"
+
+static int
+memb_relocationCancelAcknowledge_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_relocationCancelAcknowledge_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_relocationCancelAcknowledge_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_relocationCancelAcknowledge_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_relocationCancelAcknowledge_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_relocationCancelAcknowledge_ies_specs_2 = {
+ sizeof(struct relocationCancelAcknowledge_ies),
+ offsetof(struct relocationCancelAcknowledge_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_relocationCancelAcknowledge_ies_2 = {
+ "relocationCancelAcknowledge-ies",
+ "relocationCancelAcknowledge-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_relocationCancelAcknowledge_ies_tags_2,
+ sizeof(asn_DEF_relocationCancelAcknowledge_ies_tags_2)
+ /sizeof(asn_DEF_relocationCancelAcknowledge_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_relocationCancelAcknowledge_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_relocationCancelAcknowledge_ies_tags_2)
+ /sizeof(asn_DEF_relocationCancelAcknowledge_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_relocationCancelAcknowledge_ies_constr_2,
+ asn_MBR_relocationCancelAcknowledge_ies_2,
+ 1, /* Single element */
+ &asn_SPC_relocationCancelAcknowledge_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_RelocationCancelAcknowledge_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RelocationCancelAcknowledge, relocationCancelAcknowledge_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_relocationCancelAcknowledge_ies_2,
+ memb_relocationCancelAcknowledge_ies_constraint_1,
+ &asn_PER_memb_relocationCancelAcknowledge_ies_constr_2,
+ 0,
+ "relocationCancelAcknowledge-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RelocationCancelAcknowledge_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RelocationCancelAcknowledge_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* relocationCancelAcknowledge-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RelocationCancelAcknowledge_specs_1 = {
+ sizeof(struct RANAP_RelocationCancelAcknowledge),
+ offsetof(struct RANAP_RelocationCancelAcknowledge, _asn_ctx),
+ asn_MAP_RANAP_RelocationCancelAcknowledge_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationCancelAcknowledge = {
+ "RANAP_RelocationCancelAcknowledge",
+ "RANAP_RelocationCancelAcknowledge",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RelocationCancelAcknowledge_tags_1,
+ sizeof(asn_DEF_RANAP_RelocationCancelAcknowledge_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationCancelAcknowledge_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RelocationCancelAcknowledge_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RelocationCancelAcknowledge_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationCancelAcknowledge_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RelocationCancelAcknowledge_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_RelocationCancelAcknowledge_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RelocationCancelAcknowledge.h b/src/ranap/RANAP_RelocationCancelAcknowledge.h
new file mode 100644
index 0000000..ef13259
--- /dev/null
+++ b/src/ranap/RANAP_RelocationCancelAcknowledge.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_RelocationCancelAcknowledge_H_
+#define _RANAP_RelocationCancelAcknowledge_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RelocationCancelAcknowledge */
+typedef struct RANAP_RelocationCancelAcknowledge {
+ struct relocationCancelAcknowledge_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } relocationCancelAcknowledge_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RelocationCancelAcknowledge_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationCancelAcknowledge;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RelocationCancelAcknowledge_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RelocationCommand.c b/src/ranap/RANAP_RelocationCommand.c
new file mode 100644
index 0000000..ca49adf
--- /dev/null
+++ b/src/ranap/RANAP_RelocationCommand.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_RelocationCommand.h"
+
+static int
+memb_relocationCommand_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_relocationCommand_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_relocationCommand_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_relocationCommand_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_relocationCommand_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_relocationCommand_ies_specs_2 = {
+ sizeof(struct relocationCommand_ies),
+ offsetof(struct relocationCommand_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_relocationCommand_ies_2 = {
+ "relocationCommand-ies",
+ "relocationCommand-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_relocationCommand_ies_tags_2,
+ sizeof(asn_DEF_relocationCommand_ies_tags_2)
+ /sizeof(asn_DEF_relocationCommand_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_relocationCommand_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_relocationCommand_ies_tags_2)
+ /sizeof(asn_DEF_relocationCommand_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_relocationCommand_ies_constr_2,
+ asn_MBR_relocationCommand_ies_2,
+ 1, /* Single element */
+ &asn_SPC_relocationCommand_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_RelocationCommand_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RelocationCommand, relocationCommand_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_relocationCommand_ies_2,
+ memb_relocationCommand_ies_constraint_1,
+ &asn_PER_memb_relocationCommand_ies_constr_2,
+ 0,
+ "relocationCommand-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RelocationCommand_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RelocationCommand_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* relocationCommand-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RelocationCommand_specs_1 = {
+ sizeof(struct RANAP_RelocationCommand),
+ offsetof(struct RANAP_RelocationCommand, _asn_ctx),
+ asn_MAP_RANAP_RelocationCommand_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationCommand = {
+ "RANAP_RelocationCommand",
+ "RANAP_RelocationCommand",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RelocationCommand_tags_1,
+ sizeof(asn_DEF_RANAP_RelocationCommand_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationCommand_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RelocationCommand_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RelocationCommand_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationCommand_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RelocationCommand_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_RelocationCommand_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RelocationCommand.h b/src/ranap/RANAP_RelocationCommand.h
new file mode 100644
index 0000000..12c9430
--- /dev/null
+++ b/src/ranap/RANAP_RelocationCommand.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_RelocationCommand_H_
+#define _RANAP_RelocationCommand_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RelocationCommand */
+typedef struct RANAP_RelocationCommand {
+ struct relocationCommand_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } relocationCommand_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RelocationCommand_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationCommand;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RelocationCommand_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RelocationComplete.c b/src/ranap/RANAP_RelocationComplete.c
new file mode 100644
index 0000000..634188e
--- /dev/null
+++ b/src/ranap/RANAP_RelocationComplete.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_RelocationComplete.h"
+
+static int
+memb_relocationComplete_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_relocationComplete_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_relocationComplete_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_relocationComplete_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_relocationComplete_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_relocationComplete_ies_specs_2 = {
+ sizeof(struct relocationComplete_ies),
+ offsetof(struct relocationComplete_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_relocationComplete_ies_2 = {
+ "relocationComplete-ies",
+ "relocationComplete-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_relocationComplete_ies_tags_2,
+ sizeof(asn_DEF_relocationComplete_ies_tags_2)
+ /sizeof(asn_DEF_relocationComplete_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_relocationComplete_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_relocationComplete_ies_tags_2)
+ /sizeof(asn_DEF_relocationComplete_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_relocationComplete_ies_constr_2,
+ asn_MBR_relocationComplete_ies_2,
+ 1, /* Single element */
+ &asn_SPC_relocationComplete_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_RelocationComplete_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RelocationComplete, relocationComplete_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_relocationComplete_ies_2,
+ memb_relocationComplete_ies_constraint_1,
+ &asn_PER_memb_relocationComplete_ies_constr_2,
+ 0,
+ "relocationComplete-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RelocationComplete_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RelocationComplete_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* relocationComplete-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RelocationComplete_specs_1 = {
+ sizeof(struct RANAP_RelocationComplete),
+ offsetof(struct RANAP_RelocationComplete, _asn_ctx),
+ asn_MAP_RANAP_RelocationComplete_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationComplete = {
+ "RANAP_RelocationComplete",
+ "RANAP_RelocationComplete",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RelocationComplete_tags_1,
+ sizeof(asn_DEF_RANAP_RelocationComplete_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationComplete_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RelocationComplete_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RelocationComplete_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationComplete_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RelocationComplete_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_RelocationComplete_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RelocationComplete.h b/src/ranap/RANAP_RelocationComplete.h
new file mode 100644
index 0000000..fc0fe17
--- /dev/null
+++ b/src/ranap/RANAP_RelocationComplete.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_RelocationComplete_H_
+#define _RANAP_RelocationComplete_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RelocationComplete */
+typedef struct RANAP_RelocationComplete {
+ struct relocationComplete_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } relocationComplete_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RelocationComplete_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationComplete;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RelocationComplete_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RelocationDetect.c b/src/ranap/RANAP_RelocationDetect.c
new file mode 100644
index 0000000..dfee820
--- /dev/null
+++ b/src/ranap/RANAP_RelocationDetect.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_RelocationDetect.h"
+
+static int
+memb_relocationDetect_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_relocationDetect_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_relocationDetect_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_relocationDetect_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_relocationDetect_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_relocationDetect_ies_specs_2 = {
+ sizeof(struct relocationDetect_ies),
+ offsetof(struct relocationDetect_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_relocationDetect_ies_2 = {
+ "relocationDetect-ies",
+ "relocationDetect-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_relocationDetect_ies_tags_2,
+ sizeof(asn_DEF_relocationDetect_ies_tags_2)
+ /sizeof(asn_DEF_relocationDetect_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_relocationDetect_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_relocationDetect_ies_tags_2)
+ /sizeof(asn_DEF_relocationDetect_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_relocationDetect_ies_constr_2,
+ asn_MBR_relocationDetect_ies_2,
+ 1, /* Single element */
+ &asn_SPC_relocationDetect_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_RelocationDetect_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RelocationDetect, relocationDetect_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_relocationDetect_ies_2,
+ memb_relocationDetect_ies_constraint_1,
+ &asn_PER_memb_relocationDetect_ies_constr_2,
+ 0,
+ "relocationDetect-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RelocationDetect_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RelocationDetect_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* relocationDetect-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RelocationDetect_specs_1 = {
+ sizeof(struct RANAP_RelocationDetect),
+ offsetof(struct RANAP_RelocationDetect, _asn_ctx),
+ asn_MAP_RANAP_RelocationDetect_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationDetect = {
+ "RANAP_RelocationDetect",
+ "RANAP_RelocationDetect",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RelocationDetect_tags_1,
+ sizeof(asn_DEF_RANAP_RelocationDetect_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationDetect_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RelocationDetect_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RelocationDetect_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationDetect_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RelocationDetect_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_RelocationDetect_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RelocationDetect.h b/src/ranap/RANAP_RelocationDetect.h
new file mode 100644
index 0000000..d425f65
--- /dev/null
+++ b/src/ranap/RANAP_RelocationDetect.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_RelocationDetect_H_
+#define _RANAP_RelocationDetect_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RelocationDetect */
+typedef struct RANAP_RelocationDetect {
+ struct relocationDetect_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } relocationDetect_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RelocationDetect_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationDetect;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RelocationDetect_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RelocationFailure.c b/src/ranap/RANAP_RelocationFailure.c
new file mode 100644
index 0000000..f9d343d
--- /dev/null
+++ b/src/ranap/RANAP_RelocationFailure.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_RelocationFailure.h"
+
+static int
+memb_relocationFailure_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_relocationFailure_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_relocationFailure_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_relocationFailure_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_relocationFailure_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_relocationFailure_ies_specs_2 = {
+ sizeof(struct relocationFailure_ies),
+ offsetof(struct relocationFailure_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_relocationFailure_ies_2 = {
+ "relocationFailure-ies",
+ "relocationFailure-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_relocationFailure_ies_tags_2,
+ sizeof(asn_DEF_relocationFailure_ies_tags_2)
+ /sizeof(asn_DEF_relocationFailure_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_relocationFailure_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_relocationFailure_ies_tags_2)
+ /sizeof(asn_DEF_relocationFailure_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_relocationFailure_ies_constr_2,
+ asn_MBR_relocationFailure_ies_2,
+ 1, /* Single element */
+ &asn_SPC_relocationFailure_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_RelocationFailure_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RelocationFailure, relocationFailure_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_relocationFailure_ies_2,
+ memb_relocationFailure_ies_constraint_1,
+ &asn_PER_memb_relocationFailure_ies_constr_2,
+ 0,
+ "relocationFailure-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RelocationFailure_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RelocationFailure_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* relocationFailure-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RelocationFailure_specs_1 = {
+ sizeof(struct RANAP_RelocationFailure),
+ offsetof(struct RANAP_RelocationFailure, _asn_ctx),
+ asn_MAP_RANAP_RelocationFailure_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationFailure = {
+ "RANAP_RelocationFailure",
+ "RANAP_RelocationFailure",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RelocationFailure_tags_1,
+ sizeof(asn_DEF_RANAP_RelocationFailure_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationFailure_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RelocationFailure_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RelocationFailure_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationFailure_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RelocationFailure_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_RelocationFailure_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RelocationFailure.h b/src/ranap/RANAP_RelocationFailure.h
new file mode 100644
index 0000000..a629f60
--- /dev/null
+++ b/src/ranap/RANAP_RelocationFailure.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_RelocationFailure_H_
+#define _RANAP_RelocationFailure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RelocationFailure */
+typedef struct RANAP_RelocationFailure {
+ struct relocationFailure_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } relocationFailure_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RelocationFailure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationFailure;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RelocationFailure_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RelocationPreparationFailure.c b/src/ranap/RANAP_RelocationPreparationFailure.c
new file mode 100644
index 0000000..b50877e
--- /dev/null
+++ b/src/ranap/RANAP_RelocationPreparationFailure.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_RelocationPreparationFailure.h"
+
+static int
+memb_relocationPreparationFailure_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_relocationPreparationFailure_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_relocationPreparationFailure_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_relocationPreparationFailure_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_relocationPreparationFailure_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_relocationPreparationFailure_ies_specs_2 = {
+ sizeof(struct relocationPreparationFailure_ies),
+ offsetof(struct relocationPreparationFailure_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_relocationPreparationFailure_ies_2 = {
+ "relocationPreparationFailure-ies",
+ "relocationPreparationFailure-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_relocationPreparationFailure_ies_tags_2,
+ sizeof(asn_DEF_relocationPreparationFailure_ies_tags_2)
+ /sizeof(asn_DEF_relocationPreparationFailure_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_relocationPreparationFailure_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_relocationPreparationFailure_ies_tags_2)
+ /sizeof(asn_DEF_relocationPreparationFailure_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_relocationPreparationFailure_ies_constr_2,
+ asn_MBR_relocationPreparationFailure_ies_2,
+ 1, /* Single element */
+ &asn_SPC_relocationPreparationFailure_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_RelocationPreparationFailure_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RelocationPreparationFailure, relocationPreparationFailure_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_relocationPreparationFailure_ies_2,
+ memb_relocationPreparationFailure_ies_constraint_1,
+ &asn_PER_memb_relocationPreparationFailure_ies_constr_2,
+ 0,
+ "relocationPreparationFailure-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RelocationPreparationFailure_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RelocationPreparationFailure_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* relocationPreparationFailure-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RelocationPreparationFailure_specs_1 = {
+ sizeof(struct RANAP_RelocationPreparationFailure),
+ offsetof(struct RANAP_RelocationPreparationFailure, _asn_ctx),
+ asn_MAP_RANAP_RelocationPreparationFailure_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationPreparationFailure = {
+ "RANAP_RelocationPreparationFailure",
+ "RANAP_RelocationPreparationFailure",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RelocationPreparationFailure_tags_1,
+ sizeof(asn_DEF_RANAP_RelocationPreparationFailure_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationPreparationFailure_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RelocationPreparationFailure_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RelocationPreparationFailure_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationPreparationFailure_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RelocationPreparationFailure_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_RelocationPreparationFailure_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RelocationPreparationFailure.h b/src/ranap/RANAP_RelocationPreparationFailure.h
new file mode 100644
index 0000000..d5f28de
--- /dev/null
+++ b/src/ranap/RANAP_RelocationPreparationFailure.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_RelocationPreparationFailure_H_
+#define _RANAP_RelocationPreparationFailure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RelocationPreparationFailure */
+typedef struct RANAP_RelocationPreparationFailure {
+ struct relocationPreparationFailure_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } relocationPreparationFailure_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RelocationPreparationFailure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationPreparationFailure;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RelocationPreparationFailure_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RelocationRequest.c b/src/ranap/RANAP_RelocationRequest.c
new file mode 100644
index 0000000..87424c6
--- /dev/null
+++ b/src/ranap/RANAP_RelocationRequest.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_RelocationRequest.h"
+
+static int
+memb_relocationRequest_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_relocationRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_relocationRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_relocationRequest_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_relocationRequest_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_relocationRequest_ies_specs_2 = {
+ sizeof(struct relocationRequest_ies),
+ offsetof(struct relocationRequest_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_relocationRequest_ies_2 = {
+ "relocationRequest-ies",
+ "relocationRequest-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_relocationRequest_ies_tags_2,
+ sizeof(asn_DEF_relocationRequest_ies_tags_2)
+ /sizeof(asn_DEF_relocationRequest_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_relocationRequest_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_relocationRequest_ies_tags_2)
+ /sizeof(asn_DEF_relocationRequest_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_relocationRequest_ies_constr_2,
+ asn_MBR_relocationRequest_ies_2,
+ 1, /* Single element */
+ &asn_SPC_relocationRequest_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_RelocationRequest_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RelocationRequest, relocationRequest_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_relocationRequest_ies_2,
+ memb_relocationRequest_ies_constraint_1,
+ &asn_PER_memb_relocationRequest_ies_constr_2,
+ 0,
+ "relocationRequest-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RelocationRequest_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RelocationRequest_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* relocationRequest-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RelocationRequest_specs_1 = {
+ sizeof(struct RANAP_RelocationRequest),
+ offsetof(struct RANAP_RelocationRequest, _asn_ctx),
+ asn_MAP_RANAP_RelocationRequest_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationRequest = {
+ "RANAP_RelocationRequest",
+ "RANAP_RelocationRequest",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RelocationRequest_tags_1,
+ sizeof(asn_DEF_RANAP_RelocationRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationRequest_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RelocationRequest_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RelocationRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationRequest_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RelocationRequest_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_RelocationRequest_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RelocationRequest.h b/src/ranap/RANAP_RelocationRequest.h
new file mode 100644
index 0000000..00b6981
--- /dev/null
+++ b/src/ranap/RANAP_RelocationRequest.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_RelocationRequest_H_
+#define _RANAP_RelocationRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RelocationRequest */
+typedef struct RANAP_RelocationRequest {
+ struct relocationRequest_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } relocationRequest_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RelocationRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RelocationRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RelocationRequestAcknowledge.c b/src/ranap/RANAP_RelocationRequestAcknowledge.c
new file mode 100644
index 0000000..49a70f0
--- /dev/null
+++ b/src/ranap/RANAP_RelocationRequestAcknowledge.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_RelocationRequestAcknowledge.h"
+
+static int
+memb_relocationRequestAcknowledge_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_relocationRequestAcknowledge_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_relocationRequestAcknowledge_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_relocationRequestAcknowledge_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_relocationRequestAcknowledge_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_relocationRequestAcknowledge_ies_specs_2 = {
+ sizeof(struct relocationRequestAcknowledge_ies),
+ offsetof(struct relocationRequestAcknowledge_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_relocationRequestAcknowledge_ies_2 = {
+ "relocationRequestAcknowledge-ies",
+ "relocationRequestAcknowledge-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_relocationRequestAcknowledge_ies_tags_2,
+ sizeof(asn_DEF_relocationRequestAcknowledge_ies_tags_2)
+ /sizeof(asn_DEF_relocationRequestAcknowledge_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_relocationRequestAcknowledge_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_relocationRequestAcknowledge_ies_tags_2)
+ /sizeof(asn_DEF_relocationRequestAcknowledge_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_relocationRequestAcknowledge_ies_constr_2,
+ asn_MBR_relocationRequestAcknowledge_ies_2,
+ 1, /* Single element */
+ &asn_SPC_relocationRequestAcknowledge_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_RelocationRequestAcknowledge_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RelocationRequestAcknowledge, relocationRequestAcknowledge_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_relocationRequestAcknowledge_ies_2,
+ memb_relocationRequestAcknowledge_ies_constraint_1,
+ &asn_PER_memb_relocationRequestAcknowledge_ies_constr_2,
+ 0,
+ "relocationRequestAcknowledge-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RelocationRequestAcknowledge_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RelocationRequestAcknowledge_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* relocationRequestAcknowledge-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RelocationRequestAcknowledge_specs_1 = {
+ sizeof(struct RANAP_RelocationRequestAcknowledge),
+ offsetof(struct RANAP_RelocationRequestAcknowledge, _asn_ctx),
+ asn_MAP_RANAP_RelocationRequestAcknowledge_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationRequestAcknowledge = {
+ "RANAP_RelocationRequestAcknowledge",
+ "RANAP_RelocationRequestAcknowledge",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RelocationRequestAcknowledge_tags_1,
+ sizeof(asn_DEF_RANAP_RelocationRequestAcknowledge_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationRequestAcknowledge_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RelocationRequestAcknowledge_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RelocationRequestAcknowledge_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationRequestAcknowledge_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RelocationRequestAcknowledge_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_RelocationRequestAcknowledge_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RelocationRequestAcknowledge.h b/src/ranap/RANAP_RelocationRequestAcknowledge.h
new file mode 100644
index 0000000..4044052
--- /dev/null
+++ b/src/ranap/RANAP_RelocationRequestAcknowledge.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_RelocationRequestAcknowledge_H_
+#define _RANAP_RelocationRequestAcknowledge_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RelocationRequestAcknowledge */
+typedef struct RANAP_RelocationRequestAcknowledge {
+ struct relocationRequestAcknowledge_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } relocationRequestAcknowledge_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RelocationRequestAcknowledge_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationRequestAcknowledge;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RelocationRequestAcknowledge_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RelocationRequired.c b/src/ranap/RANAP_RelocationRequired.c
new file mode 100644
index 0000000..8c81751
--- /dev/null
+++ b/src/ranap/RANAP_RelocationRequired.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_RelocationRequired.h"
+
+static int
+memb_relocationRequired_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_relocationRequired_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_relocationRequired_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_relocationRequired_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_relocationRequired_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_relocationRequired_ies_specs_2 = {
+ sizeof(struct relocationRequired_ies),
+ offsetof(struct relocationRequired_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_relocationRequired_ies_2 = {
+ "relocationRequired-ies",
+ "relocationRequired-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_relocationRequired_ies_tags_2,
+ sizeof(asn_DEF_relocationRequired_ies_tags_2)
+ /sizeof(asn_DEF_relocationRequired_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_relocationRequired_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_relocationRequired_ies_tags_2)
+ /sizeof(asn_DEF_relocationRequired_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_relocationRequired_ies_constr_2,
+ asn_MBR_relocationRequired_ies_2,
+ 1, /* Single element */
+ &asn_SPC_relocationRequired_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_RelocationRequired_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RelocationRequired, relocationRequired_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_relocationRequired_ies_2,
+ memb_relocationRequired_ies_constraint_1,
+ &asn_PER_memb_relocationRequired_ies_constr_2,
+ 0,
+ "relocationRequired-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RelocationRequired_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RelocationRequired_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* relocationRequired-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RelocationRequired_specs_1 = {
+ sizeof(struct RANAP_RelocationRequired),
+ offsetof(struct RANAP_RelocationRequired, _asn_ctx),
+ asn_MAP_RANAP_RelocationRequired_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationRequired = {
+ "RANAP_RelocationRequired",
+ "RANAP_RelocationRequired",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RelocationRequired_tags_1,
+ sizeof(asn_DEF_RANAP_RelocationRequired_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationRequired_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RelocationRequired_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RelocationRequired_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationRequired_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RelocationRequired_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_RelocationRequired_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RelocationRequired.h b/src/ranap/RANAP_RelocationRequired.h
new file mode 100644
index 0000000..2c8fce0
--- /dev/null
+++ b/src/ranap/RANAP_RelocationRequired.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_RelocationRequired_H_
+#define _RANAP_RelocationRequired_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RelocationRequired */
+typedef struct RANAP_RelocationRequired {
+ struct relocationRequired_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } relocationRequired_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RelocationRequired_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationRequired;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RelocationRequired_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RelocationRequirement.c b/src/ranap/RANAP_RelocationRequirement.c
new file mode 100644
index 0000000..9d7b424
--- /dev/null
+++ b/src/ranap/RANAP_RelocationRequirement.c
@@ -0,0 +1,169 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RelocationRequirement.h"
+
+int
+RANAP_RelocationRequirement_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_RelocationRequirement_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_RelocationRequirement_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_RelocationRequirement_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_RelocationRequirement_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RelocationRequirement_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RelocationRequirement_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_RelocationRequirement_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_RelocationRequirement_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RelocationRequirement_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RelocationRequirement_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_RelocationRequirement_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_RelocationRequirement_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RelocationRequirement_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RelocationRequirement_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RelocationRequirement_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_RelocationRequirement_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RelocationRequirement_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_RelocationRequirement_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RelocationRequirement_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_RelocationRequirement_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RelocationRequirement_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_RelocationRequirement_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_RelocationRequirement_value2enum_1[] = {
+ { 0, 8, "lossless" },
+ { 1, 4, "none" },
+ { 2, 8, "realtime" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_RelocationRequirement_enum2value_1[] = {
+ 0, /* lossless(0) */
+ 1, /* none(1) */
+ 2 /* realtime(2) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_RelocationRequirement_specs_1 = {
+ asn_MAP_RANAP_RelocationRequirement_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_RelocationRequirement_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_RANAP_RelocationRequirement_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationRequirement = {
+ "RANAP_RelocationRequirement",
+ "RANAP_RelocationRequirement",
+ RANAP_RelocationRequirement_free,
+ RANAP_RelocationRequirement_print,
+ RANAP_RelocationRequirement_constraint,
+ RANAP_RelocationRequirement_decode_ber,
+ RANAP_RelocationRequirement_encode_der,
+ RANAP_RelocationRequirement_decode_xer,
+ RANAP_RelocationRequirement_encode_xer,
+ RANAP_RelocationRequirement_decode_uper,
+ RANAP_RelocationRequirement_encode_uper,
+ RANAP_RelocationRequirement_decode_aper,
+ RANAP_RelocationRequirement_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RelocationRequirement_tags_1,
+ sizeof(asn_DEF_RANAP_RelocationRequirement_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationRequirement_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RelocationRequirement_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RelocationRequirement_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationRequirement_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RelocationRequirement_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_RelocationRequirement_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RelocationRequirement.h b/src/ranap/RANAP_RelocationRequirement.h
new file mode 100644
index 0000000..56623ed
--- /dev/null
+++ b/src/ranap/RANAP_RelocationRequirement.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RelocationRequirement_H_
+#define _RANAP_RelocationRequirement_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_RelocationRequirement {
+ RANAP_RelocationRequirement_lossless = 0,
+ RANAP_RelocationRequirement_none = 1,
+ /*
+ * Enumeration is extensible
+ */
+ RANAP_RelocationRequirement_realtime = 2
+} e_RANAP_RelocationRequirement;
+
+/* RANAP_RelocationRequirement */
+typedef long RANAP_RelocationRequirement_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationRequirement;
+asn_struct_free_f RANAP_RelocationRequirement_free;
+asn_struct_print_f RANAP_RelocationRequirement_print;
+asn_constr_check_f RANAP_RelocationRequirement_constraint;
+ber_type_decoder_f RANAP_RelocationRequirement_decode_ber;
+der_type_encoder_f RANAP_RelocationRequirement_encode_der;
+xer_type_decoder_f RANAP_RelocationRequirement_decode_xer;
+xer_type_encoder_f RANAP_RelocationRequirement_encode_xer;
+per_type_decoder_f RANAP_RelocationRequirement_decode_uper;
+per_type_encoder_f RANAP_RelocationRequirement_encode_uper;
+per_type_decoder_f RANAP_RelocationRequirement_decode_aper;
+per_type_encoder_f RANAP_RelocationRequirement_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RelocationRequirement_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RelocationType.c b/src/ranap/RANAP_RelocationType.c
new file mode 100644
index 0000000..45ede47
--- /dev/null
+++ b/src/ranap/RANAP_RelocationType.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RelocationType.h"
+
+int
+RANAP_RelocationType_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_RelocationType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_RelocationType_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_RelocationType_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_RelocationType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RelocationType_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RelocationType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_RelocationType_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_RelocationType_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RelocationType_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RelocationType_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_RelocationType_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_RelocationType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RelocationType_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RelocationType_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RelocationType_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_RelocationType_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RelocationType_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_RelocationType_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RelocationType_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_RelocationType_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RelocationType_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_RelocationType_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_RelocationType_value2enum_1[] = {
+ { 0, 15, "ue-not-involved" },
+ { 1, 11, "ue-involved" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_RelocationType_enum2value_1[] = {
+ 1, /* ue-involved(1) */
+ 0 /* ue-not-involved(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_RelocationType_specs_1 = {
+ asn_MAP_RANAP_RelocationType_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_RelocationType_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_RANAP_RelocationType_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationType = {
+ "RANAP_RelocationType",
+ "RANAP_RelocationType",
+ RANAP_RelocationType_free,
+ RANAP_RelocationType_print,
+ RANAP_RelocationType_constraint,
+ RANAP_RelocationType_decode_ber,
+ RANAP_RelocationType_encode_der,
+ RANAP_RelocationType_decode_xer,
+ RANAP_RelocationType_encode_xer,
+ RANAP_RelocationType_decode_uper,
+ RANAP_RelocationType_encode_uper,
+ RANAP_RelocationType_decode_aper,
+ RANAP_RelocationType_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RelocationType_tags_1,
+ sizeof(asn_DEF_RANAP_RelocationType_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationType_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RelocationType_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RelocationType_tags_1)
+ /sizeof(asn_DEF_RANAP_RelocationType_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RelocationType_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_RelocationType_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RelocationType.h b/src/ranap/RANAP_RelocationType.h
new file mode 100644
index 0000000..4ad5f58
--- /dev/null
+++ b/src/ranap/RANAP_RelocationType.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RelocationType_H_
+#define _RANAP_RelocationType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_RelocationType {
+ RANAP_RelocationType_ue_not_involved = 0,
+ RANAP_RelocationType_ue_involved = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_RelocationType;
+
+/* RANAP_RelocationType */
+typedef long RANAP_RelocationType_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RelocationType;
+asn_struct_free_f RANAP_RelocationType_free;
+asn_struct_print_f RANAP_RelocationType_print;
+asn_constr_check_f RANAP_RelocationType_constraint;
+ber_type_decoder_f RANAP_RelocationType_decode_ber;
+der_type_encoder_f RANAP_RelocationType_encode_der;
+xer_type_decoder_f RANAP_RelocationType_decode_xer;
+xer_type_encoder_f RANAP_RelocationType_encode_xer;
+per_type_decoder_f RANAP_RelocationType_decode_uper;
+per_type_encoder_f RANAP_RelocationType_encode_uper;
+per_type_decoder_f RANAP_RelocationType_decode_aper;
+per_type_encoder_f RANAP_RelocationType_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RelocationType_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RepetitionNumber0.c b/src/ranap/RANAP_RepetitionNumber0.c
new file mode 100644
index 0000000..53f7e9f
--- /dev/null
+++ b/src/ranap/RANAP_RepetitionNumber0.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RepetitionNumber0.h"
+
+int
+RANAP_RepetitionNumber0_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 255l)) {
+ /* 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 void
+RANAP_RepetitionNumber0_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_RepetitionNumber0_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_RepetitionNumber0_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_RepetitionNumber0_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RepetitionNumber0_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RepetitionNumber0_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_RepetitionNumber0_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_RepetitionNumber0_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RepetitionNumber0_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RepetitionNumber0_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_RepetitionNumber0_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_RepetitionNumber0_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RepetitionNumber0_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RepetitionNumber0_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RepetitionNumber0_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_RepetitionNumber0_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RepetitionNumber0_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_RepetitionNumber0_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RepetitionNumber0_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_RepetitionNumber0_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RepetitionNumber0_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_RepetitionNumber0_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 8, 8, 0l, 255l } /* (0..255) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RepetitionNumber0_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RepetitionNumber0 = {
+ "RANAP_RepetitionNumber0",
+ "RANAP_RepetitionNumber0",
+ RANAP_RepetitionNumber0_free,
+ RANAP_RepetitionNumber0_print,
+ RANAP_RepetitionNumber0_constraint,
+ RANAP_RepetitionNumber0_decode_ber,
+ RANAP_RepetitionNumber0_encode_der,
+ RANAP_RepetitionNumber0_decode_xer,
+ RANAP_RepetitionNumber0_encode_xer,
+ RANAP_RepetitionNumber0_decode_uper,
+ RANAP_RepetitionNumber0_encode_uper,
+ RANAP_RepetitionNumber0_decode_aper,
+ RANAP_RepetitionNumber0_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RepetitionNumber0_tags_1,
+ sizeof(asn_DEF_RANAP_RepetitionNumber0_tags_1)
+ /sizeof(asn_DEF_RANAP_RepetitionNumber0_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RepetitionNumber0_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RepetitionNumber0_tags_1)
+ /sizeof(asn_DEF_RANAP_RepetitionNumber0_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RepetitionNumber0_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_RepetitionNumber0.h b/src/ranap/RANAP_RepetitionNumber0.h
new file mode 100644
index 0000000..41e8950
--- /dev/null
+++ b/src/ranap/RANAP_RepetitionNumber0.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RepetitionNumber0_H_
+#define _RANAP_RepetitionNumber0_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RepetitionNumber0 */
+typedef long RANAP_RepetitionNumber0_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RepetitionNumber0;
+asn_struct_free_f RANAP_RepetitionNumber0_free;
+asn_struct_print_f RANAP_RepetitionNumber0_print;
+asn_constr_check_f RANAP_RepetitionNumber0_constraint;
+ber_type_decoder_f RANAP_RepetitionNumber0_decode_ber;
+der_type_encoder_f RANAP_RepetitionNumber0_encode_der;
+xer_type_decoder_f RANAP_RepetitionNumber0_decode_xer;
+xer_type_encoder_f RANAP_RepetitionNumber0_encode_xer;
+per_type_decoder_f RANAP_RepetitionNumber0_decode_uper;
+per_type_encoder_f RANAP_RepetitionNumber0_encode_uper;
+per_type_decoder_f RANAP_RepetitionNumber0_decode_aper;
+per_type_encoder_f RANAP_RepetitionNumber0_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RepetitionNumber0_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RepetitionNumber1.c b/src/ranap/RANAP_RepetitionNumber1.c
new file mode 100644
index 0000000..b4f2630
--- /dev/null
+++ b/src/ranap/RANAP_RepetitionNumber1.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RepetitionNumber1.h"
+
+int
+RANAP_RepetitionNumber1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1l && value <= 256l)) {
+ /* 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 void
+RANAP_RepetitionNumber1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_RepetitionNumber1_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_RepetitionNumber1_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_RepetitionNumber1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RepetitionNumber1_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RepetitionNumber1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_RepetitionNumber1_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_RepetitionNumber1_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RepetitionNumber1_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RepetitionNumber1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_RepetitionNumber1_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_RepetitionNumber1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RepetitionNumber1_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RepetitionNumber1_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RepetitionNumber1_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_RepetitionNumber1_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RepetitionNumber1_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_RepetitionNumber1_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RepetitionNumber1_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_RepetitionNumber1_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RepetitionNumber1_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_RepetitionNumber1_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 8, 8, 1l, 256l } /* (1..256) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RepetitionNumber1_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RepetitionNumber1 = {
+ "RANAP_RepetitionNumber1",
+ "RANAP_RepetitionNumber1",
+ RANAP_RepetitionNumber1_free,
+ RANAP_RepetitionNumber1_print,
+ RANAP_RepetitionNumber1_constraint,
+ RANAP_RepetitionNumber1_decode_ber,
+ RANAP_RepetitionNumber1_encode_der,
+ RANAP_RepetitionNumber1_decode_xer,
+ RANAP_RepetitionNumber1_encode_xer,
+ RANAP_RepetitionNumber1_decode_uper,
+ RANAP_RepetitionNumber1_encode_uper,
+ RANAP_RepetitionNumber1_decode_aper,
+ RANAP_RepetitionNumber1_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RepetitionNumber1_tags_1,
+ sizeof(asn_DEF_RANAP_RepetitionNumber1_tags_1)
+ /sizeof(asn_DEF_RANAP_RepetitionNumber1_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RepetitionNumber1_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RepetitionNumber1_tags_1)
+ /sizeof(asn_DEF_RANAP_RepetitionNumber1_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RepetitionNumber1_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_RepetitionNumber1.h b/src/ranap/RANAP_RepetitionNumber1.h
new file mode 100644
index 0000000..b151d87
--- /dev/null
+++ b/src/ranap/RANAP_RepetitionNumber1.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RepetitionNumber1_H_
+#define _RANAP_RepetitionNumber1_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RepetitionNumber1 */
+typedef long RANAP_RepetitionNumber1_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RepetitionNumber1;
+asn_struct_free_f RANAP_RepetitionNumber1_free;
+asn_struct_print_f RANAP_RepetitionNumber1_print;
+asn_constr_check_f RANAP_RepetitionNumber1_constraint;
+ber_type_decoder_f RANAP_RepetitionNumber1_decode_ber;
+der_type_encoder_f RANAP_RepetitionNumber1_encode_der;
+xer_type_decoder_f RANAP_RepetitionNumber1_decode_xer;
+xer_type_encoder_f RANAP_RepetitionNumber1_encode_xer;
+per_type_decoder_f RANAP_RepetitionNumber1_decode_uper;
+per_type_encoder_f RANAP_RepetitionNumber1_encode_uper;
+per_type_decoder_f RANAP_RepetitionNumber1_decode_aper;
+per_type_encoder_f RANAP_RepetitionNumber1_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RepetitionNumber1_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ReportAmount.c b/src/ranap/RANAP_ReportAmount.c
new file mode 100644
index 0000000..1e2a190
--- /dev/null
+++ b/src/ranap/RANAP_ReportAmount.c
@@ -0,0 +1,179 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_ReportAmount.h"
+
+int
+RANAP_ReportAmount_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_ReportAmount_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_ReportAmount_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_ReportAmount_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_ReportAmount_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ReportAmount_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ReportAmount_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_ReportAmount_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_ReportAmount_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ReportAmount_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ReportAmount_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_ReportAmount_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_ReportAmount_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ReportAmount_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ReportAmount_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ReportAmount_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_ReportAmount_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ReportAmount_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_ReportAmount_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ReportAmount_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_ReportAmount_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ReportAmount_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_ReportAmount_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0l, 7l } /* (0..7,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_ReportAmount_value2enum_1[] = {
+ { 0, 2, "n1" },
+ { 1, 2, "n2" },
+ { 2, 2, "n4" },
+ { 3, 2, "n8" },
+ { 4, 3, "n16" },
+ { 5, 3, "n32" },
+ { 6, 3, "n64" },
+ { 7, 8, "infinity" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_ReportAmount_enum2value_1[] = {
+ 7, /* infinity(7) */
+ 0, /* n1(0) */
+ 4, /* n16(4) */
+ 1, /* n2(1) */
+ 5, /* n32(5) */
+ 2, /* n4(2) */
+ 6, /* n64(6) */
+ 3 /* n8(3) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_ReportAmount_specs_1 = {
+ asn_MAP_RANAP_ReportAmount_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_ReportAmount_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_RANAP_ReportAmount_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ReportAmount = {
+ "RANAP_ReportAmount",
+ "RANAP_ReportAmount",
+ RANAP_ReportAmount_free,
+ RANAP_ReportAmount_print,
+ RANAP_ReportAmount_constraint,
+ RANAP_ReportAmount_decode_ber,
+ RANAP_ReportAmount_encode_der,
+ RANAP_ReportAmount_decode_xer,
+ RANAP_ReportAmount_encode_xer,
+ RANAP_ReportAmount_decode_uper,
+ RANAP_ReportAmount_encode_uper,
+ RANAP_ReportAmount_decode_aper,
+ RANAP_ReportAmount_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ReportAmount_tags_1,
+ sizeof(asn_DEF_RANAP_ReportAmount_tags_1)
+ /sizeof(asn_DEF_RANAP_ReportAmount_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ReportAmount_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ReportAmount_tags_1)
+ /sizeof(asn_DEF_RANAP_ReportAmount_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_ReportAmount_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_ReportAmount_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_ReportAmount.h b/src/ranap/RANAP_ReportAmount.h
new file mode 100644
index 0000000..daf8dd6
--- /dev/null
+++ b/src/ranap/RANAP_ReportAmount.h
@@ -0,0 +1,57 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_ReportAmount_H_
+#define _RANAP_ReportAmount_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_ReportAmount {
+ RANAP_ReportAmount_n1 = 0,
+ RANAP_ReportAmount_n2 = 1,
+ RANAP_ReportAmount_n4 = 2,
+ RANAP_ReportAmount_n8 = 3,
+ RANAP_ReportAmount_n16 = 4,
+ RANAP_ReportAmount_n32 = 5,
+ RANAP_ReportAmount_n64 = 6,
+ RANAP_ReportAmount_infinity = 7
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_ReportAmount;
+
+/* RANAP_ReportAmount */
+typedef long RANAP_ReportAmount_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ReportAmount;
+asn_struct_free_f RANAP_ReportAmount_free;
+asn_struct_print_f RANAP_ReportAmount_print;
+asn_constr_check_f RANAP_ReportAmount_constraint;
+ber_type_decoder_f RANAP_ReportAmount_decode_ber;
+der_type_encoder_f RANAP_ReportAmount_encode_der;
+xer_type_decoder_f RANAP_ReportAmount_decode_xer;
+xer_type_encoder_f RANAP_ReportAmount_encode_xer;
+per_type_decoder_f RANAP_ReportAmount_decode_uper;
+per_type_encoder_f RANAP_ReportAmount_encode_uper;
+per_type_decoder_f RANAP_ReportAmount_decode_aper;
+per_type_encoder_f RANAP_ReportAmount_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ReportAmount_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ReportArea.c b/src/ranap/RANAP_ReportArea.c
new file mode 100644
index 0000000..240a572
--- /dev/null
+++ b/src/ranap/RANAP_ReportArea.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_ReportArea.h"
+
+int
+RANAP_ReportArea_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_ReportArea_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_ReportArea_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_ReportArea_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_ReportArea_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ReportArea_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ReportArea_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_ReportArea_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_ReportArea_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ReportArea_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ReportArea_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_ReportArea_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_ReportArea_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ReportArea_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ReportArea_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ReportArea_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_ReportArea_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ReportArea_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_ReportArea_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ReportArea_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_ReportArea_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ReportArea_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_ReportArea_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_ReportArea_value2enum_1[] = {
+ { 0, 12, "service-area" },
+ { 1, 17, "geographical-area" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_ReportArea_enum2value_1[] = {
+ 1, /* geographical-area(1) */
+ 0 /* service-area(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_ReportArea_specs_1 = {
+ asn_MAP_RANAP_ReportArea_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_ReportArea_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_RANAP_ReportArea_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ReportArea = {
+ "RANAP_ReportArea",
+ "RANAP_ReportArea",
+ RANAP_ReportArea_free,
+ RANAP_ReportArea_print,
+ RANAP_ReportArea_constraint,
+ RANAP_ReportArea_decode_ber,
+ RANAP_ReportArea_encode_der,
+ RANAP_ReportArea_decode_xer,
+ RANAP_ReportArea_encode_xer,
+ RANAP_ReportArea_decode_uper,
+ RANAP_ReportArea_encode_uper,
+ RANAP_ReportArea_decode_aper,
+ RANAP_ReportArea_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ReportArea_tags_1,
+ sizeof(asn_DEF_RANAP_ReportArea_tags_1)
+ /sizeof(asn_DEF_RANAP_ReportArea_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ReportArea_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ReportArea_tags_1)
+ /sizeof(asn_DEF_RANAP_ReportArea_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_ReportArea_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_ReportArea_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_ReportArea.h b/src/ranap/RANAP_ReportArea.h
new file mode 100644
index 0000000..e5ea1c8
--- /dev/null
+++ b/src/ranap/RANAP_ReportArea.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_ReportArea_H_
+#define _RANAP_ReportArea_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_ReportArea {
+ RANAP_ReportArea_service_area = 0,
+ RANAP_ReportArea_geographical_area = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_ReportArea;
+
+/* RANAP_ReportArea */
+typedef long RANAP_ReportArea_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ReportArea;
+asn_struct_free_f RANAP_ReportArea_free;
+asn_struct_print_f RANAP_ReportArea_print;
+asn_constr_check_f RANAP_ReportArea_constraint;
+ber_type_decoder_f RANAP_ReportArea_decode_ber;
+der_type_encoder_f RANAP_ReportArea_encode_der;
+xer_type_decoder_f RANAP_ReportArea_decode_xer;
+xer_type_encoder_f RANAP_ReportArea_encode_xer;
+per_type_decoder_f RANAP_ReportArea_decode_uper;
+per_type_encoder_f RANAP_ReportArea_encode_uper;
+per_type_decoder_f RANAP_ReportArea_decode_aper;
+per_type_encoder_f RANAP_ReportArea_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ReportArea_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ReportChangeOfSAI.c b/src/ranap/RANAP_ReportChangeOfSAI.c
new file mode 100644
index 0000000..ec74c5c
--- /dev/null
+++ b/src/ranap/RANAP_ReportChangeOfSAI.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_ReportChangeOfSAI.h"
+
+int
+RANAP_ReportChangeOfSAI_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_ReportChangeOfSAI_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_ReportChangeOfSAI_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_ReportChangeOfSAI_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_ReportChangeOfSAI_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ReportChangeOfSAI_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ReportChangeOfSAI_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_ReportChangeOfSAI_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_ReportChangeOfSAI_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ReportChangeOfSAI_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ReportChangeOfSAI_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_ReportChangeOfSAI_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_ReportChangeOfSAI_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ReportChangeOfSAI_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ReportChangeOfSAI_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ReportChangeOfSAI_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_ReportChangeOfSAI_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ReportChangeOfSAI_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_ReportChangeOfSAI_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ReportChangeOfSAI_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_ReportChangeOfSAI_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ReportChangeOfSAI_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_ReportChangeOfSAI_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_ReportChangeOfSAI_value2enum_1[] = {
+ { 0, 9, "requested" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_ReportChangeOfSAI_enum2value_1[] = {
+ 0 /* requested(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_ReportChangeOfSAI_specs_1 = {
+ asn_MAP_RANAP_ReportChangeOfSAI_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_ReportChangeOfSAI_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_RANAP_ReportChangeOfSAI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ReportChangeOfSAI = {
+ "RANAP_ReportChangeOfSAI",
+ "RANAP_ReportChangeOfSAI",
+ RANAP_ReportChangeOfSAI_free,
+ RANAP_ReportChangeOfSAI_print,
+ RANAP_ReportChangeOfSAI_constraint,
+ RANAP_ReportChangeOfSAI_decode_ber,
+ RANAP_ReportChangeOfSAI_encode_der,
+ RANAP_ReportChangeOfSAI_decode_xer,
+ RANAP_ReportChangeOfSAI_encode_xer,
+ RANAP_ReportChangeOfSAI_decode_uper,
+ RANAP_ReportChangeOfSAI_encode_uper,
+ RANAP_ReportChangeOfSAI_decode_aper,
+ RANAP_ReportChangeOfSAI_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ReportChangeOfSAI_tags_1,
+ sizeof(asn_DEF_RANAP_ReportChangeOfSAI_tags_1)
+ /sizeof(asn_DEF_RANAP_ReportChangeOfSAI_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ReportChangeOfSAI_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ReportChangeOfSAI_tags_1)
+ /sizeof(asn_DEF_RANAP_ReportChangeOfSAI_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_ReportChangeOfSAI_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_ReportChangeOfSAI_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_ReportChangeOfSAI.h b/src/ranap/RANAP_ReportChangeOfSAI.h
new file mode 100644
index 0000000..b6e0a05
--- /dev/null
+++ b/src/ranap/RANAP_ReportChangeOfSAI.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_ReportChangeOfSAI_H_
+#define _RANAP_ReportChangeOfSAI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_ReportChangeOfSAI {
+ RANAP_ReportChangeOfSAI_requested = 0
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_ReportChangeOfSAI;
+
+/* RANAP_ReportChangeOfSAI */
+typedef long RANAP_ReportChangeOfSAI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ReportChangeOfSAI;
+asn_struct_free_f RANAP_ReportChangeOfSAI_free;
+asn_struct_print_f RANAP_ReportChangeOfSAI_print;
+asn_constr_check_f RANAP_ReportChangeOfSAI_constraint;
+ber_type_decoder_f RANAP_ReportChangeOfSAI_decode_ber;
+der_type_encoder_f RANAP_ReportChangeOfSAI_encode_der;
+xer_type_decoder_f RANAP_ReportChangeOfSAI_decode_xer;
+xer_type_encoder_f RANAP_ReportChangeOfSAI_encode_xer;
+per_type_decoder_f RANAP_ReportChangeOfSAI_decode_uper;
+per_type_encoder_f RANAP_ReportChangeOfSAI_encode_uper;
+per_type_decoder_f RANAP_ReportChangeOfSAI_decode_aper;
+per_type_encoder_f RANAP_ReportChangeOfSAI_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ReportChangeOfSAI_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ReportInterval.c b/src/ranap/RANAP_ReportInterval.c
new file mode 100644
index 0000000..58dd609
--- /dev/null
+++ b/src/ranap/RANAP_ReportInterval.c
@@ -0,0 +1,193 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_ReportInterval.h"
+
+int
+RANAP_ReportInterval_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_ReportInterval_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_ReportInterval_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_ReportInterval_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_ReportInterval_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ReportInterval_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ReportInterval_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_ReportInterval_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_ReportInterval_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ReportInterval_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ReportInterval_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_ReportInterval_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_ReportInterval_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ReportInterval_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ReportInterval_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ReportInterval_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_ReportInterval_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ReportInterval_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_ReportInterval_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ReportInterval_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_ReportInterval_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ReportInterval_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_ReportInterval_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0l, 12l } /* (0..12,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_ReportInterval_value2enum_1[] = {
+ { 0, 5, "ms250" },
+ { 1, 5, "ms500" },
+ { 2, 6, "ms1000" },
+ { 3, 6, "ms2000" },
+ { 4, 6, "ms3000" },
+ { 5, 6, "ms4000" },
+ { 6, 6, "ms6000" },
+ { 7, 7, "ms12000" },
+ { 8, 7, "ms16000" },
+ { 9, 7, "ms20000" },
+ { 10, 7, "ms24000" },
+ { 11, 7, "ms32000" },
+ { 12, 7, "ms64000" },
+ { 13, 6, "ms8000" },
+ { 14, 7, "ms28000" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_ReportInterval_enum2value_1[] = {
+ 2, /* ms1000(2) */
+ 7, /* ms12000(7) */
+ 8, /* ms16000(8) */
+ 3, /* ms2000(3) */
+ 9, /* ms20000(9) */
+ 10, /* ms24000(10) */
+ 0, /* ms250(0) */
+ 14, /* ms28000(14) */
+ 4, /* ms3000(4) */
+ 11, /* ms32000(11) */
+ 5, /* ms4000(5) */
+ 1, /* ms500(1) */
+ 6, /* ms6000(6) */
+ 12, /* ms64000(12) */
+ 13 /* ms8000(13) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_ReportInterval_specs_1 = {
+ asn_MAP_RANAP_ReportInterval_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_ReportInterval_enum2value_1, /* N => "tag"; sorted by N */
+ 15, /* 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_RANAP_ReportInterval_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ReportInterval = {
+ "RANAP_ReportInterval",
+ "RANAP_ReportInterval",
+ RANAP_ReportInterval_free,
+ RANAP_ReportInterval_print,
+ RANAP_ReportInterval_constraint,
+ RANAP_ReportInterval_decode_ber,
+ RANAP_ReportInterval_encode_der,
+ RANAP_ReportInterval_decode_xer,
+ RANAP_ReportInterval_encode_xer,
+ RANAP_ReportInterval_decode_uper,
+ RANAP_ReportInterval_encode_uper,
+ RANAP_ReportInterval_decode_aper,
+ RANAP_ReportInterval_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ReportInterval_tags_1,
+ sizeof(asn_DEF_RANAP_ReportInterval_tags_1)
+ /sizeof(asn_DEF_RANAP_ReportInterval_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ReportInterval_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ReportInterval_tags_1)
+ /sizeof(asn_DEF_RANAP_ReportInterval_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_ReportInterval_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_ReportInterval_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_ReportInterval.h b/src/ranap/RANAP_ReportInterval.h
new file mode 100644
index 0000000..6efdb1a
--- /dev/null
+++ b/src/ranap/RANAP_ReportInterval.h
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_ReportInterval_H_
+#define _RANAP_ReportInterval_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_ReportInterval {
+ RANAP_ReportInterval_ms250 = 0,
+ RANAP_ReportInterval_ms500 = 1,
+ RANAP_ReportInterval_ms1000 = 2,
+ RANAP_ReportInterval_ms2000 = 3,
+ RANAP_ReportInterval_ms3000 = 4,
+ RANAP_ReportInterval_ms4000 = 5,
+ RANAP_ReportInterval_ms6000 = 6,
+ RANAP_ReportInterval_ms12000 = 7,
+ RANAP_ReportInterval_ms16000 = 8,
+ RANAP_ReportInterval_ms20000 = 9,
+ RANAP_ReportInterval_ms24000 = 10,
+ RANAP_ReportInterval_ms32000 = 11,
+ RANAP_ReportInterval_ms64000 = 12,
+ /*
+ * Enumeration is extensible
+ */
+ RANAP_ReportInterval_ms8000 = 13,
+ RANAP_ReportInterval_ms28000 = 14
+} e_RANAP_ReportInterval;
+
+/* RANAP_ReportInterval */
+typedef long RANAP_ReportInterval_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ReportInterval;
+asn_struct_free_f RANAP_ReportInterval_free;
+asn_struct_print_f RANAP_ReportInterval_print;
+asn_constr_check_f RANAP_ReportInterval_constraint;
+ber_type_decoder_f RANAP_ReportInterval_decode_ber;
+der_type_encoder_f RANAP_ReportInterval_encode_der;
+xer_type_decoder_f RANAP_ReportInterval_decode_xer;
+xer_type_encoder_f RANAP_ReportInterval_encode_xer;
+per_type_decoder_f RANAP_ReportInterval_decode_uper;
+per_type_encoder_f RANAP_ReportInterval_encode_uper;
+per_type_decoder_f RANAP_ReportInterval_decode_aper;
+per_type_encoder_f RANAP_ReportInterval_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ReportInterval_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RequestType.c b/src/ranap/RANAP_RequestType.c
new file mode 100644
index 0000000..c00dcba
--- /dev/null
+++ b/src/ranap/RANAP_RequestType.c
@@ -0,0 +1,113 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RequestType.h"
+
+static int
+memb_accuracyCode_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 127l)) {
+ /* Constraint 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_accuracyCode_constr_4 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 7, 7, 0l, 127l } /* (0..127) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_RequestType_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RequestType, event),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Event,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "event"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_RequestType, reportArea),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_ReportArea,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "reportArea"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_RequestType, accuracyCode),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_accuracyCode_constraint_1,
+ &asn_PER_memb_accuracyCode_constr_4,
+ 0,
+ "accuracyCode"
+ },
+};
+static const int asn_MAP_RANAP_RequestType_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_RequestType_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_RequestType_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* event */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* reportArea */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* accuracyCode */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RequestType_specs_1 = {
+ sizeof(struct RANAP_RequestType),
+ offsetof(struct RANAP_RequestType, _asn_ctx),
+ asn_MAP_RANAP_RequestType_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_RequestType_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RequestType = {
+ "RANAP_RequestType",
+ "RANAP_RequestType",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RequestType_tags_1,
+ sizeof(asn_DEF_RANAP_RequestType_tags_1)
+ /sizeof(asn_DEF_RANAP_RequestType_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RequestType_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RequestType_tags_1)
+ /sizeof(asn_DEF_RANAP_RequestType_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_RequestType_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_RequestType_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RequestType.h b/src/ranap/RANAP_RequestType.h
new file mode 100644
index 0000000..67ed455
--- /dev/null
+++ b/src/ranap/RANAP_RequestType.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RequestType_H_
+#define _RANAP_RequestType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_Event.h"
+#include "RANAP_ReportArea.h"
+#include <NativeInteger.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RequestType */
+typedef struct RANAP_RequestType {
+ RANAP_Event_t event;
+ RANAP_ReportArea_t reportArea;
+ long *accuracyCode /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RequestType_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RequestType;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RequestType_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Requested-RAB-Parameter-ExtendedGuaranteedBitrateList.c b/src/ranap/RANAP_Requested-RAB-Parameter-ExtendedGuaranteedBitrateList.c
new file mode 100644
index 0000000..259ef71
--- /dev/null
+++ b/src/ranap/RANAP_Requested-RAB-Parameter-ExtendedGuaranteedBitrateList.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Requested-RAB-Parameter-ExtendedGuaranteedBitrateList.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_Requested_RAB_Parameter_ExtendedGuaranteedBitrateList_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 1, 1, 1l, 2l } /* (SIZE(1..2)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_Requested_RAB_Parameter_ExtendedGuaranteedBitrateList_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_ExtendedGuaranteedBitrate,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Requested_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_Requested_RAB_Parameter_ExtendedGuaranteedBitrateList_specs_1 = {
+ sizeof(struct RANAP_Requested_RAB_Parameter_ExtendedGuaranteedBitrateList),
+ offsetof(struct RANAP_Requested_RAB_Parameter_ExtendedGuaranteedBitrateList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Requested_RAB_Parameter_ExtendedGuaranteedBitrateList = {
+ "RANAP_Requested-RAB-Parameter-ExtendedGuaranteedBitrateList",
+ "RANAP_Requested-RAB-Parameter-ExtendedGuaranteedBitrateList",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Requested_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1,
+ sizeof(asn_DEF_RANAP_Requested_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Requested_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Requested_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Requested_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Requested_RAB_Parameter_ExtendedGuaranteedBitrateList_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Requested_RAB_Parameter_ExtendedGuaranteedBitrateList_constr_1,
+ asn_MBR_RANAP_Requested_RAB_Parameter_ExtendedGuaranteedBitrateList_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_Requested_RAB_Parameter_ExtendedGuaranteedBitrateList_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Requested-RAB-Parameter-ExtendedGuaranteedBitrateList.h b/src/ranap/RANAP_Requested-RAB-Parameter-ExtendedGuaranteedBitrateList.h
new file mode 100644
index 0000000..e856b16
--- /dev/null
+++ b/src/ranap/RANAP_Requested-RAB-Parameter-ExtendedGuaranteedBitrateList.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Requested_RAB_Parameter_ExtendedGuaranteedBitrateList_H_
+#define _RANAP_Requested_RAB_Parameter_ExtendedGuaranteedBitrateList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_ExtendedGuaranteedBitrate.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Requested-RAB-Parameter-ExtendedGuaranteedBitrateList */
+typedef struct RANAP_Requested_RAB_Parameter_ExtendedGuaranteedBitrateList {
+ A_SEQUENCE_OF(RANAP_ExtendedGuaranteedBitrate_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Requested_RAB_Parameter_ExtendedGuaranteedBitrateList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Requested_RAB_Parameter_ExtendedGuaranteedBitrateList;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Requested_RAB_Parameter_ExtendedGuaranteedBitrateList_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Requested-RAB-Parameter-ExtendedMaxBitrateList.c b/src/ranap/RANAP_Requested-RAB-Parameter-ExtendedMaxBitrateList.c
new file mode 100644
index 0000000..263bc3a
--- /dev/null
+++ b/src/ranap/RANAP_Requested-RAB-Parameter-ExtendedMaxBitrateList.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Requested-RAB-Parameter-ExtendedMaxBitrateList.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_Requested_RAB_Parameter_ExtendedMaxBitrateList_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 1, 1, 1l, 2l } /* (SIZE(1..2)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_Requested_RAB_Parameter_ExtendedMaxBitrateList_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_ExtendedMaxBitrate,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Requested_RAB_Parameter_ExtendedMaxBitrateList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_Requested_RAB_Parameter_ExtendedMaxBitrateList_specs_1 = {
+ sizeof(struct RANAP_Requested_RAB_Parameter_ExtendedMaxBitrateList),
+ offsetof(struct RANAP_Requested_RAB_Parameter_ExtendedMaxBitrateList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Requested_RAB_Parameter_ExtendedMaxBitrateList = {
+ "RANAP_Requested-RAB-Parameter-ExtendedMaxBitrateList",
+ "RANAP_Requested-RAB-Parameter-ExtendedMaxBitrateList",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Requested_RAB_Parameter_ExtendedMaxBitrateList_tags_1,
+ sizeof(asn_DEF_RANAP_Requested_RAB_Parameter_ExtendedMaxBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Requested_RAB_Parameter_ExtendedMaxBitrateList_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Requested_RAB_Parameter_ExtendedMaxBitrateList_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Requested_RAB_Parameter_ExtendedMaxBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Requested_RAB_Parameter_ExtendedMaxBitrateList_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Requested_RAB_Parameter_ExtendedMaxBitrateList_constr_1,
+ asn_MBR_RANAP_Requested_RAB_Parameter_ExtendedMaxBitrateList_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_Requested_RAB_Parameter_ExtendedMaxBitrateList_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Requested-RAB-Parameter-ExtendedMaxBitrateList.h b/src/ranap/RANAP_Requested-RAB-Parameter-ExtendedMaxBitrateList.h
new file mode 100644
index 0000000..33dc3ee
--- /dev/null
+++ b/src/ranap/RANAP_Requested-RAB-Parameter-ExtendedMaxBitrateList.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Requested_RAB_Parameter_ExtendedMaxBitrateList_H_
+#define _RANAP_Requested_RAB_Parameter_ExtendedMaxBitrateList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_ExtendedMaxBitrate.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Requested-RAB-Parameter-ExtendedMaxBitrateList */
+typedef struct RANAP_Requested_RAB_Parameter_ExtendedMaxBitrateList {
+ A_SEQUENCE_OF(RANAP_ExtendedMaxBitrate_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Requested_RAB_Parameter_ExtendedMaxBitrateList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Requested_RAB_Parameter_ExtendedMaxBitrateList;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Requested_RAB_Parameter_ExtendedMaxBitrateList_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Requested-RAB-Parameter-GuaranteedBitrateList.c b/src/ranap/RANAP_Requested-RAB-Parameter-GuaranteedBitrateList.c
new file mode 100644
index 0000000..35fa89d
--- /dev/null
+++ b/src/ranap/RANAP_Requested-RAB-Parameter-GuaranteedBitrateList.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Requested-RAB-Parameter-GuaranteedBitrateList.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_Requested_RAB_Parameter_GuaranteedBitrateList_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 1, 1, 1l, 2l } /* (SIZE(1..2)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_Requested_RAB_Parameter_GuaranteedBitrateList_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_GuaranteedBitrate,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Requested_RAB_Parameter_GuaranteedBitrateList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_Requested_RAB_Parameter_GuaranteedBitrateList_specs_1 = {
+ sizeof(struct RANAP_Requested_RAB_Parameter_GuaranteedBitrateList),
+ offsetof(struct RANAP_Requested_RAB_Parameter_GuaranteedBitrateList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Requested_RAB_Parameter_GuaranteedBitrateList = {
+ "RANAP_Requested-RAB-Parameter-GuaranteedBitrateList",
+ "RANAP_Requested-RAB-Parameter-GuaranteedBitrateList",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Requested_RAB_Parameter_GuaranteedBitrateList_tags_1,
+ sizeof(asn_DEF_RANAP_Requested_RAB_Parameter_GuaranteedBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Requested_RAB_Parameter_GuaranteedBitrateList_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Requested_RAB_Parameter_GuaranteedBitrateList_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Requested_RAB_Parameter_GuaranteedBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Requested_RAB_Parameter_GuaranteedBitrateList_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Requested_RAB_Parameter_GuaranteedBitrateList_constr_1,
+ asn_MBR_RANAP_Requested_RAB_Parameter_GuaranteedBitrateList_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_Requested_RAB_Parameter_GuaranteedBitrateList_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Requested-RAB-Parameter-GuaranteedBitrateList.h b/src/ranap/RANAP_Requested-RAB-Parameter-GuaranteedBitrateList.h
new file mode 100644
index 0000000..cfe9076
--- /dev/null
+++ b/src/ranap/RANAP_Requested-RAB-Parameter-GuaranteedBitrateList.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Requested_RAB_Parameter_GuaranteedBitrateList_H_
+#define _RANAP_Requested_RAB_Parameter_GuaranteedBitrateList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_GuaranteedBitrate.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Requested-RAB-Parameter-GuaranteedBitrateList */
+typedef struct RANAP_Requested_RAB_Parameter_GuaranteedBitrateList {
+ A_SEQUENCE_OF(RANAP_GuaranteedBitrate_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Requested_RAB_Parameter_GuaranteedBitrateList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Requested_RAB_Parameter_GuaranteedBitrateList;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Requested_RAB_Parameter_GuaranteedBitrateList_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Requested-RAB-Parameter-MaxBitrateList.c b/src/ranap/RANAP_Requested-RAB-Parameter-MaxBitrateList.c
new file mode 100644
index 0000000..d846ed0
--- /dev/null
+++ b/src/ranap/RANAP_Requested-RAB-Parameter-MaxBitrateList.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Requested-RAB-Parameter-MaxBitrateList.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_Requested_RAB_Parameter_MaxBitrateList_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 1, 1, 1l, 2l } /* (SIZE(1..2)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_Requested_RAB_Parameter_MaxBitrateList_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_MaxBitrate,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Requested_RAB_Parameter_MaxBitrateList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_Requested_RAB_Parameter_MaxBitrateList_specs_1 = {
+ sizeof(struct RANAP_Requested_RAB_Parameter_MaxBitrateList),
+ offsetof(struct RANAP_Requested_RAB_Parameter_MaxBitrateList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Requested_RAB_Parameter_MaxBitrateList = {
+ "RANAP_Requested-RAB-Parameter-MaxBitrateList",
+ "RANAP_Requested-RAB-Parameter-MaxBitrateList",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Requested_RAB_Parameter_MaxBitrateList_tags_1,
+ sizeof(asn_DEF_RANAP_Requested_RAB_Parameter_MaxBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Requested_RAB_Parameter_MaxBitrateList_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Requested_RAB_Parameter_MaxBitrateList_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Requested_RAB_Parameter_MaxBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_Requested_RAB_Parameter_MaxBitrateList_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Requested_RAB_Parameter_MaxBitrateList_constr_1,
+ asn_MBR_RANAP_Requested_RAB_Parameter_MaxBitrateList_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_Requested_RAB_Parameter_MaxBitrateList_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Requested-RAB-Parameter-MaxBitrateList.h b/src/ranap/RANAP_Requested-RAB-Parameter-MaxBitrateList.h
new file mode 100644
index 0000000..0b2956c
--- /dev/null
+++ b/src/ranap/RANAP_Requested-RAB-Parameter-MaxBitrateList.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Requested_RAB_Parameter_MaxBitrateList_H_
+#define _RANAP_Requested_RAB_Parameter_MaxBitrateList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_MaxBitrate.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Requested-RAB-Parameter-MaxBitrateList */
+typedef struct RANAP_Requested_RAB_Parameter_MaxBitrateList {
+ A_SEQUENCE_OF(RANAP_MaxBitrate_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Requested_RAB_Parameter_MaxBitrateList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Requested_RAB_Parameter_MaxBitrateList;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Requested_RAB_Parameter_MaxBitrateList_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Requested-RAB-Parameter-Values.c b/src/ranap/RANAP_Requested-RAB-Parameter-Values.c
new file mode 100644
index 0000000..887cbe4
--- /dev/null
+++ b/src/ranap/RANAP_Requested-RAB-Parameter-Values.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Requested-RAB-Parameter-Values.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_Requested_RAB_Parameter_Values_1[] = {
+ { ATF_POINTER, 3, offsetof(struct RANAP_Requested_RAB_Parameter_Values, requestedMaxBitrates),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Requested_RAB_Parameter_MaxBitrateList,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "requestedMaxBitrates"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_Requested_RAB_Parameter_Values, requestedGuaranteedBitrates),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Requested_RAB_Parameter_GuaranteedBitrateList,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "requestedGuaranteedBitrates"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_Requested_RAB_Parameter_Values, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_Requested_RAB_Parameter_Values_oms_1[] = { 0, 1, 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_Requested_RAB_Parameter_Values_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_Requested_RAB_Parameter_Values_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* requestedMaxBitrates */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* requestedGuaranteedBitrates */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_Requested_RAB_Parameter_Values_specs_1 = {
+ sizeof(struct RANAP_Requested_RAB_Parameter_Values),
+ offsetof(struct RANAP_Requested_RAB_Parameter_Values, _asn_ctx),
+ asn_MAP_RANAP_Requested_RAB_Parameter_Values_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_Requested_RAB_Parameter_Values_oms_1, /* Optional members */
+ 3, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Requested_RAB_Parameter_Values = {
+ "RANAP_Requested-RAB-Parameter-Values",
+ "RANAP_Requested-RAB-Parameter-Values",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Requested_RAB_Parameter_Values_tags_1,
+ sizeof(asn_DEF_RANAP_Requested_RAB_Parameter_Values_tags_1)
+ /sizeof(asn_DEF_RANAP_Requested_RAB_Parameter_Values_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Requested_RAB_Parameter_Values_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Requested_RAB_Parameter_Values_tags_1)
+ /sizeof(asn_DEF_RANAP_Requested_RAB_Parameter_Values_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_Requested_RAB_Parameter_Values_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_Requested_RAB_Parameter_Values_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Requested-RAB-Parameter-Values.h b/src/ranap/RANAP_Requested-RAB-Parameter-Values.h
new file mode 100644
index 0000000..b5d11cb
--- /dev/null
+++ b/src/ranap/RANAP_Requested-RAB-Parameter-Values.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Requested_RAB_Parameter_Values_H_
+#define _RANAP_Requested_RAB_Parameter_Values_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_Requested-RAB-Parameter-MaxBitrateList.h"
+#include "RANAP_Requested-RAB-Parameter-GuaranteedBitrateList.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Requested-RAB-Parameter-Values */
+typedef struct RANAP_Requested_RAB_Parameter_Values {
+ RANAP_Requested_RAB_Parameter_MaxBitrateList_t *requestedMaxBitrates /* OPTIONAL */;
+ RANAP_Requested_RAB_Parameter_GuaranteedBitrateList_t *requestedGuaranteedBitrates /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Requested_RAB_Parameter_Values_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Requested_RAB_Parameter_Values;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Requested_RAB_Parameter_Values_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RequestedGANSSAssistanceData.c b/src/ranap/RANAP_RequestedGANSSAssistanceData.c
new file mode 100644
index 0000000..854b796
--- /dev/null
+++ b/src/ranap/RANAP_RequestedGANSSAssistanceData.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RequestedGANSSAssistanceData.h"
+
+int
+RANAP_RequestedGANSSAssistanceData_constraint(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 >= 1l && size <= 201l)) {
+ /* 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 void
+RANAP_RequestedGANSSAssistanceData_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_RequestedGANSSAssistanceData_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_RequestedGANSSAssistanceData_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_RequestedGANSSAssistanceData_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RequestedGANSSAssistanceData_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RequestedGANSSAssistanceData_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_RequestedGANSSAssistanceData_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_RequestedGANSSAssistanceData_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RequestedGANSSAssistanceData_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RequestedGANSSAssistanceData_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_RequestedGANSSAssistanceData_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_RequestedGANSSAssistanceData_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RequestedGANSSAssistanceData_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RequestedGANSSAssistanceData_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RequestedGANSSAssistanceData_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_RequestedGANSSAssistanceData_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RequestedGANSSAssistanceData_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_RequestedGANSSAssistanceData_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RequestedGANSSAssistanceData_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_RequestedGANSSAssistanceData_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RequestedGANSSAssistanceData_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_RequestedGANSSAssistanceData_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 8, 8, 1l, 201l } /* (SIZE(1..201)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RequestedGANSSAssistanceData_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RequestedGANSSAssistanceData = {
+ "RANAP_RequestedGANSSAssistanceData",
+ "RANAP_RequestedGANSSAssistanceData",
+ RANAP_RequestedGANSSAssistanceData_free,
+ RANAP_RequestedGANSSAssistanceData_print,
+ RANAP_RequestedGANSSAssistanceData_constraint,
+ RANAP_RequestedGANSSAssistanceData_decode_ber,
+ RANAP_RequestedGANSSAssistanceData_encode_der,
+ RANAP_RequestedGANSSAssistanceData_decode_xer,
+ RANAP_RequestedGANSSAssistanceData_encode_xer,
+ RANAP_RequestedGANSSAssistanceData_decode_uper,
+ RANAP_RequestedGANSSAssistanceData_encode_uper,
+ RANAP_RequestedGANSSAssistanceData_decode_aper,
+ RANAP_RequestedGANSSAssistanceData_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RequestedGANSSAssistanceData_tags_1,
+ sizeof(asn_DEF_RANAP_RequestedGANSSAssistanceData_tags_1)
+ /sizeof(asn_DEF_RANAP_RequestedGANSSAssistanceData_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RequestedGANSSAssistanceData_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RequestedGANSSAssistanceData_tags_1)
+ /sizeof(asn_DEF_RANAP_RequestedGANSSAssistanceData_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RequestedGANSSAssistanceData_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_RequestedGANSSAssistanceData.h b/src/ranap/RANAP_RequestedGANSSAssistanceData.h
new file mode 100644
index 0000000..86adfde
--- /dev/null
+++ b/src/ranap/RANAP_RequestedGANSSAssistanceData.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RequestedGANSSAssistanceData_H_
+#define _RANAP_RequestedGANSSAssistanceData_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RequestedGANSSAssistanceData */
+typedef OCTET_STRING_t RANAP_RequestedGANSSAssistanceData_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RequestedGANSSAssistanceData;
+asn_struct_free_f RANAP_RequestedGANSSAssistanceData_free;
+asn_struct_print_f RANAP_RequestedGANSSAssistanceData_print;
+asn_constr_check_f RANAP_RequestedGANSSAssistanceData_constraint;
+ber_type_decoder_f RANAP_RequestedGANSSAssistanceData_decode_ber;
+der_type_encoder_f RANAP_RequestedGANSSAssistanceData_encode_der;
+xer_type_decoder_f RANAP_RequestedGANSSAssistanceData_decode_xer;
+xer_type_encoder_f RANAP_RequestedGANSSAssistanceData_encode_xer;
+per_type_decoder_f RANAP_RequestedGANSSAssistanceData_decode_uper;
+per_type_encoder_f RANAP_RequestedGANSSAssistanceData_encode_uper;
+per_type_decoder_f RANAP_RequestedGANSSAssistanceData_decode_aper;
+per_type_encoder_f RANAP_RequestedGANSSAssistanceData_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RequestedGANSSAssistanceData_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RequestedGPSAssistanceData.c b/src/ranap/RANAP_RequestedGPSAssistanceData.c
new file mode 100644
index 0000000..85fcb1f
--- /dev/null
+++ b/src/ranap/RANAP_RequestedGPSAssistanceData.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RequestedGPSAssistanceData.h"
+
+int
+RANAP_RequestedGPSAssistanceData_constraint(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 >= 1l && size <= 38l)) {
+ /* 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 void
+RANAP_RequestedGPSAssistanceData_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_RequestedGPSAssistanceData_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_RequestedGPSAssistanceData_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_RequestedGPSAssistanceData_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RequestedGPSAssistanceData_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RequestedGPSAssistanceData_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_RequestedGPSAssistanceData_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_RequestedGPSAssistanceData_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RequestedGPSAssistanceData_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RequestedGPSAssistanceData_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_RequestedGPSAssistanceData_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_RequestedGPSAssistanceData_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RequestedGPSAssistanceData_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RequestedGPSAssistanceData_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RequestedGPSAssistanceData_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_RequestedGPSAssistanceData_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RequestedGPSAssistanceData_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_RequestedGPSAssistanceData_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RequestedGPSAssistanceData_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_RequestedGPSAssistanceData_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RequestedGPSAssistanceData_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_RequestedGPSAssistanceData_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1l, 38l } /* (SIZE(1..38)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RequestedGPSAssistanceData_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RequestedGPSAssistanceData = {
+ "RANAP_RequestedGPSAssistanceData",
+ "RANAP_RequestedGPSAssistanceData",
+ RANAP_RequestedGPSAssistanceData_free,
+ RANAP_RequestedGPSAssistanceData_print,
+ RANAP_RequestedGPSAssistanceData_constraint,
+ RANAP_RequestedGPSAssistanceData_decode_ber,
+ RANAP_RequestedGPSAssistanceData_encode_der,
+ RANAP_RequestedGPSAssistanceData_decode_xer,
+ RANAP_RequestedGPSAssistanceData_encode_xer,
+ RANAP_RequestedGPSAssistanceData_decode_uper,
+ RANAP_RequestedGPSAssistanceData_encode_uper,
+ RANAP_RequestedGPSAssistanceData_decode_aper,
+ RANAP_RequestedGPSAssistanceData_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RequestedGPSAssistanceData_tags_1,
+ sizeof(asn_DEF_RANAP_RequestedGPSAssistanceData_tags_1)
+ /sizeof(asn_DEF_RANAP_RequestedGPSAssistanceData_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RequestedGPSAssistanceData_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RequestedGPSAssistanceData_tags_1)
+ /sizeof(asn_DEF_RANAP_RequestedGPSAssistanceData_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RequestedGPSAssistanceData_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_RequestedGPSAssistanceData.h b/src/ranap/RANAP_RequestedGPSAssistanceData.h
new file mode 100644
index 0000000..0ce5a5c
--- /dev/null
+++ b/src/ranap/RANAP_RequestedGPSAssistanceData.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RequestedGPSAssistanceData_H_
+#define _RANAP_RequestedGPSAssistanceData_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RequestedGPSAssistanceData */
+typedef OCTET_STRING_t RANAP_RequestedGPSAssistanceData_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RequestedGPSAssistanceData;
+asn_struct_free_f RANAP_RequestedGPSAssistanceData_free;
+asn_struct_print_f RANAP_RequestedGPSAssistanceData_print;
+asn_constr_check_f RANAP_RequestedGPSAssistanceData_constraint;
+ber_type_decoder_f RANAP_RequestedGPSAssistanceData_decode_ber;
+der_type_encoder_f RANAP_RequestedGPSAssistanceData_encode_der;
+xer_type_decoder_f RANAP_RequestedGPSAssistanceData_decode_xer;
+xer_type_encoder_f RANAP_RequestedGPSAssistanceData_encode_xer;
+per_type_decoder_f RANAP_RequestedGPSAssistanceData_decode_uper;
+per_type_encoder_f RANAP_RequestedGPSAssistanceData_encode_uper;
+per_type_decoder_f RANAP_RequestedGPSAssistanceData_decode_aper;
+per_type_encoder_f RANAP_RequestedGPSAssistanceData_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RequestedGPSAssistanceData_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RequestedLocationRelatedDataType.c b/src/ranap/RANAP_RequestedLocationRelatedDataType.c
new file mode 100644
index 0000000..38e95f1
--- /dev/null
+++ b/src/ranap/RANAP_RequestedLocationRelatedDataType.c
@@ -0,0 +1,179 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RequestedLocationRelatedDataType.h"
+
+int
+RANAP_RequestedLocationRelatedDataType_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_RequestedLocationRelatedDataType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_RequestedLocationRelatedDataType_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_RequestedLocationRelatedDataType_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_RequestedLocationRelatedDataType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RequestedLocationRelatedDataType_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RequestedLocationRelatedDataType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_RequestedLocationRelatedDataType_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_RequestedLocationRelatedDataType_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RequestedLocationRelatedDataType_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RequestedLocationRelatedDataType_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_RequestedLocationRelatedDataType_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_RequestedLocationRelatedDataType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_RequestedLocationRelatedDataType_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_RequestedLocationRelatedDataType_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RequestedLocationRelatedDataType_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_RequestedLocationRelatedDataType_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RequestedLocationRelatedDataType_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_RequestedLocationRelatedDataType_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_RequestedLocationRelatedDataType_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_RequestedLocationRelatedDataType_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_RequestedLocationRelatedDataType_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_RequestedLocationRelatedDataType_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 3l } /* (0..3,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_RequestedLocationRelatedDataType_value2enum_1[] = {
+ { 0, 27, "decipheringKeysUEBasedOTDOA" },
+ { 1, 26, "decipheringKeysAssistedGPS" },
+ { 2, 35, "dedicatedAssistanceDataUEBasedOTDOA" },
+ { 3, 34, "dedicatedAssistanceDataAssistedGPS" },
+ { 4, 28, "decipheringKeysAssistedGANSS" },
+ { 5, 36, "dedicatedAssistanceDataAssistedGANSS" },
+ { 6, 34, "decipheringKeysAssistedGPSandGANSS" },
+ { 7, 42, "dedicatedAssistanceDataAssistedGPSandGANSS" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_RequestedLocationRelatedDataType_enum2value_1[] = {
+ 4, /* decipheringKeysAssistedGANSS(4) */
+ 1, /* decipheringKeysAssistedGPS(1) */
+ 6, /* decipheringKeysAssistedGPSandGANSS(6) */
+ 0, /* decipheringKeysUEBasedOTDOA(0) */
+ 5, /* dedicatedAssistanceDataAssistedGANSS(5) */
+ 3, /* dedicatedAssistanceDataAssistedGPS(3) */
+ 7, /* dedicatedAssistanceDataAssistedGPSandGANSS(7) */
+ 2 /* dedicatedAssistanceDataUEBasedOTDOA(2) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_RequestedLocationRelatedDataType_specs_1 = {
+ asn_MAP_RANAP_RequestedLocationRelatedDataType_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_RequestedLocationRelatedDataType_enum2value_1, /* N => "tag"; sorted by N */
+ 8, /* 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_RANAP_RequestedLocationRelatedDataType_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RequestedLocationRelatedDataType = {
+ "RANAP_RequestedLocationRelatedDataType",
+ "RANAP_RequestedLocationRelatedDataType",
+ RANAP_RequestedLocationRelatedDataType_free,
+ RANAP_RequestedLocationRelatedDataType_print,
+ RANAP_RequestedLocationRelatedDataType_constraint,
+ RANAP_RequestedLocationRelatedDataType_decode_ber,
+ RANAP_RequestedLocationRelatedDataType_encode_der,
+ RANAP_RequestedLocationRelatedDataType_decode_xer,
+ RANAP_RequestedLocationRelatedDataType_encode_xer,
+ RANAP_RequestedLocationRelatedDataType_decode_uper,
+ RANAP_RequestedLocationRelatedDataType_encode_uper,
+ RANAP_RequestedLocationRelatedDataType_decode_aper,
+ RANAP_RequestedLocationRelatedDataType_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RequestedLocationRelatedDataType_tags_1,
+ sizeof(asn_DEF_RANAP_RequestedLocationRelatedDataType_tags_1)
+ /sizeof(asn_DEF_RANAP_RequestedLocationRelatedDataType_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RequestedLocationRelatedDataType_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RequestedLocationRelatedDataType_tags_1)
+ /sizeof(asn_DEF_RANAP_RequestedLocationRelatedDataType_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RequestedLocationRelatedDataType_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_RequestedLocationRelatedDataType_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RequestedLocationRelatedDataType.h b/src/ranap/RANAP_RequestedLocationRelatedDataType.h
new file mode 100644
index 0000000..786ea7c
--- /dev/null
+++ b/src/ranap/RANAP_RequestedLocationRelatedDataType.h
@@ -0,0 +1,57 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RequestedLocationRelatedDataType_H_
+#define _RANAP_RequestedLocationRelatedDataType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_RequestedLocationRelatedDataType {
+ RANAP_RequestedLocationRelatedDataType_decipheringKeysUEBasedOTDOA = 0,
+ RANAP_RequestedLocationRelatedDataType_decipheringKeysAssistedGPS = 1,
+ RANAP_RequestedLocationRelatedDataType_dedicatedAssistanceDataUEBasedOTDOA = 2,
+ RANAP_RequestedLocationRelatedDataType_dedicatedAssistanceDataAssistedGPS = 3,
+ /*
+ * Enumeration is extensible
+ */
+ RANAP_RequestedLocationRelatedDataType_decipheringKeysAssistedGANSS = 4,
+ RANAP_RequestedLocationRelatedDataType_dedicatedAssistanceDataAssistedGANSS = 5,
+ RANAP_RequestedLocationRelatedDataType_decipheringKeysAssistedGPSandGANSS = 6,
+ RANAP_RequestedLocationRelatedDataType_dedicatedAssistanceDataAssistedGPSandGANSS = 7
+} e_RANAP_RequestedLocationRelatedDataType;
+
+/* RANAP_RequestedLocationRelatedDataType */
+typedef long RANAP_RequestedLocationRelatedDataType_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RequestedLocationRelatedDataType;
+asn_struct_free_f RANAP_RequestedLocationRelatedDataType_free;
+asn_struct_print_f RANAP_RequestedLocationRelatedDataType_print;
+asn_constr_check_f RANAP_RequestedLocationRelatedDataType_constraint;
+ber_type_decoder_f RANAP_RequestedLocationRelatedDataType_decode_ber;
+der_type_encoder_f RANAP_RequestedLocationRelatedDataType_encode_der;
+xer_type_decoder_f RANAP_RequestedLocationRelatedDataType_decode_xer;
+xer_type_encoder_f RANAP_RequestedLocationRelatedDataType_encode_xer;
+per_type_decoder_f RANAP_RequestedLocationRelatedDataType_decode_uper;
+per_type_encoder_f RANAP_RequestedLocationRelatedDataType_encode_uper;
+per_type_decoder_f RANAP_RequestedLocationRelatedDataType_decode_aper;
+per_type_encoder_f RANAP_RequestedLocationRelatedDataType_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RequestedLocationRelatedDataType_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RequestedMBMSIPMulticastAddressandAPNRequest.c b/src/ranap/RANAP_RequestedMBMSIPMulticastAddressandAPNRequest.c
new file mode 100644
index 0000000..87813a3
--- /dev/null
+++ b/src/ranap/RANAP_RequestedMBMSIPMulticastAddressandAPNRequest.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RequestedMBMSIPMulticastAddressandAPNRequest.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_RequestedMBMSIPMulticastAddressandAPNRequest_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 9, 9, 1l, 512l } /* (SIZE(1..512)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_RequestedMBMSIPMulticastAddressandAPNRequest_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_MBMSIPMulticastAddressandAPNlist,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RequestedMBMSIPMulticastAddressandAPNRequest_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_RequestedMBMSIPMulticastAddressandAPNRequest_specs_1 = {
+ sizeof(struct RANAP_RequestedMBMSIPMulticastAddressandAPNRequest),
+ offsetof(struct RANAP_RequestedMBMSIPMulticastAddressandAPNRequest, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RequestedMBMSIPMulticastAddressandAPNRequest = {
+ "RANAP_RequestedMBMSIPMulticastAddressandAPNRequest",
+ "RANAP_RequestedMBMSIPMulticastAddressandAPNRequest",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RequestedMBMSIPMulticastAddressandAPNRequest_tags_1,
+ sizeof(asn_DEF_RANAP_RequestedMBMSIPMulticastAddressandAPNRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_RequestedMBMSIPMulticastAddressandAPNRequest_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RequestedMBMSIPMulticastAddressandAPNRequest_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RequestedMBMSIPMulticastAddressandAPNRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_RequestedMBMSIPMulticastAddressandAPNRequest_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RequestedMBMSIPMulticastAddressandAPNRequest_constr_1,
+ asn_MBR_RANAP_RequestedMBMSIPMulticastAddressandAPNRequest_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_RequestedMBMSIPMulticastAddressandAPNRequest_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RequestedMBMSIPMulticastAddressandAPNRequest.h b/src/ranap/RANAP_RequestedMBMSIPMulticastAddressandAPNRequest.h
new file mode 100644
index 0000000..efec336
--- /dev/null
+++ b/src/ranap/RANAP_RequestedMBMSIPMulticastAddressandAPNRequest.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RequestedMBMSIPMulticastAddressandAPNRequest_H_
+#define _RANAP_RequestedMBMSIPMulticastAddressandAPNRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_MBMSIPMulticastAddressandAPNlist.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RequestedMBMSIPMulticastAddressandAPNRequest */
+typedef struct RANAP_RequestedMBMSIPMulticastAddressandAPNRequest {
+ A_SEQUENCE_OF(RANAP_MBMSIPMulticastAddressandAPNlist_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RequestedMBMSIPMulticastAddressandAPNRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RequestedMBMSIPMulticastAddressandAPNRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RequestedMBMSIPMulticastAddressandAPNRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_RequestedMulticastServiceList.c b/src/ranap/RANAP_RequestedMulticastServiceList.c
new file mode 100644
index 0000000..ae6e1db
--- /dev/null
+++ b/src/ranap/RANAP_RequestedMulticastServiceList.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_RequestedMulticastServiceList.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_RequestedMulticastServiceList_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 7, 7, 1l, 128l } /* (SIZE(1..128)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_RequestedMulticastServiceList_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_TMGI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_RequestedMulticastServiceList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_RequestedMulticastServiceList_specs_1 = {
+ sizeof(struct RANAP_RequestedMulticastServiceList),
+ offsetof(struct RANAP_RequestedMulticastServiceList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_RequestedMulticastServiceList = {
+ "RANAP_RequestedMulticastServiceList",
+ "RANAP_RequestedMulticastServiceList",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_RequestedMulticastServiceList_tags_1,
+ sizeof(asn_DEF_RANAP_RequestedMulticastServiceList_tags_1)
+ /sizeof(asn_DEF_RANAP_RequestedMulticastServiceList_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_RequestedMulticastServiceList_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_RequestedMulticastServiceList_tags_1)
+ /sizeof(asn_DEF_RANAP_RequestedMulticastServiceList_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_RequestedMulticastServiceList_constr_1,
+ asn_MBR_RANAP_RequestedMulticastServiceList_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_RequestedMulticastServiceList_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_RequestedMulticastServiceList.h b/src/ranap/RANAP_RequestedMulticastServiceList.h
new file mode 100644
index 0000000..859a692
--- /dev/null
+++ b/src/ranap/RANAP_RequestedMulticastServiceList.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_RequestedMulticastServiceList_H_
+#define _RANAP_RequestedMulticastServiceList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_TMGI.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_RequestedMulticastServiceList */
+typedef struct RANAP_RequestedMulticastServiceList {
+ A_SEQUENCE_OF(RANAP_TMGI_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_RequestedMulticastServiceList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_RequestedMulticastServiceList;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_RequestedMulticastServiceList_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Reset.c b/src/ranap/RANAP_Reset.c
new file mode 100644
index 0000000..cc808ff
--- /dev/null
+++ b/src/ranap/RANAP_Reset.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_Reset.h"
+
+static int
+memb_reset_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_reset_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_reset_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_reset_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_reset_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_reset_ies_specs_2 = {
+ sizeof(struct reset_ies),
+ offsetof(struct reset_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_reset_ies_2 = {
+ "reset-ies",
+ "reset-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_reset_ies_tags_2,
+ sizeof(asn_DEF_reset_ies_tags_2)
+ /sizeof(asn_DEF_reset_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_reset_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_reset_ies_tags_2)
+ /sizeof(asn_DEF_reset_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_reset_ies_constr_2,
+ asn_MBR_reset_ies_2,
+ 1, /* Single element */
+ &asn_SPC_reset_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_Reset_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Reset, reset_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_reset_ies_2,
+ memb_reset_ies_constraint_1,
+ &asn_PER_memb_reset_ies_constr_2,
+ 0,
+ "reset-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Reset_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_Reset_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* reset-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_Reset_specs_1 = {
+ sizeof(struct RANAP_Reset),
+ offsetof(struct RANAP_Reset, _asn_ctx),
+ asn_MAP_RANAP_Reset_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Reset = {
+ "RANAP_Reset",
+ "RANAP_Reset",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Reset_tags_1,
+ sizeof(asn_DEF_RANAP_Reset_tags_1)
+ /sizeof(asn_DEF_RANAP_Reset_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Reset_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Reset_tags_1)
+ /sizeof(asn_DEF_RANAP_Reset_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_Reset_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_Reset_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Reset.h b/src/ranap/RANAP_Reset.h
new file mode 100644
index 0000000..2dc8cf1
--- /dev/null
+++ b/src/ranap/RANAP_Reset.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_Reset_H_
+#define _RANAP_Reset_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Reset */
+typedef struct RANAP_Reset {
+ struct reset_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } reset_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Reset_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Reset;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Reset_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ResetAcknowledge.c b/src/ranap/RANAP_ResetAcknowledge.c
new file mode 100644
index 0000000..6d32764
--- /dev/null
+++ b/src/ranap/RANAP_ResetAcknowledge.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_ResetAcknowledge.h"
+
+static int
+memb_resetAcknowledge_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_resetAcknowledge_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_resetAcknowledge_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_resetAcknowledge_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_resetAcknowledge_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_resetAcknowledge_ies_specs_2 = {
+ sizeof(struct resetAcknowledge_ies),
+ offsetof(struct resetAcknowledge_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_resetAcknowledge_ies_2 = {
+ "resetAcknowledge-ies",
+ "resetAcknowledge-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_resetAcknowledge_ies_tags_2,
+ sizeof(asn_DEF_resetAcknowledge_ies_tags_2)
+ /sizeof(asn_DEF_resetAcknowledge_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_resetAcknowledge_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_resetAcknowledge_ies_tags_2)
+ /sizeof(asn_DEF_resetAcknowledge_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_resetAcknowledge_ies_constr_2,
+ asn_MBR_resetAcknowledge_ies_2,
+ 1, /* Single element */
+ &asn_SPC_resetAcknowledge_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_ResetAcknowledge_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_ResetAcknowledge, resetAcknowledge_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_resetAcknowledge_ies_2,
+ memb_resetAcknowledge_ies_constraint_1,
+ &asn_PER_memb_resetAcknowledge_ies_constr_2,
+ 0,
+ "resetAcknowledge-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_ResetAcknowledge_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_ResetAcknowledge_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* resetAcknowledge-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_ResetAcknowledge_specs_1 = {
+ sizeof(struct RANAP_ResetAcknowledge),
+ offsetof(struct RANAP_ResetAcknowledge, _asn_ctx),
+ asn_MAP_RANAP_ResetAcknowledge_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ResetAcknowledge = {
+ "RANAP_ResetAcknowledge",
+ "RANAP_ResetAcknowledge",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ResetAcknowledge_tags_1,
+ sizeof(asn_DEF_RANAP_ResetAcknowledge_tags_1)
+ /sizeof(asn_DEF_RANAP_ResetAcknowledge_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ResetAcknowledge_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ResetAcknowledge_tags_1)
+ /sizeof(asn_DEF_RANAP_ResetAcknowledge_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_ResetAcknowledge_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_ResetAcknowledge_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_ResetAcknowledge.h b/src/ranap/RANAP_ResetAcknowledge.h
new file mode 100644
index 0000000..1c56846
--- /dev/null
+++ b/src/ranap/RANAP_ResetAcknowledge.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_ResetAcknowledge_H_
+#define _RANAP_ResetAcknowledge_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_ResetAcknowledge */
+typedef struct RANAP_ResetAcknowledge {
+ struct resetAcknowledge_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } resetAcknowledge_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_ResetAcknowledge_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ResetAcknowledge;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ResetAcknowledge_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ResetResource.c b/src/ranap/RANAP_ResetResource.c
new file mode 100644
index 0000000..a3f216c
--- /dev/null
+++ b/src/ranap/RANAP_ResetResource.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_ResetResource.h"
+
+static int
+memb_resetResource_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_resetResource_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_resetResource_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_resetResource_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_resetResource_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_resetResource_ies_specs_2 = {
+ sizeof(struct resetResource_ies),
+ offsetof(struct resetResource_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_resetResource_ies_2 = {
+ "resetResource-ies",
+ "resetResource-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_resetResource_ies_tags_2,
+ sizeof(asn_DEF_resetResource_ies_tags_2)
+ /sizeof(asn_DEF_resetResource_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_resetResource_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_resetResource_ies_tags_2)
+ /sizeof(asn_DEF_resetResource_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_resetResource_ies_constr_2,
+ asn_MBR_resetResource_ies_2,
+ 1, /* Single element */
+ &asn_SPC_resetResource_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_ResetResource_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_ResetResource, resetResource_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_resetResource_ies_2,
+ memb_resetResource_ies_constraint_1,
+ &asn_PER_memb_resetResource_ies_constr_2,
+ 0,
+ "resetResource-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_ResetResource_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_ResetResource_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* resetResource-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_ResetResource_specs_1 = {
+ sizeof(struct RANAP_ResetResource),
+ offsetof(struct RANAP_ResetResource, _asn_ctx),
+ asn_MAP_RANAP_ResetResource_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ResetResource = {
+ "RANAP_ResetResource",
+ "RANAP_ResetResource",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ResetResource_tags_1,
+ sizeof(asn_DEF_RANAP_ResetResource_tags_1)
+ /sizeof(asn_DEF_RANAP_ResetResource_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ResetResource_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ResetResource_tags_1)
+ /sizeof(asn_DEF_RANAP_ResetResource_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_ResetResource_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_ResetResource_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_ResetResource.h b/src/ranap/RANAP_ResetResource.h
new file mode 100644
index 0000000..9f22fba
--- /dev/null
+++ b/src/ranap/RANAP_ResetResource.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_ResetResource_H_
+#define _RANAP_ResetResource_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_ResetResource */
+typedef struct RANAP_ResetResource {
+ struct resetResource_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } resetResource_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_ResetResource_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ResetResource;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ResetResource_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ResetResourceAcknowledge.c b/src/ranap/RANAP_ResetResourceAcknowledge.c
new file mode 100644
index 0000000..82d2063
--- /dev/null
+++ b/src/ranap/RANAP_ResetResourceAcknowledge.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_ResetResourceAcknowledge.h"
+
+static int
+memb_resetResourceAcknowledge_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_resetResourceAcknowledge_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_resetResourceAcknowledge_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_resetResourceAcknowledge_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_resetResourceAcknowledge_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_resetResourceAcknowledge_ies_specs_2 = {
+ sizeof(struct resetResourceAcknowledge_ies),
+ offsetof(struct resetResourceAcknowledge_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_resetResourceAcknowledge_ies_2 = {
+ "resetResourceAcknowledge-ies",
+ "resetResourceAcknowledge-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_resetResourceAcknowledge_ies_tags_2,
+ sizeof(asn_DEF_resetResourceAcknowledge_ies_tags_2)
+ /sizeof(asn_DEF_resetResourceAcknowledge_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_resetResourceAcknowledge_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_resetResourceAcknowledge_ies_tags_2)
+ /sizeof(asn_DEF_resetResourceAcknowledge_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_resetResourceAcknowledge_ies_constr_2,
+ asn_MBR_resetResourceAcknowledge_ies_2,
+ 1, /* Single element */
+ &asn_SPC_resetResourceAcknowledge_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_ResetResourceAcknowledge_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_ResetResourceAcknowledge, resetResourceAcknowledge_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_resetResourceAcknowledge_ies_2,
+ memb_resetResourceAcknowledge_ies_constraint_1,
+ &asn_PER_memb_resetResourceAcknowledge_ies_constr_2,
+ 0,
+ "resetResourceAcknowledge-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_ResetResourceAcknowledge_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_ResetResourceAcknowledge_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* resetResourceAcknowledge-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_ResetResourceAcknowledge_specs_1 = {
+ sizeof(struct RANAP_ResetResourceAcknowledge),
+ offsetof(struct RANAP_ResetResourceAcknowledge, _asn_ctx),
+ asn_MAP_RANAP_ResetResourceAcknowledge_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ResetResourceAcknowledge = {
+ "RANAP_ResetResourceAcknowledge",
+ "RANAP_ResetResourceAcknowledge",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ResetResourceAcknowledge_tags_1,
+ sizeof(asn_DEF_RANAP_ResetResourceAcknowledge_tags_1)
+ /sizeof(asn_DEF_RANAP_ResetResourceAcknowledge_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ResetResourceAcknowledge_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ResetResourceAcknowledge_tags_1)
+ /sizeof(asn_DEF_RANAP_ResetResourceAcknowledge_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_ResetResourceAcknowledge_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_ResetResourceAcknowledge_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_ResetResourceAcknowledge.h b/src/ranap/RANAP_ResetResourceAcknowledge.h
new file mode 100644
index 0000000..33d460a
--- /dev/null
+++ b/src/ranap/RANAP_ResetResourceAcknowledge.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_ResetResourceAcknowledge_H_
+#define _RANAP_ResetResourceAcknowledge_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_ResetResourceAcknowledge */
+typedef struct RANAP_ResetResourceAcknowledge {
+ struct resetResourceAcknowledge_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } resetResourceAcknowledge_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_ResetResourceAcknowledge_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ResetResourceAcknowledge;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ResetResourceAcknowledge_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ResidualBitErrorRatio.c b/src/ranap/RANAP_ResidualBitErrorRatio.c
new file mode 100644
index 0000000..c770f03
--- /dev/null
+++ b/src/ranap/RANAP_ResidualBitErrorRatio.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_ResidualBitErrorRatio.h"
+
+static int
+memb_mantissa_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1l && value <= 9l)) {
+ /* 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_exponent_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1l && value <= 8l)) {
+ /* Constraint 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_mantissa_constr_2 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 4, 4, 1l, 9l } /* (1..9) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_exponent_constr_3 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 3, 3, 1l, 8l } /* (1..8) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_ResidualBitErrorRatio_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_ResidualBitErrorRatio, mantissa),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_mantissa_constraint_1,
+ &asn_PER_memb_mantissa_constr_2,
+ 0,
+ "mantissa"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_ResidualBitErrorRatio, exponent),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_exponent_constraint_1,
+ &asn_PER_memb_exponent_constr_3,
+ 0,
+ "exponent"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_ResidualBitErrorRatio, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_ResidualBitErrorRatio_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_ResidualBitErrorRatio_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_ResidualBitErrorRatio_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* mantissa */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* exponent */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_ResidualBitErrorRatio_specs_1 = {
+ sizeof(struct RANAP_ResidualBitErrorRatio),
+ offsetof(struct RANAP_ResidualBitErrorRatio, _asn_ctx),
+ asn_MAP_RANAP_ResidualBitErrorRatio_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_ResidualBitErrorRatio_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ResidualBitErrorRatio = {
+ "RANAP_ResidualBitErrorRatio",
+ "RANAP_ResidualBitErrorRatio",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ResidualBitErrorRatio_tags_1,
+ sizeof(asn_DEF_RANAP_ResidualBitErrorRatio_tags_1)
+ /sizeof(asn_DEF_RANAP_ResidualBitErrorRatio_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ResidualBitErrorRatio_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ResidualBitErrorRatio_tags_1)
+ /sizeof(asn_DEF_RANAP_ResidualBitErrorRatio_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_ResidualBitErrorRatio_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_ResidualBitErrorRatio_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_ResidualBitErrorRatio.h b/src/ranap/RANAP_ResidualBitErrorRatio.h
new file mode 100644
index 0000000..7baf04e
--- /dev/null
+++ b/src/ranap/RANAP_ResidualBitErrorRatio.h
@@ -0,0 +1,40 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_ResidualBitErrorRatio_H_
+#define _RANAP_ResidualBitErrorRatio_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_ResidualBitErrorRatio */
+typedef struct RANAP_ResidualBitErrorRatio {
+ long mantissa;
+ long exponent;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_ResidualBitErrorRatio_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ResidualBitErrorRatio;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ResidualBitErrorRatio_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_ResponseTime.c b/src/ranap/RANAP_ResponseTime.c
new file mode 100644
index 0000000..2f40f0c
--- /dev/null
+++ b/src/ranap/RANAP_ResponseTime.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_ResponseTime.h"
+
+int
+RANAP_ResponseTime_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_ResponseTime_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_ResponseTime_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_ResponseTime_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_ResponseTime_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ResponseTime_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ResponseTime_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_ResponseTime_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_ResponseTime_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ResponseTime_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ResponseTime_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_ResponseTime_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_ResponseTime_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_ResponseTime_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_ResponseTime_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ResponseTime_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_ResponseTime_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ResponseTime_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_ResponseTime_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_ResponseTime_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_ResponseTime_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_ResponseTime_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_ResponseTime_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_ResponseTime_value2enum_1[] = {
+ { 0, 8, "lowdelay" },
+ { 1, 13, "delaytolerant" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_ResponseTime_enum2value_1[] = {
+ 1, /* delaytolerant(1) */
+ 0 /* lowdelay(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_ResponseTime_specs_1 = {
+ asn_MAP_RANAP_ResponseTime_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_ResponseTime_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_RANAP_ResponseTime_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_ResponseTime = {
+ "RANAP_ResponseTime",
+ "RANAP_ResponseTime",
+ RANAP_ResponseTime_free,
+ RANAP_ResponseTime_print,
+ RANAP_ResponseTime_constraint,
+ RANAP_ResponseTime_decode_ber,
+ RANAP_ResponseTime_encode_der,
+ RANAP_ResponseTime_decode_xer,
+ RANAP_ResponseTime_encode_xer,
+ RANAP_ResponseTime_decode_uper,
+ RANAP_ResponseTime_encode_uper,
+ RANAP_ResponseTime_decode_aper,
+ RANAP_ResponseTime_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_ResponseTime_tags_1,
+ sizeof(asn_DEF_RANAP_ResponseTime_tags_1)
+ /sizeof(asn_DEF_RANAP_ResponseTime_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_ResponseTime_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_ResponseTime_tags_1)
+ /sizeof(asn_DEF_RANAP_ResponseTime_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_ResponseTime_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_ResponseTime_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_ResponseTime.h b/src/ranap/RANAP_ResponseTime.h
new file mode 100644
index 0000000..daeda50
--- /dev/null
+++ b/src/ranap/RANAP_ResponseTime.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_ResponseTime_H_
+#define _RANAP_ResponseTime_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_ResponseTime {
+ RANAP_ResponseTime_lowdelay = 0,
+ RANAP_ResponseTime_delaytolerant = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_ResponseTime;
+
+/* RANAP_ResponseTime */
+typedef long RANAP_ResponseTime_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_ResponseTime;
+asn_struct_free_f RANAP_ResponseTime_free;
+asn_struct_print_f RANAP_ResponseTime_print;
+asn_constr_check_f RANAP_ResponseTime_constraint;
+ber_type_decoder_f RANAP_ResponseTime_decode_ber;
+der_type_encoder_f RANAP_ResponseTime_encode_der;
+xer_type_decoder_f RANAP_ResponseTime_decode_xer;
+xer_type_encoder_f RANAP_ResponseTime_encode_xer;
+per_type_decoder_f RANAP_ResponseTime_decode_uper;
+per_type_encoder_f RANAP_ResponseTime_encode_uper;
+per_type_decoder_f RANAP_ResponseTime_decode_aper;
+per_type_encoder_f RANAP_ResponseTime_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_ResponseTime_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SAC.c b/src/ranap/RANAP_SAC.c
new file mode 100644
index 0000000..5c62b39
--- /dev/null
+++ b/src/ranap/RANAP_SAC.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SAC.h"
+
+int
+RANAP_SAC_constraint(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 == 2l)) {
+ /* 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 void
+RANAP_SAC_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_SAC_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_SAC_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_SAC_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SAC_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SAC_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_SAC_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_SAC_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SAC_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SAC_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_SAC_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_SAC_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SAC_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SAC_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SAC_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_SAC_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SAC_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_SAC_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SAC_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_SAC_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SAC_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_SAC_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 2l, 2l } /* (SIZE(2..2)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_SAC_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SAC = {
+ "RANAP_SAC",
+ "RANAP_SAC",
+ RANAP_SAC_free,
+ RANAP_SAC_print,
+ RANAP_SAC_constraint,
+ RANAP_SAC_decode_ber,
+ RANAP_SAC_encode_der,
+ RANAP_SAC_decode_xer,
+ RANAP_SAC_encode_xer,
+ RANAP_SAC_decode_uper,
+ RANAP_SAC_encode_uper,
+ RANAP_SAC_decode_aper,
+ RANAP_SAC_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SAC_tags_1,
+ sizeof(asn_DEF_RANAP_SAC_tags_1)
+ /sizeof(asn_DEF_RANAP_SAC_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SAC_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SAC_tags_1)
+ /sizeof(asn_DEF_RANAP_SAC_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_SAC_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_SAC.h b/src/ranap/RANAP_SAC.h
new file mode 100644
index 0000000..f7d7e80
--- /dev/null
+++ b/src/ranap/RANAP_SAC.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SAC_H_
+#define _RANAP_SAC_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SAC */
+typedef OCTET_STRING_t RANAP_SAC_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SAC;
+asn_struct_free_f RANAP_SAC_free;
+asn_struct_print_f RANAP_SAC_print;
+asn_constr_check_f RANAP_SAC_constraint;
+ber_type_decoder_f RANAP_SAC_decode_ber;
+der_type_encoder_f RANAP_SAC_encode_der;
+xer_type_decoder_f RANAP_SAC_decode_xer;
+xer_type_encoder_f RANAP_SAC_encode_xer;
+per_type_decoder_f RANAP_SAC_decode_uper;
+per_type_encoder_f RANAP_SAC_encode_uper;
+per_type_decoder_f RANAP_SAC_decode_aper;
+per_type_encoder_f RANAP_SAC_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SAC_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SAI.c b/src/ranap/RANAP_SAI.c
new file mode 100644
index 0000000..8a81d4a
--- /dev/null
+++ b/src/ranap/RANAP_SAI.c
@@ -0,0 +1,93 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SAI.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_SAI_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SAI, pLMNidentity),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PLMNidentity,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "pLMNidentity"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SAI, lAC),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_LAC,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "lAC"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SAI, sAC),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_SAC,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "sAC"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_SAI, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_SAI_oms_1[] = { 3 };
+static const ber_tlv_tag_t asn_DEF_RANAP_SAI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_SAI_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNidentity */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* lAC */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* sAC */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_SAI_specs_1 = {
+ sizeof(struct RANAP_SAI),
+ offsetof(struct RANAP_SAI, _asn_ctx),
+ asn_MAP_RANAP_SAI_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_RANAP_SAI_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SAI = {
+ "RANAP_SAI",
+ "RANAP_SAI",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SAI_tags_1,
+ sizeof(asn_DEF_RANAP_SAI_tags_1)
+ /sizeof(asn_DEF_RANAP_SAI_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SAI_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SAI_tags_1)
+ /sizeof(asn_DEF_RANAP_SAI_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_SAI_1,
+ 4, /* Elements count */
+ &asn_SPC_RANAP_SAI_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SAI.h b/src/ranap/RANAP_SAI.h
new file mode 100644
index 0000000..a540975
--- /dev/null
+++ b/src/ranap/RANAP_SAI.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SAI_H_
+#define _RANAP_SAI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_PLMNidentity.h"
+#include "RANAP_LAC.h"
+#include "RANAP_SAC.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SAI */
+typedef struct RANAP_SAI {
+ RANAP_PLMNidentity_t pLMNidentity;
+ RANAP_LAC_t lAC;
+ RANAP_SAC_t sAC;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_SAI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SAI;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SAI_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SAPI.c b/src/ranap/RANAP_SAPI.c
new file mode 100644
index 0000000..f93ef22
--- /dev/null
+++ b/src/ranap/RANAP_SAPI.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SAPI.h"
+
+int
+RANAP_SAPI_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_SAPI_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_SAPI_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_SAPI_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_SAPI_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SAPI_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SAPI_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_SAPI_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_SAPI_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SAPI_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SAPI_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_SAPI_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_SAPI_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SAPI_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SAPI_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SAPI_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_SAPI_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SAPI_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_SAPI_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SAPI_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_SAPI_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SAPI_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_SAPI_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_SAPI_value2enum_1[] = {
+ { 0, 6, "sapi-0" },
+ { 1, 6, "sapi-3" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_SAPI_enum2value_1[] = {
+ 0, /* sapi-0(0) */
+ 1 /* sapi-3(1) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_SAPI_specs_1 = {
+ asn_MAP_RANAP_SAPI_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_SAPI_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_RANAP_SAPI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SAPI = {
+ "RANAP_SAPI",
+ "RANAP_SAPI",
+ RANAP_SAPI_free,
+ RANAP_SAPI_print,
+ RANAP_SAPI_constraint,
+ RANAP_SAPI_decode_ber,
+ RANAP_SAPI_encode_der,
+ RANAP_SAPI_decode_xer,
+ RANAP_SAPI_encode_xer,
+ RANAP_SAPI_decode_uper,
+ RANAP_SAPI_encode_uper,
+ RANAP_SAPI_decode_aper,
+ RANAP_SAPI_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SAPI_tags_1,
+ sizeof(asn_DEF_RANAP_SAPI_tags_1)
+ /sizeof(asn_DEF_RANAP_SAPI_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SAPI_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SAPI_tags_1)
+ /sizeof(asn_DEF_RANAP_SAPI_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_SAPI_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_SAPI_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SAPI.h b/src/ranap/RANAP_SAPI.h
new file mode 100644
index 0000000..51a4996
--- /dev/null
+++ b/src/ranap/RANAP_SAPI.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SAPI_H_
+#define _RANAP_SAPI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_SAPI {
+ RANAP_SAPI_sapi_0 = 0,
+ RANAP_SAPI_sapi_3 = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_SAPI;
+
+/* RANAP_SAPI */
+typedef long RANAP_SAPI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SAPI;
+asn_struct_free_f RANAP_SAPI_free;
+asn_struct_print_f RANAP_SAPI_print;
+asn_constr_check_f RANAP_SAPI_constraint;
+ber_type_decoder_f RANAP_SAPI_decode_ber;
+der_type_encoder_f RANAP_SAPI_encode_der;
+xer_type_decoder_f RANAP_SAPI_decode_xer;
+xer_type_encoder_f RANAP_SAPI_encode_xer;
+per_type_decoder_f RANAP_SAPI_decode_uper;
+per_type_encoder_f RANAP_SAPI_encode_uper;
+per_type_decoder_f RANAP_SAPI_decode_aper;
+per_type_encoder_f RANAP_SAPI_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SAPI_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SDU-ErrorRatio.c b/src/ranap/RANAP_SDU-ErrorRatio.c
new file mode 100644
index 0000000..dc9f744
--- /dev/null
+++ b/src/ranap/RANAP_SDU-ErrorRatio.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SDU-ErrorRatio.h"
+
+static int
+memb_mantissa_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1l && value <= 9l)) {
+ /* 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_exponent_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1l && value <= 6l)) {
+ /* Constraint 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_mantissa_constr_2 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 4, 4, 1l, 9l } /* (1..9) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_exponent_constr_3 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 3, 3, 1l, 6l } /* (1..6) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_SDU_ErrorRatio_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SDU_ErrorRatio, mantissa),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_mantissa_constraint_1,
+ &asn_PER_memb_mantissa_constr_2,
+ 0,
+ "mantissa"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SDU_ErrorRatio, exponent),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_exponent_constraint_1,
+ &asn_PER_memb_exponent_constr_3,
+ 0,
+ "exponent"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_SDU_ErrorRatio, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_SDU_ErrorRatio_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_SDU_ErrorRatio_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_SDU_ErrorRatio_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* mantissa */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* exponent */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_SDU_ErrorRatio_specs_1 = {
+ sizeof(struct RANAP_SDU_ErrorRatio),
+ offsetof(struct RANAP_SDU_ErrorRatio, _asn_ctx),
+ asn_MAP_RANAP_SDU_ErrorRatio_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_SDU_ErrorRatio_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SDU_ErrorRatio = {
+ "RANAP_SDU-ErrorRatio",
+ "RANAP_SDU-ErrorRatio",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SDU_ErrorRatio_tags_1,
+ sizeof(asn_DEF_RANAP_SDU_ErrorRatio_tags_1)
+ /sizeof(asn_DEF_RANAP_SDU_ErrorRatio_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SDU_ErrorRatio_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SDU_ErrorRatio_tags_1)
+ /sizeof(asn_DEF_RANAP_SDU_ErrorRatio_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_SDU_ErrorRatio_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_SDU_ErrorRatio_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SDU-ErrorRatio.h b/src/ranap/RANAP_SDU-ErrorRatio.h
new file mode 100644
index 0000000..752f350
--- /dev/null
+++ b/src/ranap/RANAP_SDU-ErrorRatio.h
@@ -0,0 +1,40 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SDU_ErrorRatio_H_
+#define _RANAP_SDU_ErrorRatio_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SDU-ErrorRatio */
+typedef struct RANAP_SDU_ErrorRatio {
+ long mantissa;
+ long exponent;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_SDU_ErrorRatio_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SDU_ErrorRatio;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SDU_ErrorRatio_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SDU-FormatInformationParameters.c b/src/ranap/RANAP_SDU-FormatInformationParameters.c
new file mode 100644
index 0000000..181566a
--- /dev/null
+++ b/src/ranap/RANAP_SDU-FormatInformationParameters.c
@@ -0,0 +1,135 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SDU-FormatInformationParameters.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_SDU_FormatInformationParameters_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 6, 6, 1l, 64l } /* (SIZE(1..64)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_Member_2[] = {
+ { ATF_POINTER, 3, offsetof(struct Member, subflowSDU_Size),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_SubflowSDU_Size,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "subflowSDU-Size"
+ },
+ { ATF_POINTER, 2, offsetof(struct Member, rAB_SubflowCombinationBitRate),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RAB_SubflowCombinationBitRate,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rAB-SubflowCombinationBitRate"
+ },
+ { ATF_POINTER, 1, offsetof(struct Member, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_Member_oms_2[] = { 0, 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 }, /* subflowSDU-Size */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rAB-SubflowCombinationBitRate */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
+ sizeof(struct Member),
+ offsetof(struct Member, _asn_ctx),
+ asn_MAP_Member_tag2el_2,
+ 3, /* Count of tags in the map */
+ asn_MAP_Member_oms_2, /* Optional members */
+ 3, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_Member_2 = {
+ "SEQUENCE",
+ "SEQUENCE",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ 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, /* No PER visible constraints */
+ asn_MBR_Member_2,
+ 3, /* Elements count */
+ &asn_SPC_Member_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_SDU_FormatInformationParameters_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_Member_2,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_SDU_FormatInformationParameters_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_SDU_FormatInformationParameters_specs_1 = {
+ sizeof(struct RANAP_SDU_FormatInformationParameters),
+ offsetof(struct RANAP_SDU_FormatInformationParameters, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SDU_FormatInformationParameters = {
+ "RANAP_SDU-FormatInformationParameters",
+ "RANAP_SDU-FormatInformationParameters",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SDU_FormatInformationParameters_tags_1,
+ sizeof(asn_DEF_RANAP_SDU_FormatInformationParameters_tags_1)
+ /sizeof(asn_DEF_RANAP_SDU_FormatInformationParameters_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SDU_FormatInformationParameters_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SDU_FormatInformationParameters_tags_1)
+ /sizeof(asn_DEF_RANAP_SDU_FormatInformationParameters_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_SDU_FormatInformationParameters_constr_1,
+ asn_MBR_RANAP_SDU_FormatInformationParameters_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_SDU_FormatInformationParameters_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SDU-FormatInformationParameters.h b/src/ranap/RANAP_SDU-FormatInformationParameters.h
new file mode 100644
index 0000000..fb49c40
--- /dev/null
+++ b/src/ranap/RANAP_SDU-FormatInformationParameters.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SDU_FormatInformationParameters_H_
+#define _RANAP_SDU_FormatInformationParameters_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include "RANAP_SubflowSDU-Size.h"
+#include "RANAP_RAB-SubflowCombinationBitRate.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SDU-FormatInformationParameters */
+typedef struct RANAP_SDU_FormatInformationParameters {
+ A_SEQUENCE_OF(struct Member {
+ RANAP_SubflowSDU_Size_t *subflowSDU_Size /* OPTIONAL */;
+ RANAP_RAB_SubflowCombinationBitRate_t *rAB_SubflowCombinationBitRate /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } ) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_SDU_FormatInformationParameters_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SDU_FormatInformationParameters;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SDU_FormatInformationParameters_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SDU-Parameters.c b/src/ranap/RANAP_SDU-Parameters.c
new file mode 100644
index 0000000..df97d4b
--- /dev/null
+++ b/src/ranap/RANAP_SDU-Parameters.c
@@ -0,0 +1,155 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SDU-Parameters.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_SDU_Parameters_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 3, 3, 1l, 7l } /* (SIZE(1..7)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_MemberA_2[] = {
+ { ATF_POINTER, 1, offsetof(struct MemberA, sDU_ErrorRatio),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_SDU_ErrorRatio,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "sDU-ErrorRatio"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct MemberA, residualBitErrorRatio),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_ResidualBitErrorRatio,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "residualBitErrorRatio"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct MemberA, deliveryOfErroneousSDU),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_DeliveryOfErroneousSDU,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "deliveryOfErroneousSDU"
+ },
+ { ATF_POINTER, 2, offsetof(struct MemberA, sDU_FormatInformationParameters),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_SDU_FormatInformationParameters,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "sDU-FormatInformationParameters"
+ },
+ { ATF_POINTER, 1, offsetof(struct MemberA, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_MemberA_oms_2[] = { 0, 3, 4 };
+static const ber_tlv_tag_t asn_DEF_MemberA_tags_2[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_MemberA_tag2el_2[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sDU-ErrorRatio */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* residualBitErrorRatio */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* deliveryOfErroneousSDU */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* sDU-FormatInformationParameters */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_MemberA_specs_2 = {
+ sizeof(struct MemberA),
+ offsetof(struct MemberA, _asn_ctx),
+ asn_MAP_MemberA_tag2el_2,
+ 5, /* Count of tags in the map */
+ asn_MAP_MemberA_oms_2, /* Optional members */
+ 3, 0, /* Root/Additions */
+ 4, /* Start extensions */
+ 6 /* Stop extensions */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_MemberA_2 = {
+ "SEQUENCE",
+ "SEQUENCE",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_MemberA_tags_2,
+ sizeof(asn_DEF_MemberA_tags_2)
+ /sizeof(asn_DEF_MemberA_tags_2[0]), /* 1 */
+ asn_DEF_MemberA_tags_2, /* Same as above */
+ sizeof(asn_DEF_MemberA_tags_2)
+ /sizeof(asn_DEF_MemberA_tags_2[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_MemberA_2,
+ 5, /* Elements count */
+ &asn_SPC_MemberA_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_SDU_Parameters_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_MemberA_2,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_SDU_Parameters_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_SDU_Parameters_specs_1 = {
+ sizeof(struct RANAP_SDU_Parameters),
+ offsetof(struct RANAP_SDU_Parameters, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SDU_Parameters = {
+ "RANAP_SDU-Parameters",
+ "RANAP_SDU-Parameters",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SDU_Parameters_tags_1,
+ sizeof(asn_DEF_RANAP_SDU_Parameters_tags_1)
+ /sizeof(asn_DEF_RANAP_SDU_Parameters_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SDU_Parameters_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SDU_Parameters_tags_1)
+ /sizeof(asn_DEF_RANAP_SDU_Parameters_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_SDU_Parameters_constr_1,
+ asn_MBR_RANAP_SDU_Parameters_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_SDU_Parameters_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SDU-Parameters.h b/src/ranap/RANAP_SDU-Parameters.h
new file mode 100644
index 0000000..0e6d158
--- /dev/null
+++ b/src/ranap/RANAP_SDU-Parameters.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SDU_Parameters_H_
+#define _RANAP_SDU_Parameters_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <asn_SEQUENCE_OF.h>
+#include "RANAP_SDU-ErrorRatio.h"
+#include "RANAP_ResidualBitErrorRatio.h"
+#include "RANAP_DeliveryOfErroneousSDU.h"
+#include "RANAP_SDU-FormatInformationParameters.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SDU-Parameters */
+typedef struct RANAP_SDU_Parameters {
+ A_SEQUENCE_OF(struct MemberA {
+ RANAP_SDU_ErrorRatio_t *sDU_ErrorRatio /* OPTIONAL */;
+ RANAP_ResidualBitErrorRatio_t residualBitErrorRatio;
+ RANAP_DeliveryOfErroneousSDU_t deliveryOfErroneousSDU;
+ RANAP_SDU_FormatInformationParameters_t *sDU_FormatInformationParameters /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } ) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_SDU_Parameters_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SDU_Parameters;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SDU_Parameters_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SNA-Access-Information.c b/src/ranap/RANAP_SNA-Access-Information.c
new file mode 100644
index 0000000..5ef4f1d
--- /dev/null
+++ b/src/ranap/RANAP_SNA-Access-Information.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SNA-Access-Information.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_SNA_Access_Information_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SNA_Access_Information, authorisedPLMNs),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_AuthorisedPLMNs,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "authorisedPLMNs"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_SNA_Access_Information, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_SNA_Access_Information_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_RANAP_SNA_Access_Information_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_SNA_Access_Information_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* authorisedPLMNs */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_SNA_Access_Information_specs_1 = {
+ sizeof(struct RANAP_SNA_Access_Information),
+ offsetof(struct RANAP_SNA_Access_Information, _asn_ctx),
+ asn_MAP_RANAP_SNA_Access_Information_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_RANAP_SNA_Access_Information_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 1, /* Start extensions */
+ 3 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SNA_Access_Information = {
+ "RANAP_SNA-Access-Information",
+ "RANAP_SNA-Access-Information",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SNA_Access_Information_tags_1,
+ sizeof(asn_DEF_RANAP_SNA_Access_Information_tags_1)
+ /sizeof(asn_DEF_RANAP_SNA_Access_Information_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SNA_Access_Information_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SNA_Access_Information_tags_1)
+ /sizeof(asn_DEF_RANAP_SNA_Access_Information_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_SNA_Access_Information_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_SNA_Access_Information_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SNA-Access-Information.h b/src/ranap/RANAP_SNA-Access-Information.h
new file mode 100644
index 0000000..3b5d32e
--- /dev/null
+++ b/src/ranap/RANAP_SNA-Access-Information.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SNA_Access_Information_H_
+#define _RANAP_SNA_Access_Information_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_AuthorisedPLMNs.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SNA-Access-Information */
+typedef struct RANAP_SNA_Access_Information {
+ RANAP_AuthorisedPLMNs_t authorisedPLMNs;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_SNA_Access_Information_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SNA_Access_Information;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SNA_Access_Information_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SNAC.c b/src/ranap/RANAP_SNAC.c
new file mode 100644
index 0000000..d8003ef
--- /dev/null
+++ b/src/ranap/RANAP_SNAC.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SNAC.h"
+
+int
+RANAP_SNAC_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 65535l)) {
+ /* 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 void
+RANAP_SNAC_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_SNAC_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_SNAC_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_SNAC_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SNAC_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SNAC_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_SNAC_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_SNAC_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SNAC_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SNAC_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_SNAC_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_SNAC_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SNAC_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SNAC_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SNAC_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_SNAC_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SNAC_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_SNAC_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SNAC_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_SNAC_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SNAC_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_SNAC_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_SNAC_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SNAC = {
+ "RANAP_SNAC",
+ "RANAP_SNAC",
+ RANAP_SNAC_free,
+ RANAP_SNAC_print,
+ RANAP_SNAC_constraint,
+ RANAP_SNAC_decode_ber,
+ RANAP_SNAC_encode_der,
+ RANAP_SNAC_decode_xer,
+ RANAP_SNAC_encode_xer,
+ RANAP_SNAC_decode_uper,
+ RANAP_SNAC_encode_uper,
+ RANAP_SNAC_decode_aper,
+ RANAP_SNAC_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SNAC_tags_1,
+ sizeof(asn_DEF_RANAP_SNAC_tags_1)
+ /sizeof(asn_DEF_RANAP_SNAC_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SNAC_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SNAC_tags_1)
+ /sizeof(asn_DEF_RANAP_SNAC_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_SNAC_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_SNAC.h b/src/ranap/RANAP_SNAC.h
new file mode 100644
index 0000000..e6e06f9
--- /dev/null
+++ b/src/ranap/RANAP_SNAC.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SNAC_H_
+#define _RANAP_SNAC_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SNAC */
+typedef long RANAP_SNAC_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SNAC;
+asn_struct_free_f RANAP_SNAC_free;
+asn_struct_print_f RANAP_SNAC_print;
+asn_constr_check_f RANAP_SNAC_constraint;
+ber_type_decoder_f RANAP_SNAC_decode_ber;
+der_type_encoder_f RANAP_SNAC_encode_der;
+xer_type_decoder_f RANAP_SNAC_decode_xer;
+xer_type_encoder_f RANAP_SNAC_encode_xer;
+per_type_decoder_f RANAP_SNAC_decode_uper;
+per_type_encoder_f RANAP_SNAC_encode_uper;
+per_type_decoder_f RANAP_SNAC_decode_aper;
+per_type_encoder_f RANAP_SNAC_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SNAC_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SRB-ID.c b/src/ranap/RANAP_SRB-ID.c
new file mode 100644
index 0000000..3ea4c37
--- /dev/null
+++ b/src/ranap/RANAP_SRB-ID.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SRB-ID.h"
+
+int
+RANAP_SRB_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1l && value <= 32l)) {
+ /* 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 void
+RANAP_SRB_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_SRB_ID_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_SRB_ID_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_SRB_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SRB_ID_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SRB_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_SRB_ID_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_SRB_ID_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SRB_ID_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SRB_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_SRB_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_SRB_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SRB_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SRB_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SRB_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_SRB_ID_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SRB_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_SRB_ID_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SRB_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_SRB_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SRB_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_SRB_ID_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 5, 5, 1l, 32l } /* (1..32) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_SRB_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SRB_ID = {
+ "RANAP_SRB-ID",
+ "RANAP_SRB-ID",
+ RANAP_SRB_ID_free,
+ RANAP_SRB_ID_print,
+ RANAP_SRB_ID_constraint,
+ RANAP_SRB_ID_decode_ber,
+ RANAP_SRB_ID_encode_der,
+ RANAP_SRB_ID_decode_xer,
+ RANAP_SRB_ID_encode_xer,
+ RANAP_SRB_ID_decode_uper,
+ RANAP_SRB_ID_encode_uper,
+ RANAP_SRB_ID_decode_aper,
+ RANAP_SRB_ID_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SRB_ID_tags_1,
+ sizeof(asn_DEF_RANAP_SRB_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_SRB_ID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SRB_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SRB_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_SRB_ID_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_SRB_ID_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_SRB-ID.h b/src/ranap/RANAP_SRB-ID.h
new file mode 100644
index 0000000..1b86a32
--- /dev/null
+++ b/src/ranap/RANAP_SRB-ID.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SRB_ID_H_
+#define _RANAP_SRB_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SRB-ID */
+typedef long RANAP_SRB_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SRB_ID;
+asn_struct_free_f RANAP_SRB_ID_free;
+asn_struct_print_f RANAP_SRB_ID_print;
+asn_constr_check_f RANAP_SRB_ID_constraint;
+ber_type_decoder_f RANAP_SRB_ID_decode_ber;
+der_type_encoder_f RANAP_SRB_ID_encode_der;
+xer_type_decoder_f RANAP_SRB_ID_decode_xer;
+xer_type_encoder_f RANAP_SRB_ID_encode_xer;
+per_type_decoder_f RANAP_SRB_ID_decode_uper;
+per_type_encoder_f RANAP_SRB_ID_encode_uper;
+per_type_decoder_f RANAP_SRB_ID_decode_aper;
+per_type_encoder_f RANAP_SRB_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SRB_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SRB-TrCH-Mapping.c b/src/ranap/RANAP_SRB-TrCH-Mapping.c
new file mode 100644
index 0000000..0c9319d
--- /dev/null
+++ b/src/ranap/RANAP_SRB-TrCH-Mapping.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SRB-TrCH-Mapping.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_SRB_TrCH_Mapping_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 3, 3, 1l, 8l } /* (SIZE(1..8)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_SRB_TrCH_Mapping_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_SRB_TrCH_MappingItem,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_SRB_TrCH_Mapping_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_SRB_TrCH_Mapping_specs_1 = {
+ sizeof(struct RANAP_SRB_TrCH_Mapping),
+ offsetof(struct RANAP_SRB_TrCH_Mapping, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SRB_TrCH_Mapping = {
+ "RANAP_SRB-TrCH-Mapping",
+ "RANAP_SRB-TrCH-Mapping",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SRB_TrCH_Mapping_tags_1,
+ sizeof(asn_DEF_RANAP_SRB_TrCH_Mapping_tags_1)
+ /sizeof(asn_DEF_RANAP_SRB_TrCH_Mapping_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SRB_TrCH_Mapping_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SRB_TrCH_Mapping_tags_1)
+ /sizeof(asn_DEF_RANAP_SRB_TrCH_Mapping_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_SRB_TrCH_Mapping_constr_1,
+ asn_MBR_RANAP_SRB_TrCH_Mapping_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_SRB_TrCH_Mapping_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SRB-TrCH-Mapping.h b/src/ranap/RANAP_SRB-TrCH-Mapping.h
new file mode 100644
index 0000000..52ce11b
--- /dev/null
+++ b/src/ranap/RANAP_SRB-TrCH-Mapping.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SRB_TrCH_Mapping_H_
+#define _RANAP_SRB_TrCH_Mapping_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_SRB-TrCH-MappingItem.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SRB-TrCH-Mapping */
+typedef struct RANAP_SRB_TrCH_Mapping {
+ A_SEQUENCE_OF(RANAP_SRB_TrCH_MappingItem_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_SRB_TrCH_Mapping_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SRB_TrCH_Mapping;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SRB_TrCH_Mapping_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SRB-TrCH-MappingItem.c b/src/ranap/RANAP_SRB-TrCH-MappingItem.c
new file mode 100644
index 0000000..80d6994
--- /dev/null
+++ b/src/ranap/RANAP_SRB-TrCH-MappingItem.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SRB-TrCH-MappingItem.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_SRB_TrCH_MappingItem_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SRB_TrCH_MappingItem, sRB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_SRB_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "sRB-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SRB_TrCH_MappingItem, trCH_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TrCH_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "trCH-ID"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_SRB_TrCH_MappingItem, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_SRB_TrCH_MappingItem_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_SRB_TrCH_MappingItem_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_SRB_TrCH_MappingItem_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sRB-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* trCH-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_SRB_TrCH_MappingItem_specs_1 = {
+ sizeof(struct RANAP_SRB_TrCH_MappingItem),
+ offsetof(struct RANAP_SRB_TrCH_MappingItem, _asn_ctx),
+ asn_MAP_RANAP_SRB_TrCH_MappingItem_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_SRB_TrCH_MappingItem_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SRB_TrCH_MappingItem = {
+ "RANAP_SRB-TrCH-MappingItem",
+ "RANAP_SRB-TrCH-MappingItem",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SRB_TrCH_MappingItem_tags_1,
+ sizeof(asn_DEF_RANAP_SRB_TrCH_MappingItem_tags_1)
+ /sizeof(asn_DEF_RANAP_SRB_TrCH_MappingItem_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SRB_TrCH_MappingItem_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SRB_TrCH_MappingItem_tags_1)
+ /sizeof(asn_DEF_RANAP_SRB_TrCH_MappingItem_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_SRB_TrCH_MappingItem_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_SRB_TrCH_MappingItem_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SRB-TrCH-MappingItem.h b/src/ranap/RANAP_SRB-TrCH-MappingItem.h
new file mode 100644
index 0000000..48f43e3
--- /dev/null
+++ b/src/ranap/RANAP_SRB-TrCH-MappingItem.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SRB_TrCH_MappingItem_H_
+#define _RANAP_SRB_TrCH_MappingItem_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_SRB-ID.h"
+#include "RANAP_TrCH-ID.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SRB-TrCH-MappingItem */
+typedef struct RANAP_SRB_TrCH_MappingItem {
+ RANAP_SRB_ID_t sRB_ID;
+ RANAP_TrCH_ID_t trCH_ID;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_SRB_TrCH_MappingItem_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SRB_TrCH_MappingItem;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SRB_TrCH_MappingItem_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SRNS-ContextRequest.c b/src/ranap/RANAP_SRNS-ContextRequest.c
new file mode 100644
index 0000000..9531323
--- /dev/null
+++ b/src/ranap/RANAP_SRNS-ContextRequest.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_SRNS-ContextRequest.h"
+
+static int
+memb_sRNS_ContextRequest_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_sRNS_ContextRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_sRNS_ContextRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_sRNS_ContextRequest_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_sRNS_ContextRequest_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_sRNS_ContextRequest_ies_specs_2 = {
+ sizeof(struct sRNS_ContextRequest_ies),
+ offsetof(struct sRNS_ContextRequest_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_sRNS_ContextRequest_ies_2 = {
+ "sRNS-ContextRequest-ies",
+ "sRNS-ContextRequest-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_sRNS_ContextRequest_ies_tags_2,
+ sizeof(asn_DEF_sRNS_ContextRequest_ies_tags_2)
+ /sizeof(asn_DEF_sRNS_ContextRequest_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_sRNS_ContextRequest_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_sRNS_ContextRequest_ies_tags_2)
+ /sizeof(asn_DEF_sRNS_ContextRequest_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_sRNS_ContextRequest_ies_constr_2,
+ asn_MBR_sRNS_ContextRequest_ies_2,
+ 1, /* Single element */
+ &asn_SPC_sRNS_ContextRequest_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_SRNS_ContextRequest_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SRNS_ContextRequest, sRNS_ContextRequest_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_sRNS_ContextRequest_ies_2,
+ memb_sRNS_ContextRequest_ies_constraint_1,
+ &asn_PER_memb_sRNS_ContextRequest_ies_constr_2,
+ 0,
+ "sRNS-ContextRequest-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_SRNS_ContextRequest_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_SRNS_ContextRequest_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* sRNS-ContextRequest-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_SRNS_ContextRequest_specs_1 = {
+ sizeof(struct RANAP_SRNS_ContextRequest),
+ offsetof(struct RANAP_SRNS_ContextRequest, _asn_ctx),
+ asn_MAP_RANAP_SRNS_ContextRequest_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SRNS_ContextRequest = {
+ "RANAP_SRNS-ContextRequest",
+ "RANAP_SRNS-ContextRequest",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SRNS_ContextRequest_tags_1,
+ sizeof(asn_DEF_RANAP_SRNS_ContextRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_SRNS_ContextRequest_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SRNS_ContextRequest_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SRNS_ContextRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_SRNS_ContextRequest_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_SRNS_ContextRequest_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_SRNS_ContextRequest_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SRNS-ContextRequest.h b/src/ranap/RANAP_SRNS-ContextRequest.h
new file mode 100644
index 0000000..a9e57ca
--- /dev/null
+++ b/src/ranap/RANAP_SRNS-ContextRequest.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_SRNS_ContextRequest_H_
+#define _RANAP_SRNS_ContextRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SRNS-ContextRequest */
+typedef struct RANAP_SRNS_ContextRequest {
+ struct sRNS_ContextRequest_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } sRNS_ContextRequest_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_SRNS_ContextRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SRNS_ContextRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SRNS_ContextRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SRNS-ContextResponse.c b/src/ranap/RANAP_SRNS-ContextResponse.c
new file mode 100644
index 0000000..601b5ad
--- /dev/null
+++ b/src/ranap/RANAP_SRNS-ContextResponse.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_SRNS-ContextResponse.h"
+
+static int
+memb_sRNS_ContextResponse_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_sRNS_ContextResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_sRNS_ContextResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_sRNS_ContextResponse_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_sRNS_ContextResponse_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_sRNS_ContextResponse_ies_specs_2 = {
+ sizeof(struct sRNS_ContextResponse_ies),
+ offsetof(struct sRNS_ContextResponse_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_sRNS_ContextResponse_ies_2 = {
+ "sRNS-ContextResponse-ies",
+ "sRNS-ContextResponse-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_sRNS_ContextResponse_ies_tags_2,
+ sizeof(asn_DEF_sRNS_ContextResponse_ies_tags_2)
+ /sizeof(asn_DEF_sRNS_ContextResponse_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_sRNS_ContextResponse_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_sRNS_ContextResponse_ies_tags_2)
+ /sizeof(asn_DEF_sRNS_ContextResponse_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_sRNS_ContextResponse_ies_constr_2,
+ asn_MBR_sRNS_ContextResponse_ies_2,
+ 1, /* Single element */
+ &asn_SPC_sRNS_ContextResponse_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_SRNS_ContextResponse_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SRNS_ContextResponse, sRNS_ContextResponse_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_sRNS_ContextResponse_ies_2,
+ memb_sRNS_ContextResponse_ies_constraint_1,
+ &asn_PER_memb_sRNS_ContextResponse_ies_constr_2,
+ 0,
+ "sRNS-ContextResponse-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_SRNS_ContextResponse_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_SRNS_ContextResponse_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* sRNS-ContextResponse-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_SRNS_ContextResponse_specs_1 = {
+ sizeof(struct RANAP_SRNS_ContextResponse),
+ offsetof(struct RANAP_SRNS_ContextResponse, _asn_ctx),
+ asn_MAP_RANAP_SRNS_ContextResponse_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SRNS_ContextResponse = {
+ "RANAP_SRNS-ContextResponse",
+ "RANAP_SRNS-ContextResponse",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SRNS_ContextResponse_tags_1,
+ sizeof(asn_DEF_RANAP_SRNS_ContextResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_SRNS_ContextResponse_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SRNS_ContextResponse_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SRNS_ContextResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_SRNS_ContextResponse_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_SRNS_ContextResponse_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_SRNS_ContextResponse_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SRNS-ContextResponse.h b/src/ranap/RANAP_SRNS-ContextResponse.h
new file mode 100644
index 0000000..53e210a
--- /dev/null
+++ b/src/ranap/RANAP_SRNS-ContextResponse.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_SRNS_ContextResponse_H_
+#define _RANAP_SRNS_ContextResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SRNS-ContextResponse */
+typedef struct RANAP_SRNS_ContextResponse {
+ struct sRNS_ContextResponse_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } sRNS_ContextResponse_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_SRNS_ContextResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SRNS_ContextResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SRNS_ContextResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SRNS-DataForwardCommand.c b/src/ranap/RANAP_SRNS-DataForwardCommand.c
new file mode 100644
index 0000000..4b3800d
--- /dev/null
+++ b/src/ranap/RANAP_SRNS-DataForwardCommand.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_SRNS-DataForwardCommand.h"
+
+static int
+memb_sRNS_DataForwardCommand_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_sRNS_DataForwardCommand_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_sRNS_DataForwardCommand_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_sRNS_DataForwardCommand_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_sRNS_DataForwardCommand_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_sRNS_DataForwardCommand_ies_specs_2 = {
+ sizeof(struct sRNS_DataForwardCommand_ies),
+ offsetof(struct sRNS_DataForwardCommand_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_sRNS_DataForwardCommand_ies_2 = {
+ "sRNS-DataForwardCommand-ies",
+ "sRNS-DataForwardCommand-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_sRNS_DataForwardCommand_ies_tags_2,
+ sizeof(asn_DEF_sRNS_DataForwardCommand_ies_tags_2)
+ /sizeof(asn_DEF_sRNS_DataForwardCommand_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_sRNS_DataForwardCommand_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_sRNS_DataForwardCommand_ies_tags_2)
+ /sizeof(asn_DEF_sRNS_DataForwardCommand_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_sRNS_DataForwardCommand_ies_constr_2,
+ asn_MBR_sRNS_DataForwardCommand_ies_2,
+ 1, /* Single element */
+ &asn_SPC_sRNS_DataForwardCommand_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_SRNS_DataForwardCommand_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SRNS_DataForwardCommand, sRNS_DataForwardCommand_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_sRNS_DataForwardCommand_ies_2,
+ memb_sRNS_DataForwardCommand_ies_constraint_1,
+ &asn_PER_memb_sRNS_DataForwardCommand_ies_constr_2,
+ 0,
+ "sRNS-DataForwardCommand-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_SRNS_DataForwardCommand_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_SRNS_DataForwardCommand_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* sRNS-DataForwardCommand-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_SRNS_DataForwardCommand_specs_1 = {
+ sizeof(struct RANAP_SRNS_DataForwardCommand),
+ offsetof(struct RANAP_SRNS_DataForwardCommand, _asn_ctx),
+ asn_MAP_RANAP_SRNS_DataForwardCommand_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SRNS_DataForwardCommand = {
+ "RANAP_SRNS-DataForwardCommand",
+ "RANAP_SRNS-DataForwardCommand",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SRNS_DataForwardCommand_tags_1,
+ sizeof(asn_DEF_RANAP_SRNS_DataForwardCommand_tags_1)
+ /sizeof(asn_DEF_RANAP_SRNS_DataForwardCommand_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SRNS_DataForwardCommand_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SRNS_DataForwardCommand_tags_1)
+ /sizeof(asn_DEF_RANAP_SRNS_DataForwardCommand_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_SRNS_DataForwardCommand_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_SRNS_DataForwardCommand_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SRNS-DataForwardCommand.h b/src/ranap/RANAP_SRNS-DataForwardCommand.h
new file mode 100644
index 0000000..14a9f49
--- /dev/null
+++ b/src/ranap/RANAP_SRNS-DataForwardCommand.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_SRNS_DataForwardCommand_H_
+#define _RANAP_SRNS_DataForwardCommand_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SRNS-DataForwardCommand */
+typedef struct RANAP_SRNS_DataForwardCommand {
+ struct sRNS_DataForwardCommand_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } sRNS_DataForwardCommand_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_SRNS_DataForwardCommand_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SRNS_DataForwardCommand;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SRNS_DataForwardCommand_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SRVCC-CSKeysRequest.c b/src/ranap/RANAP_SRVCC-CSKeysRequest.c
new file mode 100644
index 0000000..28361bb
--- /dev/null
+++ b/src/ranap/RANAP_SRVCC-CSKeysRequest.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_SRVCC-CSKeysRequest.h"
+
+static int
+memb_sRVCC_CSKeysRequest_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_sRVCC_CSKeysRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_sRVCC_CSKeysRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_sRVCC_CSKeysRequest_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_sRVCC_CSKeysRequest_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_sRVCC_CSKeysRequest_ies_specs_2 = {
+ sizeof(struct sRVCC_CSKeysRequest_ies),
+ offsetof(struct sRVCC_CSKeysRequest_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_sRVCC_CSKeysRequest_ies_2 = {
+ "sRVCC-CSKeysRequest-ies",
+ "sRVCC-CSKeysRequest-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_sRVCC_CSKeysRequest_ies_tags_2,
+ sizeof(asn_DEF_sRVCC_CSKeysRequest_ies_tags_2)
+ /sizeof(asn_DEF_sRVCC_CSKeysRequest_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_sRVCC_CSKeysRequest_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_sRVCC_CSKeysRequest_ies_tags_2)
+ /sizeof(asn_DEF_sRVCC_CSKeysRequest_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_sRVCC_CSKeysRequest_ies_constr_2,
+ asn_MBR_sRVCC_CSKeysRequest_ies_2,
+ 1, /* Single element */
+ &asn_SPC_sRVCC_CSKeysRequest_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_SRVCC_CSKeysRequest_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SRVCC_CSKeysRequest, sRVCC_CSKeysRequest_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_sRVCC_CSKeysRequest_ies_2,
+ memb_sRVCC_CSKeysRequest_ies_constraint_1,
+ &asn_PER_memb_sRVCC_CSKeysRequest_ies_constr_2,
+ 0,
+ "sRVCC-CSKeysRequest-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_SRVCC_CSKeysRequest_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_SRVCC_CSKeysRequest_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* sRVCC-CSKeysRequest-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_SRVCC_CSKeysRequest_specs_1 = {
+ sizeof(struct RANAP_SRVCC_CSKeysRequest),
+ offsetof(struct RANAP_SRVCC_CSKeysRequest, _asn_ctx),
+ asn_MAP_RANAP_SRVCC_CSKeysRequest_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SRVCC_CSKeysRequest = {
+ "RANAP_SRVCC-CSKeysRequest",
+ "RANAP_SRVCC-CSKeysRequest",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SRVCC_CSKeysRequest_tags_1,
+ sizeof(asn_DEF_RANAP_SRVCC_CSKeysRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_SRVCC_CSKeysRequest_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SRVCC_CSKeysRequest_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SRVCC_CSKeysRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_SRVCC_CSKeysRequest_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_SRVCC_CSKeysRequest_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_SRVCC_CSKeysRequest_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SRVCC-CSKeysRequest.h b/src/ranap/RANAP_SRVCC-CSKeysRequest.h
new file mode 100644
index 0000000..aa64d72
--- /dev/null
+++ b/src/ranap/RANAP_SRVCC-CSKeysRequest.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_SRVCC_CSKeysRequest_H_
+#define _RANAP_SRVCC_CSKeysRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SRVCC-CSKeysRequest */
+typedef struct RANAP_SRVCC_CSKeysRequest {
+ struct sRVCC_CSKeysRequest_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } sRVCC_CSKeysRequest_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_SRVCC_CSKeysRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SRVCC_CSKeysRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SRVCC_CSKeysRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SRVCC-CSKeysResponse.c b/src/ranap/RANAP_SRVCC-CSKeysResponse.c
new file mode 100644
index 0000000..89ec1b3
--- /dev/null
+++ b/src/ranap/RANAP_SRVCC-CSKeysResponse.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_SRVCC-CSKeysResponse.h"
+
+static int
+memb_sRVCC_CSKeysResponse_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_sRVCC_CSKeysResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_sRVCC_CSKeysResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_sRVCC_CSKeysResponse_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_sRVCC_CSKeysResponse_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_sRVCC_CSKeysResponse_ies_specs_2 = {
+ sizeof(struct sRVCC_CSKeysResponse_ies),
+ offsetof(struct sRVCC_CSKeysResponse_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_sRVCC_CSKeysResponse_ies_2 = {
+ "sRVCC-CSKeysResponse-ies",
+ "sRVCC-CSKeysResponse-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_sRVCC_CSKeysResponse_ies_tags_2,
+ sizeof(asn_DEF_sRVCC_CSKeysResponse_ies_tags_2)
+ /sizeof(asn_DEF_sRVCC_CSKeysResponse_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_sRVCC_CSKeysResponse_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_sRVCC_CSKeysResponse_ies_tags_2)
+ /sizeof(asn_DEF_sRVCC_CSKeysResponse_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_sRVCC_CSKeysResponse_ies_constr_2,
+ asn_MBR_sRVCC_CSKeysResponse_ies_2,
+ 1, /* Single element */
+ &asn_SPC_sRVCC_CSKeysResponse_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_SRVCC_CSKeysResponse_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SRVCC_CSKeysResponse, sRVCC_CSKeysResponse_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_sRVCC_CSKeysResponse_ies_2,
+ memb_sRVCC_CSKeysResponse_ies_constraint_1,
+ &asn_PER_memb_sRVCC_CSKeysResponse_ies_constr_2,
+ 0,
+ "sRVCC-CSKeysResponse-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_SRVCC_CSKeysResponse_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_SRVCC_CSKeysResponse_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* sRVCC-CSKeysResponse-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_SRVCC_CSKeysResponse_specs_1 = {
+ sizeof(struct RANAP_SRVCC_CSKeysResponse),
+ offsetof(struct RANAP_SRVCC_CSKeysResponse, _asn_ctx),
+ asn_MAP_RANAP_SRVCC_CSKeysResponse_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SRVCC_CSKeysResponse = {
+ "RANAP_SRVCC-CSKeysResponse",
+ "RANAP_SRVCC-CSKeysResponse",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SRVCC_CSKeysResponse_tags_1,
+ sizeof(asn_DEF_RANAP_SRVCC_CSKeysResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_SRVCC_CSKeysResponse_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SRVCC_CSKeysResponse_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SRVCC_CSKeysResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_SRVCC_CSKeysResponse_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_SRVCC_CSKeysResponse_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_SRVCC_CSKeysResponse_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SRVCC-CSKeysResponse.h b/src/ranap/RANAP_SRVCC-CSKeysResponse.h
new file mode 100644
index 0000000..b782866
--- /dev/null
+++ b/src/ranap/RANAP_SRVCC-CSKeysResponse.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_SRVCC_CSKeysResponse_H_
+#define _RANAP_SRVCC_CSKeysResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SRVCC-CSKeysResponse */
+typedef struct RANAP_SRVCC_CSKeysResponse {
+ struct sRVCC_CSKeysResponse_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } sRVCC_CSKeysResponse_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_SRVCC_CSKeysResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SRVCC_CSKeysResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SRVCC_CSKeysResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SRVCC-HO-Indication.c b/src/ranap/RANAP_SRVCC-HO-Indication.c
new file mode 100644
index 0000000..7a515c9
--- /dev/null
+++ b/src/ranap/RANAP_SRVCC-HO-Indication.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SRVCC-HO-Indication.h"
+
+int
+RANAP_SRVCC_HO_Indication_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_SRVCC_HO_Indication_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_SRVCC_HO_Indication_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_SRVCC_HO_Indication_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_SRVCC_HO_Indication_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SRVCC_HO_Indication_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SRVCC_HO_Indication_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_SRVCC_HO_Indication_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_SRVCC_HO_Indication_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SRVCC_HO_Indication_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SRVCC_HO_Indication_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_SRVCC_HO_Indication_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_SRVCC_HO_Indication_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SRVCC_HO_Indication_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SRVCC_HO_Indication_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SRVCC_HO_Indication_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_SRVCC_HO_Indication_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SRVCC_HO_Indication_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_SRVCC_HO_Indication_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SRVCC_HO_Indication_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_SRVCC_HO_Indication_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SRVCC_HO_Indication_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_SRVCC_HO_Indication_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_SRVCC_HO_Indication_value2enum_1[] = {
+ { 0, 9, "ps-and-cs" },
+ { 1, 7, "cs-only" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_SRVCC_HO_Indication_enum2value_1[] = {
+ 1, /* cs-only(1) */
+ 0 /* ps-and-cs(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_SRVCC_HO_Indication_specs_1 = {
+ asn_MAP_RANAP_SRVCC_HO_Indication_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_SRVCC_HO_Indication_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_RANAP_SRVCC_HO_Indication_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SRVCC_HO_Indication = {
+ "RANAP_SRVCC-HO-Indication",
+ "RANAP_SRVCC-HO-Indication",
+ RANAP_SRVCC_HO_Indication_free,
+ RANAP_SRVCC_HO_Indication_print,
+ RANAP_SRVCC_HO_Indication_constraint,
+ RANAP_SRVCC_HO_Indication_decode_ber,
+ RANAP_SRVCC_HO_Indication_encode_der,
+ RANAP_SRVCC_HO_Indication_decode_xer,
+ RANAP_SRVCC_HO_Indication_encode_xer,
+ RANAP_SRVCC_HO_Indication_decode_uper,
+ RANAP_SRVCC_HO_Indication_encode_uper,
+ RANAP_SRVCC_HO_Indication_decode_aper,
+ RANAP_SRVCC_HO_Indication_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SRVCC_HO_Indication_tags_1,
+ sizeof(asn_DEF_RANAP_SRVCC_HO_Indication_tags_1)
+ /sizeof(asn_DEF_RANAP_SRVCC_HO_Indication_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SRVCC_HO_Indication_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SRVCC_HO_Indication_tags_1)
+ /sizeof(asn_DEF_RANAP_SRVCC_HO_Indication_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_SRVCC_HO_Indication_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_SRVCC_HO_Indication_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SRVCC-HO-Indication.h b/src/ranap/RANAP_SRVCC-HO-Indication.h
new file mode 100644
index 0000000..36caa2d
--- /dev/null
+++ b/src/ranap/RANAP_SRVCC-HO-Indication.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SRVCC_HO_Indication_H_
+#define _RANAP_SRVCC_HO_Indication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_SRVCC_HO_Indication {
+ RANAP_SRVCC_HO_Indication_ps_and_cs = 0,
+ RANAP_SRVCC_HO_Indication_cs_only = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_SRVCC_HO_Indication;
+
+/* RANAP_SRVCC-HO-Indication */
+typedef long RANAP_SRVCC_HO_Indication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SRVCC_HO_Indication;
+asn_struct_free_f RANAP_SRVCC_HO_Indication_free;
+asn_struct_print_f RANAP_SRVCC_HO_Indication_print;
+asn_constr_check_f RANAP_SRVCC_HO_Indication_constraint;
+ber_type_decoder_f RANAP_SRVCC_HO_Indication_decode_ber;
+der_type_encoder_f RANAP_SRVCC_HO_Indication_encode_der;
+xer_type_decoder_f RANAP_SRVCC_HO_Indication_decode_xer;
+xer_type_encoder_f RANAP_SRVCC_HO_Indication_encode_xer;
+per_type_decoder_f RANAP_SRVCC_HO_Indication_decode_uper;
+per_type_encoder_f RANAP_SRVCC_HO_Indication_encode_uper;
+per_type_decoder_f RANAP_SRVCC_HO_Indication_decode_aper;
+per_type_encoder_f RANAP_SRVCC_HO_Indication_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SRVCC_HO_Indication_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SRVCC-Information.c b/src/ranap/RANAP_SRVCC-Information.c
new file mode 100644
index 0000000..c84ac5a
--- /dev/null
+++ b/src/ranap/RANAP_SRVCC-Information.c
@@ -0,0 +1,109 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SRVCC-Information.h"
+
+static int
+memb_nonce_constraint_1(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 == 128l)) {
+ /* Constraint 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_nonce_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 128l, 128l } /* (SIZE(128..128)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_SRVCC_Information_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SRVCC_Information, nonce),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BIT_STRING,
+ memb_nonce_constraint_1,
+ &asn_PER_memb_nonce_constr_2,
+ 0,
+ "nonce"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_SRVCC_Information, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_SRVCC_Information_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_RANAP_SRVCC_Information_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_SRVCC_Information_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nonce */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_SRVCC_Information_specs_1 = {
+ sizeof(struct RANAP_SRVCC_Information),
+ offsetof(struct RANAP_SRVCC_Information, _asn_ctx),
+ asn_MAP_RANAP_SRVCC_Information_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_RANAP_SRVCC_Information_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 1, /* Start extensions */
+ 3 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SRVCC_Information = {
+ "RANAP_SRVCC-Information",
+ "RANAP_SRVCC-Information",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SRVCC_Information_tags_1,
+ sizeof(asn_DEF_RANAP_SRVCC_Information_tags_1)
+ /sizeof(asn_DEF_RANAP_SRVCC_Information_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SRVCC_Information_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SRVCC_Information_tags_1)
+ /sizeof(asn_DEF_RANAP_SRVCC_Information_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_SRVCC_Information_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_SRVCC_Information_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SRVCC-Information.h b/src/ranap/RANAP_SRVCC-Information.h
new file mode 100644
index 0000000..c5022b7
--- /dev/null
+++ b/src/ranap/RANAP_SRVCC-Information.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SRVCC_Information_H_
+#define _RANAP_SRVCC_Information_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SRVCC-Information */
+typedef struct RANAP_SRVCC_Information {
+ BIT_STRING_t nonce;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_SRVCC_Information_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SRVCC_Information;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SRVCC_Information_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SRVCC-Operation-Possible.c b/src/ranap/RANAP_SRVCC-Operation-Possible.c
new file mode 100644
index 0000000..cf46149
--- /dev/null
+++ b/src/ranap/RANAP_SRVCC-Operation-Possible.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SRVCC-Operation-Possible.h"
+
+int
+RANAP_SRVCC_Operation_Possible_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_SRVCC_Operation_Possible_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_SRVCC_Operation_Possible_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_SRVCC_Operation_Possible_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_SRVCC_Operation_Possible_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SRVCC_Operation_Possible_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SRVCC_Operation_Possible_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_SRVCC_Operation_Possible_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_SRVCC_Operation_Possible_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SRVCC_Operation_Possible_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SRVCC_Operation_Possible_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_SRVCC_Operation_Possible_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_SRVCC_Operation_Possible_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SRVCC_Operation_Possible_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SRVCC_Operation_Possible_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SRVCC_Operation_Possible_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_SRVCC_Operation_Possible_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SRVCC_Operation_Possible_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_SRVCC_Operation_Possible_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SRVCC_Operation_Possible_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_SRVCC_Operation_Possible_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SRVCC_Operation_Possible_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_SRVCC_Operation_Possible_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_SRVCC_Operation_Possible_value2enum_1[] = {
+ { 0, 14, "srvcc-possible" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_SRVCC_Operation_Possible_enum2value_1[] = {
+ 0 /* srvcc-possible(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_SRVCC_Operation_Possible_specs_1 = {
+ asn_MAP_RANAP_SRVCC_Operation_Possible_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_SRVCC_Operation_Possible_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_RANAP_SRVCC_Operation_Possible_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SRVCC_Operation_Possible = {
+ "RANAP_SRVCC-Operation-Possible",
+ "RANAP_SRVCC-Operation-Possible",
+ RANAP_SRVCC_Operation_Possible_free,
+ RANAP_SRVCC_Operation_Possible_print,
+ RANAP_SRVCC_Operation_Possible_constraint,
+ RANAP_SRVCC_Operation_Possible_decode_ber,
+ RANAP_SRVCC_Operation_Possible_encode_der,
+ RANAP_SRVCC_Operation_Possible_decode_xer,
+ RANAP_SRVCC_Operation_Possible_encode_xer,
+ RANAP_SRVCC_Operation_Possible_decode_uper,
+ RANAP_SRVCC_Operation_Possible_encode_uper,
+ RANAP_SRVCC_Operation_Possible_decode_aper,
+ RANAP_SRVCC_Operation_Possible_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SRVCC_Operation_Possible_tags_1,
+ sizeof(asn_DEF_RANAP_SRVCC_Operation_Possible_tags_1)
+ /sizeof(asn_DEF_RANAP_SRVCC_Operation_Possible_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SRVCC_Operation_Possible_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SRVCC_Operation_Possible_tags_1)
+ /sizeof(asn_DEF_RANAP_SRVCC_Operation_Possible_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_SRVCC_Operation_Possible_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_SRVCC_Operation_Possible_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SRVCC-Operation-Possible.h b/src/ranap/RANAP_SRVCC-Operation-Possible.h
new file mode 100644
index 0000000..c839c8b
--- /dev/null
+++ b/src/ranap/RANAP_SRVCC-Operation-Possible.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SRVCC_Operation_Possible_H_
+#define _RANAP_SRVCC_Operation_Possible_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_SRVCC_Operation_Possible {
+ RANAP_SRVCC_Operation_Possible_srvcc_possible = 0
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_SRVCC_Operation_Possible;
+
+/* RANAP_SRVCC-Operation-Possible */
+typedef long RANAP_SRVCC_Operation_Possible_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SRVCC_Operation_Possible;
+asn_struct_free_f RANAP_SRVCC_Operation_Possible_free;
+asn_struct_print_f RANAP_SRVCC_Operation_Possible_print;
+asn_constr_check_f RANAP_SRVCC_Operation_Possible_constraint;
+ber_type_decoder_f RANAP_SRVCC_Operation_Possible_decode_ber;
+der_type_encoder_f RANAP_SRVCC_Operation_Possible_encode_der;
+xer_type_decoder_f RANAP_SRVCC_Operation_Possible_decode_xer;
+xer_type_encoder_f RANAP_SRVCC_Operation_Possible_encode_xer;
+per_type_decoder_f RANAP_SRVCC_Operation_Possible_decode_uper;
+per_type_encoder_f RANAP_SRVCC_Operation_Possible_encode_uper;
+per_type_decoder_f RANAP_SRVCC_Operation_Possible_decode_aper;
+per_type_encoder_f RANAP_SRVCC_Operation_Possible_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SRVCC_Operation_Possible_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SecurityModeCommand.c b/src/ranap/RANAP_SecurityModeCommand.c
new file mode 100644
index 0000000..858ad7e
--- /dev/null
+++ b/src/ranap/RANAP_SecurityModeCommand.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_SecurityModeCommand.h"
+
+static int
+memb_securityModeCommand_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_securityModeCommand_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_securityModeCommand_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_securityModeCommand_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_securityModeCommand_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_securityModeCommand_ies_specs_2 = {
+ sizeof(struct securityModeCommand_ies),
+ offsetof(struct securityModeCommand_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_securityModeCommand_ies_2 = {
+ "securityModeCommand-ies",
+ "securityModeCommand-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_securityModeCommand_ies_tags_2,
+ sizeof(asn_DEF_securityModeCommand_ies_tags_2)
+ /sizeof(asn_DEF_securityModeCommand_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_securityModeCommand_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_securityModeCommand_ies_tags_2)
+ /sizeof(asn_DEF_securityModeCommand_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_securityModeCommand_ies_constr_2,
+ asn_MBR_securityModeCommand_ies_2,
+ 1, /* Single element */
+ &asn_SPC_securityModeCommand_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_SecurityModeCommand_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SecurityModeCommand, securityModeCommand_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_securityModeCommand_ies_2,
+ memb_securityModeCommand_ies_constraint_1,
+ &asn_PER_memb_securityModeCommand_ies_constr_2,
+ 0,
+ "securityModeCommand-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_SecurityModeCommand_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_SecurityModeCommand_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* securityModeCommand-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_SecurityModeCommand_specs_1 = {
+ sizeof(struct RANAP_SecurityModeCommand),
+ offsetof(struct RANAP_SecurityModeCommand, _asn_ctx),
+ asn_MAP_RANAP_SecurityModeCommand_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SecurityModeCommand = {
+ "RANAP_SecurityModeCommand",
+ "RANAP_SecurityModeCommand",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SecurityModeCommand_tags_1,
+ sizeof(asn_DEF_RANAP_SecurityModeCommand_tags_1)
+ /sizeof(asn_DEF_RANAP_SecurityModeCommand_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SecurityModeCommand_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SecurityModeCommand_tags_1)
+ /sizeof(asn_DEF_RANAP_SecurityModeCommand_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_SecurityModeCommand_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_SecurityModeCommand_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SecurityModeCommand.h b/src/ranap/RANAP_SecurityModeCommand.h
new file mode 100644
index 0000000..2784c19
--- /dev/null
+++ b/src/ranap/RANAP_SecurityModeCommand.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_SecurityModeCommand_H_
+#define _RANAP_SecurityModeCommand_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SecurityModeCommand */
+typedef struct RANAP_SecurityModeCommand {
+ struct securityModeCommand_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } securityModeCommand_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_SecurityModeCommand_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SecurityModeCommand;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SecurityModeCommand_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SecurityModeComplete.c b/src/ranap/RANAP_SecurityModeComplete.c
new file mode 100644
index 0000000..1fab6c5
--- /dev/null
+++ b/src/ranap/RANAP_SecurityModeComplete.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_SecurityModeComplete.h"
+
+static int
+memb_securityModeComplete_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_securityModeComplete_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_securityModeComplete_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_securityModeComplete_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_securityModeComplete_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_securityModeComplete_ies_specs_2 = {
+ sizeof(struct securityModeComplete_ies),
+ offsetof(struct securityModeComplete_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_securityModeComplete_ies_2 = {
+ "securityModeComplete-ies",
+ "securityModeComplete-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_securityModeComplete_ies_tags_2,
+ sizeof(asn_DEF_securityModeComplete_ies_tags_2)
+ /sizeof(asn_DEF_securityModeComplete_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_securityModeComplete_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_securityModeComplete_ies_tags_2)
+ /sizeof(asn_DEF_securityModeComplete_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_securityModeComplete_ies_constr_2,
+ asn_MBR_securityModeComplete_ies_2,
+ 1, /* Single element */
+ &asn_SPC_securityModeComplete_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_SecurityModeComplete_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SecurityModeComplete, securityModeComplete_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_securityModeComplete_ies_2,
+ memb_securityModeComplete_ies_constraint_1,
+ &asn_PER_memb_securityModeComplete_ies_constr_2,
+ 0,
+ "securityModeComplete-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_SecurityModeComplete_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_SecurityModeComplete_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* securityModeComplete-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_SecurityModeComplete_specs_1 = {
+ sizeof(struct RANAP_SecurityModeComplete),
+ offsetof(struct RANAP_SecurityModeComplete, _asn_ctx),
+ asn_MAP_RANAP_SecurityModeComplete_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SecurityModeComplete = {
+ "RANAP_SecurityModeComplete",
+ "RANAP_SecurityModeComplete",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SecurityModeComplete_tags_1,
+ sizeof(asn_DEF_RANAP_SecurityModeComplete_tags_1)
+ /sizeof(asn_DEF_RANAP_SecurityModeComplete_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SecurityModeComplete_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SecurityModeComplete_tags_1)
+ /sizeof(asn_DEF_RANAP_SecurityModeComplete_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_SecurityModeComplete_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_SecurityModeComplete_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SecurityModeComplete.h b/src/ranap/RANAP_SecurityModeComplete.h
new file mode 100644
index 0000000..6ce0962
--- /dev/null
+++ b/src/ranap/RANAP_SecurityModeComplete.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_SecurityModeComplete_H_
+#define _RANAP_SecurityModeComplete_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SecurityModeComplete */
+typedef struct RANAP_SecurityModeComplete {
+ struct securityModeComplete_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } securityModeComplete_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_SecurityModeComplete_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SecurityModeComplete;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SecurityModeComplete_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SecurityModeReject.c b/src/ranap/RANAP_SecurityModeReject.c
new file mode 100644
index 0000000..ca8de7a
--- /dev/null
+++ b/src/ranap/RANAP_SecurityModeReject.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_SecurityModeReject.h"
+
+static int
+memb_securityModeReject_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_securityModeReject_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_securityModeReject_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_securityModeReject_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_securityModeReject_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_securityModeReject_ies_specs_2 = {
+ sizeof(struct securityModeReject_ies),
+ offsetof(struct securityModeReject_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_securityModeReject_ies_2 = {
+ "securityModeReject-ies",
+ "securityModeReject-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_securityModeReject_ies_tags_2,
+ sizeof(asn_DEF_securityModeReject_ies_tags_2)
+ /sizeof(asn_DEF_securityModeReject_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_securityModeReject_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_securityModeReject_ies_tags_2)
+ /sizeof(asn_DEF_securityModeReject_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_securityModeReject_ies_constr_2,
+ asn_MBR_securityModeReject_ies_2,
+ 1, /* Single element */
+ &asn_SPC_securityModeReject_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_SecurityModeReject_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SecurityModeReject, securityModeReject_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_securityModeReject_ies_2,
+ memb_securityModeReject_ies_constraint_1,
+ &asn_PER_memb_securityModeReject_ies_constr_2,
+ 0,
+ "securityModeReject-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_SecurityModeReject_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_SecurityModeReject_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* securityModeReject-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_SecurityModeReject_specs_1 = {
+ sizeof(struct RANAP_SecurityModeReject),
+ offsetof(struct RANAP_SecurityModeReject, _asn_ctx),
+ asn_MAP_RANAP_SecurityModeReject_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SecurityModeReject = {
+ "RANAP_SecurityModeReject",
+ "RANAP_SecurityModeReject",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SecurityModeReject_tags_1,
+ sizeof(asn_DEF_RANAP_SecurityModeReject_tags_1)
+ /sizeof(asn_DEF_RANAP_SecurityModeReject_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SecurityModeReject_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SecurityModeReject_tags_1)
+ /sizeof(asn_DEF_RANAP_SecurityModeReject_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_SecurityModeReject_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_SecurityModeReject_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SecurityModeReject.h b/src/ranap/RANAP_SecurityModeReject.h
new file mode 100644
index 0000000..0c7105d
--- /dev/null
+++ b/src/ranap/RANAP_SecurityModeReject.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_SecurityModeReject_H_
+#define _RANAP_SecurityModeReject_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SecurityModeReject */
+typedef struct RANAP_SecurityModeReject {
+ struct securityModeReject_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } securityModeReject_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_SecurityModeReject_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SecurityModeReject;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SecurityModeReject_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Service-Handover.c b/src/ranap/RANAP_Service-Handover.c
new file mode 100644
index 0000000..4ab9c4d
--- /dev/null
+++ b/src/ranap/RANAP_Service-Handover.c
@@ -0,0 +1,169 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Service-Handover.h"
+
+int
+RANAP_Service_Handover_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_Service_Handover_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_Service_Handover_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Service_Handover_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Service_Handover_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Service_Handover_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Service_Handover_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Service_Handover_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Service_Handover_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Service_Handover_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Service_Handover_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Service_Handover_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Service_Handover_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Service_Handover_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Service_Handover_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Service_Handover_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Service_Handover_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Service_Handover_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Service_Handover_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Service_Handover_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Service_Handover_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Service_Handover_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_Service_Handover_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 2l } /* (0..2,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_Service_Handover_value2enum_1[] = {
+ { 0, 35, "handover-to-GSM-should-be-performed" },
+ { 1, 39, "handover-to-GSM-should-not-be-performed" },
+ { 2, 38, "handover-to-GSM-shall-not-be-performed" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_Service_Handover_enum2value_1[] = {
+ 2, /* handover-to-GSM-shall-not-be-performed(2) */
+ 0, /* handover-to-GSM-should-be-performed(0) */
+ 1 /* handover-to-GSM-should-not-be-performed(1) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_Service_Handover_specs_1 = {
+ asn_MAP_RANAP_Service_Handover_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_Service_Handover_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_RANAP_Service_Handover_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Service_Handover = {
+ "RANAP_Service-Handover",
+ "RANAP_Service-Handover",
+ RANAP_Service_Handover_free,
+ RANAP_Service_Handover_print,
+ RANAP_Service_Handover_constraint,
+ RANAP_Service_Handover_decode_ber,
+ RANAP_Service_Handover_encode_der,
+ RANAP_Service_Handover_decode_xer,
+ RANAP_Service_Handover_encode_xer,
+ RANAP_Service_Handover_decode_uper,
+ RANAP_Service_Handover_encode_uper,
+ RANAP_Service_Handover_decode_aper,
+ RANAP_Service_Handover_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Service_Handover_tags_1,
+ sizeof(asn_DEF_RANAP_Service_Handover_tags_1)
+ /sizeof(asn_DEF_RANAP_Service_Handover_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Service_Handover_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Service_Handover_tags_1)
+ /sizeof(asn_DEF_RANAP_Service_Handover_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Service_Handover_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_Service_Handover_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Service-Handover.h b/src/ranap/RANAP_Service-Handover.h
new file mode 100644
index 0000000..1d54b1b
--- /dev/null
+++ b/src/ranap/RANAP_Service-Handover.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Service_Handover_H_
+#define _RANAP_Service_Handover_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_Service_Handover {
+ RANAP_Service_Handover_handover_to_GSM_should_be_performed = 0,
+ RANAP_Service_Handover_handover_to_GSM_should_not_be_performed = 1,
+ RANAP_Service_Handover_handover_to_GSM_shall_not_be_performed = 2
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_Service_Handover;
+
+/* RANAP_Service-Handover */
+typedef long RANAP_Service_Handover_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Service_Handover;
+asn_struct_free_f RANAP_Service_Handover_free;
+asn_struct_print_f RANAP_Service_Handover_print;
+asn_constr_check_f RANAP_Service_Handover_constraint;
+ber_type_decoder_f RANAP_Service_Handover_decode_ber;
+der_type_encoder_f RANAP_Service_Handover_encode_der;
+xer_type_decoder_f RANAP_Service_Handover_decode_xer;
+xer_type_encoder_f RANAP_Service_Handover_encode_xer;
+per_type_decoder_f RANAP_Service_Handover_decode_uper;
+per_type_encoder_f RANAP_Service_Handover_encode_uper;
+per_type_decoder_f RANAP_Service_Handover_decode_aper;
+per_type_encoder_f RANAP_Service_Handover_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Service_Handover_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Session-Re-establishment-Indicator.c b/src/ranap/RANAP_Session-Re-establishment-Indicator.c
new file mode 100644
index 0000000..c2cdb10
--- /dev/null
+++ b/src/ranap/RANAP_Session-Re-establishment-Indicator.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Session-Re-establishment-Indicator.h"
+
+int
+RANAP_Session_Re_establishment_Indicator_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_Session_Re_establishment_Indicator_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_Session_Re_establishment_Indicator_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Session_Re_establishment_Indicator_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Session_Re_establishment_Indicator_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Session_Re_establishment_Indicator_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Session_Re_establishment_Indicator_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Session_Re_establishment_Indicator_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Session_Re_establishment_Indicator_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Session_Re_establishment_Indicator_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Session_Re_establishment_Indicator_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Session_Re_establishment_Indicator_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Session_Re_establishment_Indicator_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Session_Re_establishment_Indicator_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Session_Re_establishment_Indicator_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Session_Re_establishment_Indicator_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Session_Re_establishment_Indicator_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Session_Re_establishment_Indicator_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Session_Re_establishment_Indicator_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Session_Re_establishment_Indicator_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Session_Re_establishment_Indicator_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Session_Re_establishment_Indicator_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_Session_Re_establishment_Indicator_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_Session_Re_establishment_Indicator_value2enum_1[] = {
+ { 0, 4, "true" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_Session_Re_establishment_Indicator_enum2value_1[] = {
+ 0 /* true(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_Session_Re_establishment_Indicator_specs_1 = {
+ asn_MAP_RANAP_Session_Re_establishment_Indicator_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_Session_Re_establishment_Indicator_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_RANAP_Session_Re_establishment_Indicator_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Session_Re_establishment_Indicator = {
+ "RANAP_Session-Re-establishment-Indicator",
+ "RANAP_Session-Re-establishment-Indicator",
+ RANAP_Session_Re_establishment_Indicator_free,
+ RANAP_Session_Re_establishment_Indicator_print,
+ RANAP_Session_Re_establishment_Indicator_constraint,
+ RANAP_Session_Re_establishment_Indicator_decode_ber,
+ RANAP_Session_Re_establishment_Indicator_encode_der,
+ RANAP_Session_Re_establishment_Indicator_decode_xer,
+ RANAP_Session_Re_establishment_Indicator_encode_xer,
+ RANAP_Session_Re_establishment_Indicator_decode_uper,
+ RANAP_Session_Re_establishment_Indicator_encode_uper,
+ RANAP_Session_Re_establishment_Indicator_decode_aper,
+ RANAP_Session_Re_establishment_Indicator_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Session_Re_establishment_Indicator_tags_1,
+ sizeof(asn_DEF_RANAP_Session_Re_establishment_Indicator_tags_1)
+ /sizeof(asn_DEF_RANAP_Session_Re_establishment_Indicator_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Session_Re_establishment_Indicator_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Session_Re_establishment_Indicator_tags_1)
+ /sizeof(asn_DEF_RANAP_Session_Re_establishment_Indicator_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Session_Re_establishment_Indicator_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_Session_Re_establishment_Indicator_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Session-Re-establishment-Indicator.h b/src/ranap/RANAP_Session-Re-establishment-Indicator.h
new file mode 100644
index 0000000..ea9b931
--- /dev/null
+++ b/src/ranap/RANAP_Session-Re-establishment-Indicator.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Session_Re_establishment_Indicator_H_
+#define _RANAP_Session_Re_establishment_Indicator_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_Session_Re_establishment_Indicator {
+ RANAP_Session_Re_establishment_Indicator_true = 0
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_Session_Re_establishment_Indicator;
+
+/* RANAP_Session-Re-establishment-Indicator */
+typedef long RANAP_Session_Re_establishment_Indicator_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Session_Re_establishment_Indicator;
+asn_struct_free_f RANAP_Session_Re_establishment_Indicator_free;
+asn_struct_print_f RANAP_Session_Re_establishment_Indicator_print;
+asn_constr_check_f RANAP_Session_Re_establishment_Indicator_constraint;
+ber_type_decoder_f RANAP_Session_Re_establishment_Indicator_decode_ber;
+der_type_encoder_f RANAP_Session_Re_establishment_Indicator_encode_der;
+xer_type_decoder_f RANAP_Session_Re_establishment_Indicator_decode_xer;
+xer_type_encoder_f RANAP_Session_Re_establishment_Indicator_encode_xer;
+per_type_decoder_f RANAP_Session_Re_establishment_Indicator_decode_uper;
+per_type_encoder_f RANAP_Session_Re_establishment_Indicator_encode_uper;
+per_type_decoder_f RANAP_Session_Re_establishment_Indicator_decode_aper;
+per_type_encoder_f RANAP_Session_Re_establishment_Indicator_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Session_Re_establishment_Indicator_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SessionUpdateID.c b/src/ranap/RANAP_SessionUpdateID.c
new file mode 100644
index 0000000..ad77058
--- /dev/null
+++ b/src/ranap/RANAP_SessionUpdateID.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SessionUpdateID.h"
+
+int
+RANAP_SessionUpdateID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 1048575l)) {
+ /* 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 void
+RANAP_SessionUpdateID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_SessionUpdateID_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_SessionUpdateID_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_SessionUpdateID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SessionUpdateID_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SessionUpdateID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_SessionUpdateID_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_SessionUpdateID_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SessionUpdateID_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SessionUpdateID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_SessionUpdateID_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_SessionUpdateID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SessionUpdateID_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SessionUpdateID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SessionUpdateID_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_SessionUpdateID_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SessionUpdateID_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_SessionUpdateID_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SessionUpdateID_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_SessionUpdateID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SessionUpdateID_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_SessionUpdateID_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 20, -1, 0l, 1048575l } /* (0..1048575) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_SessionUpdateID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SessionUpdateID = {
+ "RANAP_SessionUpdateID",
+ "RANAP_SessionUpdateID",
+ RANAP_SessionUpdateID_free,
+ RANAP_SessionUpdateID_print,
+ RANAP_SessionUpdateID_constraint,
+ RANAP_SessionUpdateID_decode_ber,
+ RANAP_SessionUpdateID_encode_der,
+ RANAP_SessionUpdateID_decode_xer,
+ RANAP_SessionUpdateID_encode_xer,
+ RANAP_SessionUpdateID_decode_uper,
+ RANAP_SessionUpdateID_encode_uper,
+ RANAP_SessionUpdateID_decode_aper,
+ RANAP_SessionUpdateID_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SessionUpdateID_tags_1,
+ sizeof(asn_DEF_RANAP_SessionUpdateID_tags_1)
+ /sizeof(asn_DEF_RANAP_SessionUpdateID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SessionUpdateID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SessionUpdateID_tags_1)
+ /sizeof(asn_DEF_RANAP_SessionUpdateID_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_SessionUpdateID_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_SessionUpdateID.h b/src/ranap/RANAP_SessionUpdateID.h
new file mode 100644
index 0000000..3d9f9aa
--- /dev/null
+++ b/src/ranap/RANAP_SessionUpdateID.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SessionUpdateID_H_
+#define _RANAP_SessionUpdateID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SessionUpdateID */
+typedef long RANAP_SessionUpdateID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SessionUpdateID;
+asn_struct_free_f RANAP_SessionUpdateID_free;
+asn_struct_print_f RANAP_SessionUpdateID_print;
+asn_constr_check_f RANAP_SessionUpdateID_constraint;
+ber_type_decoder_f RANAP_SessionUpdateID_decode_ber;
+der_type_encoder_f RANAP_SessionUpdateID_encode_der;
+xer_type_decoder_f RANAP_SessionUpdateID_decode_xer;
+xer_type_encoder_f RANAP_SessionUpdateID_encode_xer;
+per_type_decoder_f RANAP_SessionUpdateID_decode_uper;
+per_type_encoder_f RANAP_SessionUpdateID_encode_uper;
+per_type_decoder_f RANAP_SessionUpdateID_decode_aper;
+per_type_encoder_f RANAP_SessionUpdateID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SessionUpdateID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Shared-Network-Information.c b/src/ranap/RANAP_Shared-Network-Information.c
new file mode 100644
index 0000000..5f4d9c0
--- /dev/null
+++ b/src/ranap/RANAP_Shared-Network-Information.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Shared-Network-Information.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_Shared_Network_Information_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_Shared_Network_Information, pLMNs_in_shared_network),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PLMNs_in_shared_network,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "pLMNs-in-shared-network"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_Shared_Network_Information, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_Shared_Network_Information_oms_1[] = { 1 };
+static const ber_tlv_tag_t asn_DEF_RANAP_Shared_Network_Information_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_Shared_Network_Information_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNs-in-shared-network */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_Shared_Network_Information_specs_1 = {
+ sizeof(struct RANAP_Shared_Network_Information),
+ offsetof(struct RANAP_Shared_Network_Information, _asn_ctx),
+ asn_MAP_RANAP_Shared_Network_Information_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_RANAP_Shared_Network_Information_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 1, /* Start extensions */
+ 3 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Shared_Network_Information = {
+ "RANAP_Shared-Network-Information",
+ "RANAP_Shared-Network-Information",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Shared_Network_Information_tags_1,
+ sizeof(asn_DEF_RANAP_Shared_Network_Information_tags_1)
+ /sizeof(asn_DEF_RANAP_Shared_Network_Information_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Shared_Network_Information_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Shared_Network_Information_tags_1)
+ /sizeof(asn_DEF_RANAP_Shared_Network_Information_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_Shared_Network_Information_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_Shared_Network_Information_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_Shared-Network-Information.h b/src/ranap/RANAP_Shared-Network-Information.h
new file mode 100644
index 0000000..20ed702
--- /dev/null
+++ b/src/ranap/RANAP_Shared-Network-Information.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Shared_Network_Information_H_
+#define _RANAP_Shared_Network_Information_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_PLMNs-in-shared-network.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Shared-Network-Information */
+typedef struct RANAP_Shared_Network_Information {
+ RANAP_PLMNs_in_shared_network_t pLMNs_in_shared_network;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_Shared_Network_Information_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Shared_Network_Information;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Shared_Network_Information_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SignallingIndication.c b/src/ranap/RANAP_SignallingIndication.c
new file mode 100644
index 0000000..2a01023
--- /dev/null
+++ b/src/ranap/RANAP_SignallingIndication.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SignallingIndication.h"
+
+int
+RANAP_SignallingIndication_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_SignallingIndication_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_SignallingIndication_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_SignallingIndication_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_SignallingIndication_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SignallingIndication_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SignallingIndication_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_SignallingIndication_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_SignallingIndication_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SignallingIndication_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SignallingIndication_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_SignallingIndication_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_SignallingIndication_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SignallingIndication_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SignallingIndication_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SignallingIndication_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_SignallingIndication_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SignallingIndication_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_SignallingIndication_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SignallingIndication_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_SignallingIndication_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SignallingIndication_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_SignallingIndication_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_SignallingIndication_value2enum_1[] = {
+ { 0, 10, "signalling" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_SignallingIndication_enum2value_1[] = {
+ 0 /* signalling(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_SignallingIndication_specs_1 = {
+ asn_MAP_RANAP_SignallingIndication_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_SignallingIndication_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_RANAP_SignallingIndication_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SignallingIndication = {
+ "RANAP_SignallingIndication",
+ "RANAP_SignallingIndication",
+ RANAP_SignallingIndication_free,
+ RANAP_SignallingIndication_print,
+ RANAP_SignallingIndication_constraint,
+ RANAP_SignallingIndication_decode_ber,
+ RANAP_SignallingIndication_encode_der,
+ RANAP_SignallingIndication_decode_xer,
+ RANAP_SignallingIndication_encode_xer,
+ RANAP_SignallingIndication_decode_uper,
+ RANAP_SignallingIndication_encode_uper,
+ RANAP_SignallingIndication_decode_aper,
+ RANAP_SignallingIndication_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SignallingIndication_tags_1,
+ sizeof(asn_DEF_RANAP_SignallingIndication_tags_1)
+ /sizeof(asn_DEF_RANAP_SignallingIndication_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SignallingIndication_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SignallingIndication_tags_1)
+ /sizeof(asn_DEF_RANAP_SignallingIndication_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_SignallingIndication_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_SignallingIndication_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SignallingIndication.h b/src/ranap/RANAP_SignallingIndication.h
new file mode 100644
index 0000000..4c95a32
--- /dev/null
+++ b/src/ranap/RANAP_SignallingIndication.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SignallingIndication_H_
+#define _RANAP_SignallingIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_SignallingIndication {
+ RANAP_SignallingIndication_signalling = 0
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_SignallingIndication;
+
+/* RANAP_SignallingIndication */
+typedef long RANAP_SignallingIndication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SignallingIndication;
+asn_struct_free_f RANAP_SignallingIndication_free;
+asn_struct_print_f RANAP_SignallingIndication_print;
+asn_constr_check_f RANAP_SignallingIndication_constraint;
+ber_type_decoder_f RANAP_SignallingIndication_decode_ber;
+der_type_encoder_f RANAP_SignallingIndication_encode_der;
+xer_type_decoder_f RANAP_SignallingIndication_decode_xer;
+xer_type_encoder_f RANAP_SignallingIndication_encode_xer;
+per_type_decoder_f RANAP_SignallingIndication_decode_uper;
+per_type_encoder_f RANAP_SignallingIndication_encode_uper;
+per_type_decoder_f RANAP_SignallingIndication_decode_aper;
+per_type_encoder_f RANAP_SignallingIndication_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SignallingIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Source-ToTarget-TransparentContainer.c b/src/ranap/RANAP_Source-ToTarget-TransparentContainer.c
new file mode 100644
index 0000000..1874cda
--- /dev/null
+++ b/src/ranap/RANAP_Source-ToTarget-TransparentContainer.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Source-ToTarget-TransparentContainer.h"
+
+int
+RANAP_Source_ToTarget_TransparentContainer_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_Source_ToTarget_TransparentContainer_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_Source_ToTarget_TransparentContainer_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Source_ToTarget_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Source_ToTarget_TransparentContainer_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Source_ToTarget_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Source_ToTarget_TransparentContainer_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Source_ToTarget_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Source_ToTarget_TransparentContainer_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Source_ToTarget_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Source_ToTarget_TransparentContainer_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Source_ToTarget_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Source_ToTarget_TransparentContainer_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Source_ToTarget_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Source_ToTarget_TransparentContainer_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Source_ToTarget_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Source_ToTarget_TransparentContainer_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Source_ToTarget_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Source_ToTarget_TransparentContainer_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Source_ToTarget_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Source_ToTarget_TransparentContainer_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Source_ToTarget_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static const ber_tlv_tag_t asn_DEF_RANAP_Source_ToTarget_TransparentContainer_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Source_ToTarget_TransparentContainer = {
+ "RANAP_Source-ToTarget-TransparentContainer",
+ "RANAP_Source-ToTarget-TransparentContainer",
+ RANAP_Source_ToTarget_TransparentContainer_free,
+ RANAP_Source_ToTarget_TransparentContainer_print,
+ RANAP_Source_ToTarget_TransparentContainer_constraint,
+ RANAP_Source_ToTarget_TransparentContainer_decode_ber,
+ RANAP_Source_ToTarget_TransparentContainer_encode_der,
+ RANAP_Source_ToTarget_TransparentContainer_decode_xer,
+ RANAP_Source_ToTarget_TransparentContainer_encode_xer,
+ RANAP_Source_ToTarget_TransparentContainer_decode_uper,
+ RANAP_Source_ToTarget_TransparentContainer_encode_uper,
+ RANAP_Source_ToTarget_TransparentContainer_decode_aper,
+ RANAP_Source_ToTarget_TransparentContainer_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Source_ToTarget_TransparentContainer_tags_1,
+ sizeof(asn_DEF_RANAP_Source_ToTarget_TransparentContainer_tags_1)
+ /sizeof(asn_DEF_RANAP_Source_ToTarget_TransparentContainer_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Source_ToTarget_TransparentContainer_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Source_ToTarget_TransparentContainer_tags_1)
+ /sizeof(asn_DEF_RANAP_Source_ToTarget_TransparentContainer_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_Source-ToTarget-TransparentContainer.h b/src/ranap/RANAP_Source-ToTarget-TransparentContainer.h
new file mode 100644
index 0000000..84b1571
--- /dev/null
+++ b/src/ranap/RANAP_Source-ToTarget-TransparentContainer.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Source_ToTarget_TransparentContainer_H_
+#define _RANAP_Source_ToTarget_TransparentContainer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Source-ToTarget-TransparentContainer */
+typedef OCTET_STRING_t RANAP_Source_ToTarget_TransparentContainer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Source_ToTarget_TransparentContainer;
+asn_struct_free_f RANAP_Source_ToTarget_TransparentContainer_free;
+asn_struct_print_f RANAP_Source_ToTarget_TransparentContainer_print;
+asn_constr_check_f RANAP_Source_ToTarget_TransparentContainer_constraint;
+ber_type_decoder_f RANAP_Source_ToTarget_TransparentContainer_decode_ber;
+der_type_encoder_f RANAP_Source_ToTarget_TransparentContainer_encode_der;
+xer_type_decoder_f RANAP_Source_ToTarget_TransparentContainer_decode_xer;
+xer_type_encoder_f RANAP_Source_ToTarget_TransparentContainer_encode_xer;
+per_type_decoder_f RANAP_Source_ToTarget_TransparentContainer_decode_uper;
+per_type_encoder_f RANAP_Source_ToTarget_TransparentContainer_encode_uper;
+per_type_decoder_f RANAP_Source_ToTarget_TransparentContainer_decode_aper;
+per_type_encoder_f RANAP_Source_ToTarget_TransparentContainer_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Source_ToTarget_TransparentContainer_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SourceBSS-ToTargetBSS-TransparentContainer.c b/src/ranap/RANAP_SourceBSS-ToTargetBSS-TransparentContainer.c
new file mode 100644
index 0000000..78ef6f9
--- /dev/null
+++ b/src/ranap/RANAP_SourceBSS-ToTargetBSS-TransparentContainer.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SourceBSS-ToTargetBSS-TransparentContainer.h"
+
+int
+RANAP_SourceBSS_ToTargetBSS_TransparentContainer_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_SourceBSS_ToTargetBSS_TransparentContainer_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_SourceBSS_ToTargetBSS_TransparentContainer_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_SourceBSS_ToTargetBSS_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_SourceBSS_ToTargetBSS_TransparentContainer_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SourceBSS_ToTargetBSS_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SourceBSS_ToTargetBSS_TransparentContainer_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_SourceBSS_ToTargetBSS_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_SourceBSS_ToTargetBSS_TransparentContainer_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SourceBSS_ToTargetBSS_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SourceBSS_ToTargetBSS_TransparentContainer_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_SourceBSS_ToTargetBSS_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_SourceBSS_ToTargetBSS_TransparentContainer_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SourceBSS_ToTargetBSS_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SourceBSS_ToTargetBSS_TransparentContainer_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SourceBSS_ToTargetBSS_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_SourceBSS_ToTargetBSS_TransparentContainer_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SourceBSS_ToTargetBSS_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_SourceBSS_ToTargetBSS_TransparentContainer_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SourceBSS_ToTargetBSS_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_SourceBSS_ToTargetBSS_TransparentContainer_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SourceBSS_ToTargetBSS_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static const ber_tlv_tag_t asn_DEF_RANAP_SourceBSS_ToTargetBSS_TransparentContainer_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SourceBSS_ToTargetBSS_TransparentContainer = {
+ "RANAP_SourceBSS-ToTargetBSS-TransparentContainer",
+ "RANAP_SourceBSS-ToTargetBSS-TransparentContainer",
+ RANAP_SourceBSS_ToTargetBSS_TransparentContainer_free,
+ RANAP_SourceBSS_ToTargetBSS_TransparentContainer_print,
+ RANAP_SourceBSS_ToTargetBSS_TransparentContainer_constraint,
+ RANAP_SourceBSS_ToTargetBSS_TransparentContainer_decode_ber,
+ RANAP_SourceBSS_ToTargetBSS_TransparentContainer_encode_der,
+ RANAP_SourceBSS_ToTargetBSS_TransparentContainer_decode_xer,
+ RANAP_SourceBSS_ToTargetBSS_TransparentContainer_encode_xer,
+ RANAP_SourceBSS_ToTargetBSS_TransparentContainer_decode_uper,
+ RANAP_SourceBSS_ToTargetBSS_TransparentContainer_encode_uper,
+ RANAP_SourceBSS_ToTargetBSS_TransparentContainer_decode_aper,
+ RANAP_SourceBSS_ToTargetBSS_TransparentContainer_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SourceBSS_ToTargetBSS_TransparentContainer_tags_1,
+ sizeof(asn_DEF_RANAP_SourceBSS_ToTargetBSS_TransparentContainer_tags_1)
+ /sizeof(asn_DEF_RANAP_SourceBSS_ToTargetBSS_TransparentContainer_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SourceBSS_ToTargetBSS_TransparentContainer_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SourceBSS_ToTargetBSS_TransparentContainer_tags_1)
+ /sizeof(asn_DEF_RANAP_SourceBSS_ToTargetBSS_TransparentContainer_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_SourceBSS-ToTargetBSS-TransparentContainer.h b/src/ranap/RANAP_SourceBSS-ToTargetBSS-TransparentContainer.h
new file mode 100644
index 0000000..e86c070
--- /dev/null
+++ b/src/ranap/RANAP_SourceBSS-ToTargetBSS-TransparentContainer.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SourceBSS_ToTargetBSS_TransparentContainer_H_
+#define _RANAP_SourceBSS_ToTargetBSS_TransparentContainer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SourceBSS-ToTargetBSS-TransparentContainer */
+typedef OCTET_STRING_t RANAP_SourceBSS_ToTargetBSS_TransparentContainer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SourceBSS_ToTargetBSS_TransparentContainer;
+asn_struct_free_f RANAP_SourceBSS_ToTargetBSS_TransparentContainer_free;
+asn_struct_print_f RANAP_SourceBSS_ToTargetBSS_TransparentContainer_print;
+asn_constr_check_f RANAP_SourceBSS_ToTargetBSS_TransparentContainer_constraint;
+ber_type_decoder_f RANAP_SourceBSS_ToTargetBSS_TransparentContainer_decode_ber;
+der_type_encoder_f RANAP_SourceBSS_ToTargetBSS_TransparentContainer_encode_der;
+xer_type_decoder_f RANAP_SourceBSS_ToTargetBSS_TransparentContainer_decode_xer;
+xer_type_encoder_f RANAP_SourceBSS_ToTargetBSS_TransparentContainer_encode_xer;
+per_type_decoder_f RANAP_SourceBSS_ToTargetBSS_TransparentContainer_decode_uper;
+per_type_encoder_f RANAP_SourceBSS_ToTargetBSS_TransparentContainer_encode_uper;
+per_type_decoder_f RANAP_SourceBSS_ToTargetBSS_TransparentContainer_decode_aper;
+per_type_encoder_f RANAP_SourceBSS_ToTargetBSS_TransparentContainer_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SourceBSS_ToTargetBSS_TransparentContainer_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SourceCellID.c b/src/ranap/RANAP_SourceCellID.c
new file mode 100644
index 0000000..c00a108
--- /dev/null
+++ b/src/ranap/RANAP_SourceCellID.c
@@ -0,0 +1,72 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SourceCellID.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_SourceCellID_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_SourceCellID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SourceCellID, choice.sourceUTRANCellID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_SourceUTRANCellID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "sourceUTRANCellID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SourceCellID, choice.sourceGERANCellID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_CGI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "sourceGERANCellID"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_SourceCellID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sourceUTRANCellID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* sourceGERANCellID */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_SourceCellID_specs_1 = {
+ sizeof(struct RANAP_SourceCellID),
+ offsetof(struct RANAP_SourceCellID, _asn_ctx),
+ offsetof(struct RANAP_SourceCellID, present),
+ sizeof(((struct RANAP_SourceCellID *)0)->present),
+ asn_MAP_RANAP_SourceCellID_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SourceCellID = {
+ "RANAP_SourceCellID",
+ "RANAP_SourceCellID",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_SourceCellID_constr_1,
+ asn_MBR_RANAP_SourceCellID_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_SourceCellID_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SourceCellID.h b/src/ranap/RANAP_SourceCellID.h
new file mode 100644
index 0000000..d002552
--- /dev/null
+++ b/src/ranap/RANAP_SourceCellID.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SourceCellID_H_
+#define _RANAP_SourceCellID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_SourceUTRANCellID.h"
+#include "RANAP_CGI.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_SourceCellID_PR {
+ RANAP_SourceCellID_PR_NOTHING, /* No components present */
+ RANAP_SourceCellID_PR_sourceUTRANCellID,
+ RANAP_SourceCellID_PR_sourceGERANCellID,
+ /* Extensions may appear below */
+
+} RANAP_SourceCellID_PR;
+
+/* RANAP_SourceCellID */
+typedef struct RANAP_SourceCellID {
+ RANAP_SourceCellID_PR present;
+ union RANAP_SourceCellID_u {
+ RANAP_SourceUTRANCellID_t sourceUTRANCellID;
+ RANAP_CGI_t sourceGERANCellID;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_SourceCellID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SourceCellID;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SourceCellID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SourceID.c b/src/ranap/RANAP_SourceID.c
new file mode 100644
index 0000000..347e9c4
--- /dev/null
+++ b/src/ranap/RANAP_SourceID.c
@@ -0,0 +1,72 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SourceID.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_SourceID_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_SourceID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SourceID, choice.sourceRNC_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_SourceRNC_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "sourceRNC-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SourceID, choice.sAI),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_SAI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "sAI"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_SourceID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sourceRNC-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* sAI */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_SourceID_specs_1 = {
+ sizeof(struct RANAP_SourceID),
+ offsetof(struct RANAP_SourceID, _asn_ctx),
+ offsetof(struct RANAP_SourceID, present),
+ sizeof(((struct RANAP_SourceID *)0)->present),
+ asn_MAP_RANAP_SourceID_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SourceID = {
+ "RANAP_SourceID",
+ "RANAP_SourceID",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_SourceID_constr_1,
+ asn_MBR_RANAP_SourceID_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_SourceID_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SourceID.h b/src/ranap/RANAP_SourceID.h
new file mode 100644
index 0000000..cb390f5
--- /dev/null
+++ b/src/ranap/RANAP_SourceID.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SourceID_H_
+#define _RANAP_SourceID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_SourceRNC-ID.h"
+#include "RANAP_SAI.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_SourceID_PR {
+ RANAP_SourceID_PR_NOTHING, /* No components present */
+ RANAP_SourceID_PR_sourceRNC_ID,
+ RANAP_SourceID_PR_sAI,
+ /* Extensions may appear below */
+
+} RANAP_SourceID_PR;
+
+/* RANAP_SourceID */
+typedef struct RANAP_SourceID {
+ RANAP_SourceID_PR present;
+ union RANAP_SourceID_u {
+ RANAP_SourceRNC_ID_t sourceRNC_ID;
+ RANAP_SAI_t sAI;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_SourceID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SourceID;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SourceID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SourceRNC-ID.c b/src/ranap/RANAP_SourceRNC-ID.c
new file mode 100644
index 0000000..a5850da
--- /dev/null
+++ b/src/ranap/RANAP_SourceRNC-ID.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SourceRNC-ID.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_SourceRNC_ID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SourceRNC_ID, pLMNidentity),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PLMNidentity,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "pLMNidentity"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SourceRNC_ID, rNC_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RNC_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rNC-ID"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_SourceRNC_ID, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_SourceRNC_ID_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_SourceRNC_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_SourceRNC_ID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNidentity */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rNC-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_SourceRNC_ID_specs_1 = {
+ sizeof(struct RANAP_SourceRNC_ID),
+ offsetof(struct RANAP_SourceRNC_ID, _asn_ctx),
+ asn_MAP_RANAP_SourceRNC_ID_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_SourceRNC_ID_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SourceRNC_ID = {
+ "RANAP_SourceRNC-ID",
+ "RANAP_SourceRNC-ID",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SourceRNC_ID_tags_1,
+ sizeof(asn_DEF_RANAP_SourceRNC_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_SourceRNC_ID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SourceRNC_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SourceRNC_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_SourceRNC_ID_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_SourceRNC_ID_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_SourceRNC_ID_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SourceRNC-ID.h b/src/ranap/RANAP_SourceRNC-ID.h
new file mode 100644
index 0000000..34ce4a1
--- /dev/null
+++ b/src/ranap/RANAP_SourceRNC-ID.h
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SourceRNC_ID_H_
+#define _RANAP_SourceRNC_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_PLMNidentity.h"
+#include "RANAP_RNC-ID.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SourceRNC-ID */
+typedef struct RANAP_SourceRNC_ID {
+ RANAP_PLMNidentity_t pLMNidentity;
+ RANAP_RNC_ID_t rNC_ID;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_SourceRNC_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SourceRNC_ID;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SourceRNC_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SourceRNC-ToTargetRNC-TransparentContainer.c b/src/ranap/RANAP_SourceRNC-ToTargetRNC-TransparentContainer.c
new file mode 100644
index 0000000..f546dc2
--- /dev/null
+++ b/src/ranap/RANAP_SourceRNC-ToTargetRNC-TransparentContainer.c
@@ -0,0 +1,183 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SourceRNC-ToTargetRNC-TransparentContainer.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_SourceRNC_ToTargetRNC_TransparentContainer_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SourceRNC_ToTargetRNC_TransparentContainer, rRC_Container),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RRC_Container,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rRC-Container"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SourceRNC_ToTargetRNC_TransparentContainer, numberOfIuInstances),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_NumberOfIuInstances,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "numberOfIuInstances"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SourceRNC_ToTargetRNC_TransparentContainer, relocationType),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RelocationType,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "relocationType"
+ },
+ { ATF_POINTER, 10, offsetof(struct RANAP_SourceRNC_ToTargetRNC_TransparentContainer, chosenIntegrityProtectionAlgorithm),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_ChosenIntegrityProtectionAlgorithm,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "chosenIntegrityProtectionAlgorithm"
+ },
+ { ATF_POINTER, 9, offsetof(struct RANAP_SourceRNC_ToTargetRNC_TransparentContainer, integrityProtectionKey),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IntegrityProtectionKey,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "integrityProtectionKey"
+ },
+ { ATF_POINTER, 8, offsetof(struct RANAP_SourceRNC_ToTargetRNC_TransparentContainer, chosenEncryptionAlgorithForSignalling),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_ChosenEncryptionAlgorithm,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "chosenEncryptionAlgorithForSignalling"
+ },
+ { ATF_POINTER, 7, offsetof(struct RANAP_SourceRNC_ToTargetRNC_TransparentContainer, cipheringKey),
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_EncryptionKey,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "cipheringKey"
+ },
+ { ATF_POINTER, 6, offsetof(struct RANAP_SourceRNC_ToTargetRNC_TransparentContainer, chosenEncryptionAlgorithForCS),
+ (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_ChosenEncryptionAlgorithm,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "chosenEncryptionAlgorithForCS"
+ },
+ { ATF_POINTER, 5, offsetof(struct RANAP_SourceRNC_ToTargetRNC_TransparentContainer, chosenEncryptionAlgorithForPS),
+ (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_ChosenEncryptionAlgorithm,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "chosenEncryptionAlgorithForPS"
+ },
+ { ATF_POINTER, 4, offsetof(struct RANAP_SourceRNC_ToTargetRNC_TransparentContainer, d_RNTI),
+ (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_D_RNTI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "d-RNTI"
+ },
+ { ATF_POINTER, 3, offsetof(struct RANAP_SourceRNC_ToTargetRNC_TransparentContainer, targetCellId),
+ (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TargetCellId,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "targetCellId"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_SourceRNC_ToTargetRNC_TransparentContainer, rAB_TrCH_Mapping),
+ (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RAB_TrCH_Mapping,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rAB-TrCH-Mapping"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_SourceRNC_ToTargetRNC_TransparentContainer, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (12 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_SourceRNC_ToTargetRNC_TransparentContainer_oms_1[] = { 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
+static const ber_tlv_tag_t asn_DEF_RANAP_SourceRNC_ToTargetRNC_TransparentContainer_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_SourceRNC_ToTargetRNC_TransparentContainer_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rRC-Container */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* numberOfIuInstances */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* relocationType */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* chosenIntegrityProtectionAlgorithm */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* integrityProtectionKey */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* chosenEncryptionAlgorithForSignalling */
+ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* cipheringKey */
+ { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* chosenEncryptionAlgorithForCS */
+ { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* chosenEncryptionAlgorithForPS */
+ { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* d-RNTI */
+ { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* targetCellId */
+ { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* rAB-TrCH-Mapping */
+ { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_SourceRNC_ToTargetRNC_TransparentContainer_specs_1 = {
+ sizeof(struct RANAP_SourceRNC_ToTargetRNC_TransparentContainer),
+ offsetof(struct RANAP_SourceRNC_ToTargetRNC_TransparentContainer, _asn_ctx),
+ asn_MAP_RANAP_SourceRNC_ToTargetRNC_TransparentContainer_tag2el_1,
+ 13, /* Count of tags in the map */
+ asn_MAP_RANAP_SourceRNC_ToTargetRNC_TransparentContainer_oms_1, /* Optional members */
+ 10, 0, /* Root/Additions */
+ 12, /* Start extensions */
+ 14 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SourceRNC_ToTargetRNC_TransparentContainer = {
+ "RANAP_SourceRNC-ToTargetRNC-TransparentContainer",
+ "RANAP_SourceRNC-ToTargetRNC-TransparentContainer",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SourceRNC_ToTargetRNC_TransparentContainer_tags_1,
+ sizeof(asn_DEF_RANAP_SourceRNC_ToTargetRNC_TransparentContainer_tags_1)
+ /sizeof(asn_DEF_RANAP_SourceRNC_ToTargetRNC_TransparentContainer_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SourceRNC_ToTargetRNC_TransparentContainer_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SourceRNC_ToTargetRNC_TransparentContainer_tags_1)
+ /sizeof(asn_DEF_RANAP_SourceRNC_ToTargetRNC_TransparentContainer_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_SourceRNC_ToTargetRNC_TransparentContainer_1,
+ 13, /* Elements count */
+ &asn_SPC_RANAP_SourceRNC_ToTargetRNC_TransparentContainer_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SourceRNC-ToTargetRNC-TransparentContainer.h b/src/ranap/RANAP_SourceRNC-ToTargetRNC-TransparentContainer.h
new file mode 100644
index 0000000..b7252f2
--- /dev/null
+++ b/src/ranap/RANAP_SourceRNC-ToTargetRNC-TransparentContainer.h
@@ -0,0 +1,63 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SourceRNC_ToTargetRNC_TransparentContainer_H_
+#define _RANAP_SourceRNC_ToTargetRNC_TransparentContainer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_RRC-Container.h"
+#include "RANAP_NumberOfIuInstances.h"
+#include "RANAP_RelocationType.h"
+#include "RANAP_ChosenIntegrityProtectionAlgorithm.h"
+#include "RANAP_IntegrityProtectionKey.h"
+#include "RANAP_ChosenEncryptionAlgorithm.h"
+#include "RANAP_EncryptionKey.h"
+#include "RANAP_D-RNTI.h"
+#include "RANAP_TargetCellId.h"
+#include "RANAP_RAB-TrCH-Mapping.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SourceRNC-ToTargetRNC-TransparentContainer */
+typedef struct RANAP_SourceRNC_ToTargetRNC_TransparentContainer {
+ RANAP_RRC_Container_t rRC_Container;
+ RANAP_NumberOfIuInstances_t numberOfIuInstances;
+ RANAP_RelocationType_t relocationType;
+ RANAP_ChosenIntegrityProtectionAlgorithm_t *chosenIntegrityProtectionAlgorithm /* OPTIONAL */;
+ RANAP_IntegrityProtectionKey_t *integrityProtectionKey /* OPTIONAL */;
+ RANAP_ChosenEncryptionAlgorithm_t *chosenEncryptionAlgorithForSignalling /* OPTIONAL */;
+ RANAP_EncryptionKey_t *cipheringKey /* OPTIONAL */;
+ RANAP_ChosenEncryptionAlgorithm_t *chosenEncryptionAlgorithForCS /* OPTIONAL */;
+ RANAP_ChosenEncryptionAlgorithm_t *chosenEncryptionAlgorithForPS /* OPTIONAL */;
+ RANAP_D_RNTI_t *d_RNTI /* OPTIONAL */;
+ RANAP_TargetCellId_t *targetCellId /* OPTIONAL */;
+ RANAP_RAB_TrCH_Mapping_t *rAB_TrCH_Mapping /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_SourceRNC_ToTargetRNC_TransparentContainer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SourceRNC_ToTargetRNC_TransparentContainer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SourceRNC_ToTargetRNC_TransparentContainer_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SourceStatisticsDescriptor.c b/src/ranap/RANAP_SourceStatisticsDescriptor.c
new file mode 100644
index 0000000..d07b8cf
--- /dev/null
+++ b/src/ranap/RANAP_SourceStatisticsDescriptor.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SourceStatisticsDescriptor.h"
+
+int
+RANAP_SourceStatisticsDescriptor_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_SourceStatisticsDescriptor_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_SourceStatisticsDescriptor_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_SourceStatisticsDescriptor_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_SourceStatisticsDescriptor_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SourceStatisticsDescriptor_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SourceStatisticsDescriptor_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_SourceStatisticsDescriptor_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_SourceStatisticsDescriptor_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SourceStatisticsDescriptor_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SourceStatisticsDescriptor_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_SourceStatisticsDescriptor_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_SourceStatisticsDescriptor_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SourceStatisticsDescriptor_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SourceStatisticsDescriptor_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SourceStatisticsDescriptor_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_SourceStatisticsDescriptor_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SourceStatisticsDescriptor_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_SourceStatisticsDescriptor_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SourceStatisticsDescriptor_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_SourceStatisticsDescriptor_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SourceStatisticsDescriptor_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_SourceStatisticsDescriptor_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_SourceStatisticsDescriptor_value2enum_1[] = {
+ { 0, 6, "speech" },
+ { 1, 7, "unknown" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_SourceStatisticsDescriptor_enum2value_1[] = {
+ 0, /* speech(0) */
+ 1 /* unknown(1) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_SourceStatisticsDescriptor_specs_1 = {
+ asn_MAP_RANAP_SourceStatisticsDescriptor_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_SourceStatisticsDescriptor_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_RANAP_SourceStatisticsDescriptor_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SourceStatisticsDescriptor = {
+ "RANAP_SourceStatisticsDescriptor",
+ "RANAP_SourceStatisticsDescriptor",
+ RANAP_SourceStatisticsDescriptor_free,
+ RANAP_SourceStatisticsDescriptor_print,
+ RANAP_SourceStatisticsDescriptor_constraint,
+ RANAP_SourceStatisticsDescriptor_decode_ber,
+ RANAP_SourceStatisticsDescriptor_encode_der,
+ RANAP_SourceStatisticsDescriptor_decode_xer,
+ RANAP_SourceStatisticsDescriptor_encode_xer,
+ RANAP_SourceStatisticsDescriptor_decode_uper,
+ RANAP_SourceStatisticsDescriptor_encode_uper,
+ RANAP_SourceStatisticsDescriptor_decode_aper,
+ RANAP_SourceStatisticsDescriptor_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SourceStatisticsDescriptor_tags_1,
+ sizeof(asn_DEF_RANAP_SourceStatisticsDescriptor_tags_1)
+ /sizeof(asn_DEF_RANAP_SourceStatisticsDescriptor_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SourceStatisticsDescriptor_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SourceStatisticsDescriptor_tags_1)
+ /sizeof(asn_DEF_RANAP_SourceStatisticsDescriptor_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_SourceStatisticsDescriptor_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_SourceStatisticsDescriptor_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SourceStatisticsDescriptor.h b/src/ranap/RANAP_SourceStatisticsDescriptor.h
new file mode 100644
index 0000000..5f459eb
--- /dev/null
+++ b/src/ranap/RANAP_SourceStatisticsDescriptor.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SourceStatisticsDescriptor_H_
+#define _RANAP_SourceStatisticsDescriptor_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_SourceStatisticsDescriptor {
+ RANAP_SourceStatisticsDescriptor_speech = 0,
+ RANAP_SourceStatisticsDescriptor_unknown = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_SourceStatisticsDescriptor;
+
+/* RANAP_SourceStatisticsDescriptor */
+typedef long RANAP_SourceStatisticsDescriptor_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SourceStatisticsDescriptor;
+asn_struct_free_f RANAP_SourceStatisticsDescriptor_free;
+asn_struct_print_f RANAP_SourceStatisticsDescriptor_print;
+asn_constr_check_f RANAP_SourceStatisticsDescriptor_constraint;
+ber_type_decoder_f RANAP_SourceStatisticsDescriptor_decode_ber;
+der_type_encoder_f RANAP_SourceStatisticsDescriptor_encode_der;
+xer_type_decoder_f RANAP_SourceStatisticsDescriptor_decode_xer;
+xer_type_encoder_f RANAP_SourceStatisticsDescriptor_encode_xer;
+per_type_decoder_f RANAP_SourceStatisticsDescriptor_decode_uper;
+per_type_encoder_f RANAP_SourceStatisticsDescriptor_encode_uper;
+per_type_decoder_f RANAP_SourceStatisticsDescriptor_decode_aper;
+per_type_encoder_f RANAP_SourceStatisticsDescriptor_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SourceStatisticsDescriptor_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SourceUTRANCellID.c b/src/ranap/RANAP_SourceUTRANCellID.c
new file mode 100644
index 0000000..9695d86
--- /dev/null
+++ b/src/ranap/RANAP_SourceUTRANCellID.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SourceUTRANCellID.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_SourceUTRANCellID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SourceUTRANCellID, pLMNidentity),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PLMNidentity,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "pLMNidentity"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SourceUTRANCellID, uTRANcellID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TargetCellId,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "uTRANcellID"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_SourceUTRANCellID, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_SourceUTRANCellID_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_SourceUTRANCellID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_SourceUTRANCellID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNidentity */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uTRANcellID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_SourceUTRANCellID_specs_1 = {
+ sizeof(struct RANAP_SourceUTRANCellID),
+ offsetof(struct RANAP_SourceUTRANCellID, _asn_ctx),
+ asn_MAP_RANAP_SourceUTRANCellID_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_SourceUTRANCellID_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SourceUTRANCellID = {
+ "RANAP_SourceUTRANCellID",
+ "RANAP_SourceUTRANCellID",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SourceUTRANCellID_tags_1,
+ sizeof(asn_DEF_RANAP_SourceUTRANCellID_tags_1)
+ /sizeof(asn_DEF_RANAP_SourceUTRANCellID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SourceUTRANCellID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SourceUTRANCellID_tags_1)
+ /sizeof(asn_DEF_RANAP_SourceUTRANCellID_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_SourceUTRANCellID_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_SourceUTRANCellID_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SourceUTRANCellID.h b/src/ranap/RANAP_SourceUTRANCellID.h
new file mode 100644
index 0000000..70977ef
--- /dev/null
+++ b/src/ranap/RANAP_SourceUTRANCellID.h
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SourceUTRANCellID_H_
+#define _RANAP_SourceUTRANCellID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_PLMNidentity.h"
+#include "RANAP_TargetCellId.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SourceUTRANCellID */
+typedef struct RANAP_SourceUTRANCellID {
+ RANAP_PLMNidentity_t pLMNidentity;
+ RANAP_TargetCellId_t uTRANcellID;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_SourceUTRANCellID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SourceUTRANCellID;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SourceUTRANCellID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SourceeNodeB-ToTargeteNodeB-TransparentContainer.c b/src/ranap/RANAP_SourceeNodeB-ToTargeteNodeB-TransparentContainer.c
new file mode 100644
index 0000000..f8e3037
--- /dev/null
+++ b/src/ranap/RANAP_SourceeNodeB-ToTargeteNodeB-TransparentContainer.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SourceeNodeB-ToTargeteNodeB-TransparentContainer.h"
+
+int
+RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static const ber_tlv_tag_t asn_DEF_RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer = {
+ "RANAP_SourceeNodeB-ToTargeteNodeB-TransparentContainer",
+ "RANAP_SourceeNodeB-ToTargeteNodeB-TransparentContainer",
+ RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_free,
+ RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_print,
+ RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_constraint,
+ RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_decode_ber,
+ RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_encode_der,
+ RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_decode_xer,
+ RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_encode_xer,
+ RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_decode_uper,
+ RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_encode_uper,
+ RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_decode_aper,
+ RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_tags_1,
+ sizeof(asn_DEF_RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_tags_1)
+ /sizeof(asn_DEF_RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_tags_1)
+ /sizeof(asn_DEF_RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_SourceeNodeB-ToTargeteNodeB-TransparentContainer.h b/src/ranap/RANAP_SourceeNodeB-ToTargeteNodeB-TransparentContainer.h
new file mode 100644
index 0000000..347fb40
--- /dev/null
+++ b/src/ranap/RANAP_SourceeNodeB-ToTargeteNodeB-TransparentContainer.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_H_
+#define _RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SourceeNodeB-ToTargeteNodeB-TransparentContainer */
+typedef OCTET_STRING_t RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer;
+asn_struct_free_f RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_free;
+asn_struct_print_f RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_print;
+asn_constr_check_f RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_constraint;
+ber_type_decoder_f RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_decode_ber;
+der_type_encoder_f RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_encode_der;
+xer_type_decoder_f RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_decode_xer;
+xer_type_encoder_f RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_encode_xer;
+per_type_decoder_f RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_decode_uper;
+per_type_encoder_f RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_encode_uper;
+per_type_decoder_f RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_decode_aper;
+per_type_encoder_f RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SourceeNodeB_ToTargeteNodeB_TransparentContainer_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SubflowSDU-Size.c b/src/ranap/RANAP_SubflowSDU-Size.c
new file mode 100644
index 0000000..1a39238
--- /dev/null
+++ b/src/ranap/RANAP_SubflowSDU-Size.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SubflowSDU-Size.h"
+
+int
+RANAP_SubflowSDU_Size_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 4095l)) {
+ /* 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 void
+RANAP_SubflowSDU_Size_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_SubflowSDU_Size_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_SubflowSDU_Size_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_SubflowSDU_Size_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SubflowSDU_Size_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SubflowSDU_Size_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_SubflowSDU_Size_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_SubflowSDU_Size_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SubflowSDU_Size_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SubflowSDU_Size_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_SubflowSDU_Size_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_SubflowSDU_Size_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SubflowSDU_Size_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SubflowSDU_Size_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SubflowSDU_Size_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_SubflowSDU_Size_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SubflowSDU_Size_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_SubflowSDU_Size_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SubflowSDU_Size_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_SubflowSDU_Size_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SubflowSDU_Size_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_SubflowSDU_Size_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 12, 12, 0l, 4095l } /* (0..4095) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_SubflowSDU_Size_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SubflowSDU_Size = {
+ "RANAP_SubflowSDU-Size",
+ "RANAP_SubflowSDU-Size",
+ RANAP_SubflowSDU_Size_free,
+ RANAP_SubflowSDU_Size_print,
+ RANAP_SubflowSDU_Size_constraint,
+ RANAP_SubflowSDU_Size_decode_ber,
+ RANAP_SubflowSDU_Size_encode_der,
+ RANAP_SubflowSDU_Size_decode_xer,
+ RANAP_SubflowSDU_Size_encode_xer,
+ RANAP_SubflowSDU_Size_decode_uper,
+ RANAP_SubflowSDU_Size_encode_uper,
+ RANAP_SubflowSDU_Size_decode_aper,
+ RANAP_SubflowSDU_Size_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SubflowSDU_Size_tags_1,
+ sizeof(asn_DEF_RANAP_SubflowSDU_Size_tags_1)
+ /sizeof(asn_DEF_RANAP_SubflowSDU_Size_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SubflowSDU_Size_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SubflowSDU_Size_tags_1)
+ /sizeof(asn_DEF_RANAP_SubflowSDU_Size_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_SubflowSDU_Size_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_SubflowSDU-Size.h b/src/ranap/RANAP_SubflowSDU-Size.h
new file mode 100644
index 0000000..daaf20b
--- /dev/null
+++ b/src/ranap/RANAP_SubflowSDU-Size.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SubflowSDU_Size_H_
+#define _RANAP_SubflowSDU_Size_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SubflowSDU-Size */
+typedef long RANAP_SubflowSDU_Size_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SubflowSDU_Size;
+asn_struct_free_f RANAP_SubflowSDU_Size_free;
+asn_struct_print_f RANAP_SubflowSDU_Size_print;
+asn_constr_check_f RANAP_SubflowSDU_Size_constraint;
+ber_type_decoder_f RANAP_SubflowSDU_Size_decode_ber;
+der_type_encoder_f RANAP_SubflowSDU_Size_encode_der;
+xer_type_decoder_f RANAP_SubflowSDU_Size_decode_xer;
+xer_type_encoder_f RANAP_SubflowSDU_Size_encode_xer;
+per_type_decoder_f RANAP_SubflowSDU_Size_decode_uper;
+per_type_encoder_f RANAP_SubflowSDU_Size_encode_uper;
+per_type_decoder_f RANAP_SubflowSDU_Size_decode_aper;
+per_type_encoder_f RANAP_SubflowSDU_Size_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SubflowSDU_Size_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SubscriberProfileIDforRFP.c b/src/ranap/RANAP_SubscriberProfileIDforRFP.c
new file mode 100644
index 0000000..c428153
--- /dev/null
+++ b/src/ranap/RANAP_SubscriberProfileIDforRFP.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SubscriberProfileIDforRFP.h"
+
+int
+RANAP_SubscriberProfileIDforRFP_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1l && value <= 256l)) {
+ /* 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 void
+RANAP_SubscriberProfileIDforRFP_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_SubscriberProfileIDforRFP_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_SubscriberProfileIDforRFP_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_SubscriberProfileIDforRFP_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SubscriberProfileIDforRFP_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SubscriberProfileIDforRFP_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_SubscriberProfileIDforRFP_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_SubscriberProfileIDforRFP_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SubscriberProfileIDforRFP_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SubscriberProfileIDforRFP_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_SubscriberProfileIDforRFP_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_SubscriberProfileIDforRFP_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SubscriberProfileIDforRFP_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SubscriberProfileIDforRFP_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SubscriberProfileIDforRFP_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_SubscriberProfileIDforRFP_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SubscriberProfileIDforRFP_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_SubscriberProfileIDforRFP_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SubscriberProfileIDforRFP_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_SubscriberProfileIDforRFP_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SubscriberProfileIDforRFP_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_SubscriberProfileIDforRFP_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 8, 8, 1l, 256l } /* (1..256) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_SubscriberProfileIDforRFP_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SubscriberProfileIDforRFP = {
+ "RANAP_SubscriberProfileIDforRFP",
+ "RANAP_SubscriberProfileIDforRFP",
+ RANAP_SubscriberProfileIDforRFP_free,
+ RANAP_SubscriberProfileIDforRFP_print,
+ RANAP_SubscriberProfileIDforRFP_constraint,
+ RANAP_SubscriberProfileIDforRFP_decode_ber,
+ RANAP_SubscriberProfileIDforRFP_encode_der,
+ RANAP_SubscriberProfileIDforRFP_decode_xer,
+ RANAP_SubscriberProfileIDforRFP_encode_xer,
+ RANAP_SubscriberProfileIDforRFP_decode_uper,
+ RANAP_SubscriberProfileIDforRFP_encode_uper,
+ RANAP_SubscriberProfileIDforRFP_decode_aper,
+ RANAP_SubscriberProfileIDforRFP_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SubscriberProfileIDforRFP_tags_1,
+ sizeof(asn_DEF_RANAP_SubscriberProfileIDforRFP_tags_1)
+ /sizeof(asn_DEF_RANAP_SubscriberProfileIDforRFP_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SubscriberProfileIDforRFP_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SubscriberProfileIDforRFP_tags_1)
+ /sizeof(asn_DEF_RANAP_SubscriberProfileIDforRFP_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_SubscriberProfileIDforRFP_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_SubscriberProfileIDforRFP.h b/src/ranap/RANAP_SubscriberProfileIDforRFP.h
new file mode 100644
index 0000000..984957b
--- /dev/null
+++ b/src/ranap/RANAP_SubscriberProfileIDforRFP.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SubscriberProfileIDforRFP_H_
+#define _RANAP_SubscriberProfileIDforRFP_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SubscriberProfileIDforRFP */
+typedef long RANAP_SubscriberProfileIDforRFP_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SubscriberProfileIDforRFP;
+asn_struct_free_f RANAP_SubscriberProfileIDforRFP_free;
+asn_struct_print_f RANAP_SubscriberProfileIDforRFP_print;
+asn_constr_check_f RANAP_SubscriberProfileIDforRFP_constraint;
+ber_type_decoder_f RANAP_SubscriberProfileIDforRFP_decode_ber;
+der_type_encoder_f RANAP_SubscriberProfileIDforRFP_encode_der;
+xer_type_decoder_f RANAP_SubscriberProfileIDforRFP_decode_xer;
+xer_type_encoder_f RANAP_SubscriberProfileIDforRFP_encode_xer;
+per_type_decoder_f RANAP_SubscriberProfileIDforRFP_decode_uper;
+per_type_encoder_f RANAP_SubscriberProfileIDforRFP_encode_uper;
+per_type_decoder_f RANAP_SubscriberProfileIDforRFP_decode_aper;
+per_type_encoder_f RANAP_SubscriberProfileIDforRFP_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SubscriberProfileIDforRFP_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SuccessfulOutcome.c b/src/ranap/RANAP_SuccessfulOutcome.c
new file mode 100644
index 0000000..bf11f31
--- /dev/null
+++ b/src/ranap/RANAP_SuccessfulOutcome.c
@@ -0,0 +1,81 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_SuccessfulOutcome.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_SuccessfulOutcome_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SuccessfulOutcome, procedureCode),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_ProcedureCode,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "procedureCode"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SuccessfulOutcome, criticality),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Criticality,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "criticality"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_SuccessfulOutcome, value),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ANY,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "value"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_SuccessfulOutcome_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_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 */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_SuccessfulOutcome_specs_1 = {
+ sizeof(struct RANAP_SuccessfulOutcome),
+ offsetof(struct RANAP_SuccessfulOutcome, _asn_ctx),
+ asn_MAP_RANAP_SuccessfulOutcome_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SuccessfulOutcome = {
+ "RANAP_SuccessfulOutcome",
+ "RANAP_SuccessfulOutcome",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SuccessfulOutcome_tags_1,
+ sizeof(asn_DEF_RANAP_SuccessfulOutcome_tags_1)
+ /sizeof(asn_DEF_RANAP_SuccessfulOutcome_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SuccessfulOutcome_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SuccessfulOutcome_tags_1)
+ /sizeof(asn_DEF_RANAP_SuccessfulOutcome_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_SuccessfulOutcome_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_SuccessfulOutcome_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SuccessfulOutcome.h b/src/ranap/RANAP_SuccessfulOutcome.h
new file mode 100644
index 0000000..d772a0f
--- /dev/null
+++ b/src/ranap/RANAP_SuccessfulOutcome.h
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_SuccessfulOutcome_H_
+#define _RANAP_SuccessfulOutcome_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_ProcedureCode.h"
+#include "RANAP_Criticality.h"
+#include <ANY.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SuccessfulOutcome */
+typedef struct RANAP_SuccessfulOutcome {
+ RANAP_ProcedureCode_t procedureCode;
+ RANAP_Criticality_t criticality;
+ ANY_t value;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_SuccessfulOutcome_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SuccessfulOutcome;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SuccessfulOutcome_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SupportedBitrate.c b/src/ranap/RANAP_SupportedBitrate.c
new file mode 100644
index 0000000..61b95fc
--- /dev/null
+++ b/src/ranap/RANAP_SupportedBitrate.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SupportedBitrate.h"
+
+int
+RANAP_SupportedBitrate_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1l && value <= 1000000000l)) {
+ /* 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 void
+RANAP_SupportedBitrate_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_SupportedBitrate_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_SupportedBitrate_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_SupportedBitrate_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SupportedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SupportedBitrate_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_SupportedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_SupportedBitrate_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SupportedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SupportedBitrate_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_SupportedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_SupportedBitrate_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_SupportedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_SupportedBitrate_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SupportedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_SupportedBitrate_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SupportedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_SupportedBitrate_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_SupportedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_SupportedBitrate_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_SupportedBitrate_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_SupportedBitrate_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 30, -1, 1l, 1000000000l } /* (1..1000000000,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_SupportedBitrate_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SupportedBitrate = {
+ "RANAP_SupportedBitrate",
+ "RANAP_SupportedBitrate",
+ RANAP_SupportedBitrate_free,
+ RANAP_SupportedBitrate_print,
+ RANAP_SupportedBitrate_constraint,
+ RANAP_SupportedBitrate_decode_ber,
+ RANAP_SupportedBitrate_encode_der,
+ RANAP_SupportedBitrate_decode_xer,
+ RANAP_SupportedBitrate_encode_xer,
+ RANAP_SupportedBitrate_decode_uper,
+ RANAP_SupportedBitrate_encode_uper,
+ RANAP_SupportedBitrate_decode_aper,
+ RANAP_SupportedBitrate_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SupportedBitrate_tags_1,
+ sizeof(asn_DEF_RANAP_SupportedBitrate_tags_1)
+ /sizeof(asn_DEF_RANAP_SupportedBitrate_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SupportedBitrate_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SupportedBitrate_tags_1)
+ /sizeof(asn_DEF_RANAP_SupportedBitrate_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_SupportedBitrate_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_SupportedBitrate.h b/src/ranap/RANAP_SupportedBitrate.h
new file mode 100644
index 0000000..a65f694
--- /dev/null
+++ b/src/ranap/RANAP_SupportedBitrate.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SupportedBitrate_H_
+#define _RANAP_SupportedBitrate_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SupportedBitrate */
+typedef long RANAP_SupportedBitrate_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SupportedBitrate;
+asn_struct_free_f RANAP_SupportedBitrate_free;
+asn_struct_print_f RANAP_SupportedBitrate_print;
+asn_constr_check_f RANAP_SupportedBitrate_constraint;
+ber_type_decoder_f RANAP_SupportedBitrate_decode_ber;
+der_type_encoder_f RANAP_SupportedBitrate_encode_der;
+xer_type_decoder_f RANAP_SupportedBitrate_decode_xer;
+xer_type_encoder_f RANAP_SupportedBitrate_encode_xer;
+per_type_decoder_f RANAP_SupportedBitrate_decode_uper;
+per_type_encoder_f RANAP_SupportedBitrate_encode_uper;
+per_type_decoder_f RANAP_SupportedBitrate_decode_aper;
+per_type_encoder_f RANAP_SupportedBitrate_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SupportedBitrate_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_SupportedRAB-ParameterBitrateList.c b/src/ranap/RANAP_SupportedRAB-ParameterBitrateList.c
new file mode 100644
index 0000000..7d32eca
--- /dev/null
+++ b/src/ranap/RANAP_SupportedRAB-ParameterBitrateList.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_SupportedRAB-ParameterBitrateList.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_SupportedRAB_ParameterBitrateList_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 1, 1, 1l, 2l } /* (SIZE(1..2)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_SupportedRAB_ParameterBitrateList_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_SupportedBitrate,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_SupportedRAB_ParameterBitrateList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_SupportedRAB_ParameterBitrateList_specs_1 = {
+ sizeof(struct RANAP_SupportedRAB_ParameterBitrateList),
+ offsetof(struct RANAP_SupportedRAB_ParameterBitrateList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_SupportedRAB_ParameterBitrateList = {
+ "RANAP_SupportedRAB-ParameterBitrateList",
+ "RANAP_SupportedRAB-ParameterBitrateList",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_SupportedRAB_ParameterBitrateList_tags_1,
+ sizeof(asn_DEF_RANAP_SupportedRAB_ParameterBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_SupportedRAB_ParameterBitrateList_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_SupportedRAB_ParameterBitrateList_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_SupportedRAB_ParameterBitrateList_tags_1)
+ /sizeof(asn_DEF_RANAP_SupportedRAB_ParameterBitrateList_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_SupportedRAB_ParameterBitrateList_constr_1,
+ asn_MBR_RANAP_SupportedRAB_ParameterBitrateList_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_SupportedRAB_ParameterBitrateList_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_SupportedRAB-ParameterBitrateList.h b/src/ranap/RANAP_SupportedRAB-ParameterBitrateList.h
new file mode 100644
index 0000000..17278b8
--- /dev/null
+++ b/src/ranap/RANAP_SupportedRAB-ParameterBitrateList.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_SupportedRAB_ParameterBitrateList_H_
+#define _RANAP_SupportedRAB_ParameterBitrateList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_SupportedBitrate.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_SupportedRAB-ParameterBitrateList */
+typedef struct RANAP_SupportedRAB_ParameterBitrateList {
+ A_SEQUENCE_OF(RANAP_SupportedBitrate_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_SupportedRAB_ParameterBitrateList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_SupportedRAB_ParameterBitrateList;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_SupportedRAB_ParameterBitrateList_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TAC.c b/src/ranap/RANAP_TAC.c
new file mode 100644
index 0000000..d1dde67
--- /dev/null
+++ b/src/ranap/RANAP_TAC.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TAC.h"
+
+int
+RANAP_TAC_constraint(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 == 2l)) {
+ /* 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 void
+RANAP_TAC_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_TAC_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_TAC_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_TAC_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TAC_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TAC_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_TAC_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_TAC_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TAC_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TAC_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_TAC_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_TAC_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TAC_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TAC_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TAC_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_TAC_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TAC_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_TAC_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TAC_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_TAC_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TAC_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_TAC_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 2l, 2l } /* (SIZE(2..2)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_TAC_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TAC = {
+ "RANAP_TAC",
+ "RANAP_TAC",
+ RANAP_TAC_free,
+ RANAP_TAC_print,
+ RANAP_TAC_constraint,
+ RANAP_TAC_decode_ber,
+ RANAP_TAC_encode_der,
+ RANAP_TAC_decode_xer,
+ RANAP_TAC_encode_xer,
+ RANAP_TAC_decode_uper,
+ RANAP_TAC_encode_uper,
+ RANAP_TAC_decode_aper,
+ RANAP_TAC_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TAC_tags_1,
+ sizeof(asn_DEF_RANAP_TAC_tags_1)
+ /sizeof(asn_DEF_RANAP_TAC_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TAC_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TAC_tags_1)
+ /sizeof(asn_DEF_RANAP_TAC_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_TAC_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_TAC.h b/src/ranap/RANAP_TAC.h
new file mode 100644
index 0000000..7b3e47b
--- /dev/null
+++ b/src/ranap/RANAP_TAC.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TAC_H_
+#define _RANAP_TAC_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TAC */
+typedef OCTET_STRING_t RANAP_TAC_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TAC;
+asn_struct_free_f RANAP_TAC_free;
+asn_struct_print_f RANAP_TAC_print;
+asn_constr_check_f RANAP_TAC_constraint;
+ber_type_decoder_f RANAP_TAC_decode_ber;
+der_type_encoder_f RANAP_TAC_encode_der;
+xer_type_decoder_f RANAP_TAC_decode_xer;
+xer_type_encoder_f RANAP_TAC_encode_xer;
+per_type_decoder_f RANAP_TAC_decode_uper;
+per_type_encoder_f RANAP_TAC_encode_uper;
+per_type_decoder_f RANAP_TAC_decode_aper;
+per_type_encoder_f RANAP_TAC_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TAC_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TAI.c b/src/ranap/RANAP_TAI.c
new file mode 100644
index 0000000..bbecc2c
--- /dev/null
+++ b/src/ranap/RANAP_TAI.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TAI.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_TAI_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_TAI, pLMNidentity),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PLMNidentity,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "pLMNidentity"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_TAI, tAC),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TAC,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "tAC"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_TAI, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_TAI_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_TAI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_TAI_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNidentity */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* tAC */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_TAI_specs_1 = {
+ sizeof(struct RANAP_TAI),
+ offsetof(struct RANAP_TAI, _asn_ctx),
+ asn_MAP_RANAP_TAI_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_TAI_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TAI = {
+ "RANAP_TAI",
+ "RANAP_TAI",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TAI_tags_1,
+ sizeof(asn_DEF_RANAP_TAI_tags_1)
+ /sizeof(asn_DEF_RANAP_TAI_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TAI_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TAI_tags_1)
+ /sizeof(asn_DEF_RANAP_TAI_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_TAI_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_TAI_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_TAI.h b/src/ranap/RANAP_TAI.h
new file mode 100644
index 0000000..106e5b9
--- /dev/null
+++ b/src/ranap/RANAP_TAI.h
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TAI_H_
+#define _RANAP_TAI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_PLMNidentity.h"
+#include "RANAP_TAC.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TAI */
+typedef struct RANAP_TAI {
+ RANAP_PLMNidentity_t pLMNidentity;
+ RANAP_TAC_t tAC;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_TAI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TAI;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TAI_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TBCD-STRING.c b/src/ranap/RANAP_TBCD-STRING.c
new file mode 100644
index 0000000..b577160
--- /dev/null
+++ b/src/ranap/RANAP_TBCD-STRING.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TBCD-STRING.h"
+
+int
+RANAP_TBCD_STRING_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_TBCD_STRING_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_TBCD_STRING_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_TBCD_STRING_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_TBCD_STRING_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TBCD_STRING_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TBCD_STRING_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_TBCD_STRING_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_TBCD_STRING_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TBCD_STRING_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TBCD_STRING_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_TBCD_STRING_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_TBCD_STRING_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TBCD_STRING_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TBCD_STRING_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TBCD_STRING_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_TBCD_STRING_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TBCD_STRING_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_TBCD_STRING_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TBCD_STRING_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_TBCD_STRING_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TBCD_STRING_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static const ber_tlv_tag_t asn_DEF_RANAP_TBCD_STRING_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TBCD_STRING = {
+ "RANAP_TBCD-STRING",
+ "RANAP_TBCD-STRING",
+ RANAP_TBCD_STRING_free,
+ RANAP_TBCD_STRING_print,
+ RANAP_TBCD_STRING_constraint,
+ RANAP_TBCD_STRING_decode_ber,
+ RANAP_TBCD_STRING_encode_der,
+ RANAP_TBCD_STRING_decode_xer,
+ RANAP_TBCD_STRING_encode_xer,
+ RANAP_TBCD_STRING_decode_uper,
+ RANAP_TBCD_STRING_encode_uper,
+ RANAP_TBCD_STRING_decode_aper,
+ RANAP_TBCD_STRING_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TBCD_STRING_tags_1,
+ sizeof(asn_DEF_RANAP_TBCD_STRING_tags_1)
+ /sizeof(asn_DEF_RANAP_TBCD_STRING_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TBCD_STRING_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TBCD_STRING_tags_1)
+ /sizeof(asn_DEF_RANAP_TBCD_STRING_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_TBCD-STRING.h b/src/ranap/RANAP_TBCD-STRING.h
new file mode 100644
index 0000000..b3787aa
--- /dev/null
+++ b/src/ranap/RANAP_TBCD-STRING.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TBCD_STRING_H_
+#define _RANAP_TBCD_STRING_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TBCD-STRING */
+typedef OCTET_STRING_t RANAP_TBCD_STRING_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TBCD_STRING;
+asn_struct_free_f RANAP_TBCD_STRING_free;
+asn_struct_print_f RANAP_TBCD_STRING_print;
+asn_constr_check_f RANAP_TBCD_STRING_constraint;
+ber_type_decoder_f RANAP_TBCD_STRING_decode_ber;
+der_type_encoder_f RANAP_TBCD_STRING_encode_der;
+xer_type_decoder_f RANAP_TBCD_STRING_decode_xer;
+xer_type_encoder_f RANAP_TBCD_STRING_encode_xer;
+per_type_decoder_f RANAP_TBCD_STRING_decode_uper;
+per_type_encoder_f RANAP_TBCD_STRING_encode_uper;
+per_type_decoder_f RANAP_TBCD_STRING_decode_aper;
+per_type_encoder_f RANAP_TBCD_STRING_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TBCD_STRING_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TMGI.c b/src/ranap/RANAP_TMGI.c
new file mode 100644
index 0000000..b76e777
--- /dev/null
+++ b/src/ranap/RANAP_TMGI.c
@@ -0,0 +1,114 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TMGI.h"
+
+static int
+memb_serviceID_constraint_1(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 == 3l)) {
+ /* Constraint 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_serviceID_constr_3 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 3l, 3l } /* (SIZE(3..3)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_TMGI_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_TMGI, pLMNidentity),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PLMNidentity,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "pLMNidentity"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_TMGI, serviceID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_OCTET_STRING,
+ memb_serviceID_constraint_1,
+ &asn_PER_memb_serviceID_constr_3,
+ 0,
+ "serviceID"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_TMGI, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_TMGI_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_TMGI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_TMGI_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNidentity */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* serviceID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_TMGI_specs_1 = {
+ sizeof(struct RANAP_TMGI),
+ offsetof(struct RANAP_TMGI, _asn_ctx),
+ asn_MAP_RANAP_TMGI_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_TMGI_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TMGI = {
+ "RANAP_TMGI",
+ "RANAP_TMGI",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TMGI_tags_1,
+ sizeof(asn_DEF_RANAP_TMGI_tags_1)
+ /sizeof(asn_DEF_RANAP_TMGI_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TMGI_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TMGI_tags_1)
+ /sizeof(asn_DEF_RANAP_TMGI_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_TMGI_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_TMGI_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_TMGI.h b/src/ranap/RANAP_TMGI.h
new file mode 100644
index 0000000..e09dd16
--- /dev/null
+++ b/src/ranap/RANAP_TMGI.h
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TMGI_H_
+#define _RANAP_TMGI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_PLMNidentity.h"
+#include <OCTET_STRING.h>
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TMGI */
+typedef struct RANAP_TMGI {
+ RANAP_PLMNidentity_t pLMNidentity;
+ OCTET_STRING_t serviceID;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_TMGI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TMGI;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TMGI_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TMSI.c b/src/ranap/RANAP_TMSI.c
new file mode 100644
index 0000000..d7b3212
--- /dev/null
+++ b/src/ranap/RANAP_TMSI.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TMSI.h"
+
+int
+RANAP_TMSI_constraint(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 == 4l)) {
+ /* 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 void
+RANAP_TMSI_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_TMSI_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_TMSI_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_TMSI_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TMSI_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TMSI_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_TMSI_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_TMSI_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TMSI_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TMSI_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_TMSI_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_TMSI_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TMSI_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TMSI_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TMSI_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_TMSI_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TMSI_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_TMSI_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TMSI_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_TMSI_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TMSI_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_TMSI_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 4l, 4l } /* (SIZE(4..4)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_TMSI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TMSI = {
+ "RANAP_TMSI",
+ "RANAP_TMSI",
+ RANAP_TMSI_free,
+ RANAP_TMSI_print,
+ RANAP_TMSI_constraint,
+ RANAP_TMSI_decode_ber,
+ RANAP_TMSI_encode_der,
+ RANAP_TMSI_decode_xer,
+ RANAP_TMSI_encode_xer,
+ RANAP_TMSI_decode_uper,
+ RANAP_TMSI_encode_uper,
+ RANAP_TMSI_decode_aper,
+ RANAP_TMSI_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TMSI_tags_1,
+ sizeof(asn_DEF_RANAP_TMSI_tags_1)
+ /sizeof(asn_DEF_RANAP_TMSI_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TMSI_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TMSI_tags_1)
+ /sizeof(asn_DEF_RANAP_TMSI_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_TMSI_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_TMSI.h b/src/ranap/RANAP_TMSI.h
new file mode 100644
index 0000000..f4d4c4d
--- /dev/null
+++ b/src/ranap/RANAP_TMSI.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TMSI_H_
+#define _RANAP_TMSI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TMSI */
+typedef OCTET_STRING_t RANAP_TMSI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TMSI;
+asn_struct_free_f RANAP_TMSI_free;
+asn_struct_print_f RANAP_TMSI_print;
+asn_constr_check_f RANAP_TMSI_constraint;
+ber_type_decoder_f RANAP_TMSI_decode_ber;
+der_type_encoder_f RANAP_TMSI_encode_der;
+xer_type_decoder_f RANAP_TMSI_decode_xer;
+xer_type_encoder_f RANAP_TMSI_encode_xer;
+per_type_decoder_f RANAP_TMSI_decode_uper;
+per_type_encoder_f RANAP_TMSI_encode_uper;
+per_type_decoder_f RANAP_TMSI_decode_aper;
+per_type_encoder_f RANAP_TMSI_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TMSI_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Target-ToSource-TransparentContainer.c b/src/ranap/RANAP_Target-ToSource-TransparentContainer.c
new file mode 100644
index 0000000..68fe629
--- /dev/null
+++ b/src/ranap/RANAP_Target-ToSource-TransparentContainer.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Target-ToSource-TransparentContainer.h"
+
+int
+RANAP_Target_ToSource_TransparentContainer_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_Target_ToSource_TransparentContainer_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_Target_ToSource_TransparentContainer_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Target_ToSource_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Target_ToSource_TransparentContainer_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Target_ToSource_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Target_ToSource_TransparentContainer_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Target_ToSource_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Target_ToSource_TransparentContainer_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Target_ToSource_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Target_ToSource_TransparentContainer_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Target_ToSource_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Target_ToSource_TransparentContainer_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Target_ToSource_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Target_ToSource_TransparentContainer_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Target_ToSource_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Target_ToSource_TransparentContainer_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Target_ToSource_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Target_ToSource_TransparentContainer_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Target_ToSource_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Target_ToSource_TransparentContainer_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Target_ToSource_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static const ber_tlv_tag_t asn_DEF_RANAP_Target_ToSource_TransparentContainer_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Target_ToSource_TransparentContainer = {
+ "RANAP_Target-ToSource-TransparentContainer",
+ "RANAP_Target-ToSource-TransparentContainer",
+ RANAP_Target_ToSource_TransparentContainer_free,
+ RANAP_Target_ToSource_TransparentContainer_print,
+ RANAP_Target_ToSource_TransparentContainer_constraint,
+ RANAP_Target_ToSource_TransparentContainer_decode_ber,
+ RANAP_Target_ToSource_TransparentContainer_encode_der,
+ RANAP_Target_ToSource_TransparentContainer_decode_xer,
+ RANAP_Target_ToSource_TransparentContainer_encode_xer,
+ RANAP_Target_ToSource_TransparentContainer_decode_uper,
+ RANAP_Target_ToSource_TransparentContainer_encode_uper,
+ RANAP_Target_ToSource_TransparentContainer_decode_aper,
+ RANAP_Target_ToSource_TransparentContainer_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Target_ToSource_TransparentContainer_tags_1,
+ sizeof(asn_DEF_RANAP_Target_ToSource_TransparentContainer_tags_1)
+ /sizeof(asn_DEF_RANAP_Target_ToSource_TransparentContainer_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Target_ToSource_TransparentContainer_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Target_ToSource_TransparentContainer_tags_1)
+ /sizeof(asn_DEF_RANAP_Target_ToSource_TransparentContainer_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_Target-ToSource-TransparentContainer.h b/src/ranap/RANAP_Target-ToSource-TransparentContainer.h
new file mode 100644
index 0000000..0b82065
--- /dev/null
+++ b/src/ranap/RANAP_Target-ToSource-TransparentContainer.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Target_ToSource_TransparentContainer_H_
+#define _RANAP_Target_ToSource_TransparentContainer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Target-ToSource-TransparentContainer */
+typedef OCTET_STRING_t RANAP_Target_ToSource_TransparentContainer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Target_ToSource_TransparentContainer;
+asn_struct_free_f RANAP_Target_ToSource_TransparentContainer_free;
+asn_struct_print_f RANAP_Target_ToSource_TransparentContainer_print;
+asn_constr_check_f RANAP_Target_ToSource_TransparentContainer_constraint;
+ber_type_decoder_f RANAP_Target_ToSource_TransparentContainer_decode_ber;
+der_type_encoder_f RANAP_Target_ToSource_TransparentContainer_encode_der;
+xer_type_decoder_f RANAP_Target_ToSource_TransparentContainer_decode_xer;
+xer_type_encoder_f RANAP_Target_ToSource_TransparentContainer_encode_xer;
+per_type_decoder_f RANAP_Target_ToSource_TransparentContainer_decode_uper;
+per_type_encoder_f RANAP_Target_ToSource_TransparentContainer_encode_uper;
+per_type_decoder_f RANAP_Target_ToSource_TransparentContainer_decode_aper;
+per_type_encoder_f RANAP_Target_ToSource_TransparentContainer_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Target_ToSource_TransparentContainer_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TargetBSS-ToSourceBSS-TransparentContainer.c b/src/ranap/RANAP_TargetBSS-ToSourceBSS-TransparentContainer.c
new file mode 100644
index 0000000..903f329
--- /dev/null
+++ b/src/ranap/RANAP_TargetBSS-ToSourceBSS-TransparentContainer.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TargetBSS-ToSourceBSS-TransparentContainer.h"
+
+int
+RANAP_TargetBSS_ToSourceBSS_TransparentContainer_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_TargetBSS_ToSourceBSS_TransparentContainer_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_TargetBSS_ToSourceBSS_TransparentContainer_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_TargetBSS_ToSourceBSS_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_TargetBSS_ToSourceBSS_TransparentContainer_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TargetBSS_ToSourceBSS_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TargetBSS_ToSourceBSS_TransparentContainer_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_TargetBSS_ToSourceBSS_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_TargetBSS_ToSourceBSS_TransparentContainer_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TargetBSS_ToSourceBSS_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TargetBSS_ToSourceBSS_TransparentContainer_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_TargetBSS_ToSourceBSS_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_TargetBSS_ToSourceBSS_TransparentContainer_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TargetBSS_ToSourceBSS_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TargetBSS_ToSourceBSS_TransparentContainer_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TargetBSS_ToSourceBSS_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_TargetBSS_ToSourceBSS_TransparentContainer_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TargetBSS_ToSourceBSS_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_TargetBSS_ToSourceBSS_TransparentContainer_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TargetBSS_ToSourceBSS_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_TargetBSS_ToSourceBSS_TransparentContainer_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TargetBSS_ToSourceBSS_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static const ber_tlv_tag_t asn_DEF_RANAP_TargetBSS_ToSourceBSS_TransparentContainer_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TargetBSS_ToSourceBSS_TransparentContainer = {
+ "RANAP_TargetBSS-ToSourceBSS-TransparentContainer",
+ "RANAP_TargetBSS-ToSourceBSS-TransparentContainer",
+ RANAP_TargetBSS_ToSourceBSS_TransparentContainer_free,
+ RANAP_TargetBSS_ToSourceBSS_TransparentContainer_print,
+ RANAP_TargetBSS_ToSourceBSS_TransparentContainer_constraint,
+ RANAP_TargetBSS_ToSourceBSS_TransparentContainer_decode_ber,
+ RANAP_TargetBSS_ToSourceBSS_TransparentContainer_encode_der,
+ RANAP_TargetBSS_ToSourceBSS_TransparentContainer_decode_xer,
+ RANAP_TargetBSS_ToSourceBSS_TransparentContainer_encode_xer,
+ RANAP_TargetBSS_ToSourceBSS_TransparentContainer_decode_uper,
+ RANAP_TargetBSS_ToSourceBSS_TransparentContainer_encode_uper,
+ RANAP_TargetBSS_ToSourceBSS_TransparentContainer_decode_aper,
+ RANAP_TargetBSS_ToSourceBSS_TransparentContainer_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TargetBSS_ToSourceBSS_TransparentContainer_tags_1,
+ sizeof(asn_DEF_RANAP_TargetBSS_ToSourceBSS_TransparentContainer_tags_1)
+ /sizeof(asn_DEF_RANAP_TargetBSS_ToSourceBSS_TransparentContainer_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TargetBSS_ToSourceBSS_TransparentContainer_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TargetBSS_ToSourceBSS_TransparentContainer_tags_1)
+ /sizeof(asn_DEF_RANAP_TargetBSS_ToSourceBSS_TransparentContainer_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_TargetBSS-ToSourceBSS-TransparentContainer.h b/src/ranap/RANAP_TargetBSS-ToSourceBSS-TransparentContainer.h
new file mode 100644
index 0000000..9ee065e
--- /dev/null
+++ b/src/ranap/RANAP_TargetBSS-ToSourceBSS-TransparentContainer.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TargetBSS_ToSourceBSS_TransparentContainer_H_
+#define _RANAP_TargetBSS_ToSourceBSS_TransparentContainer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TargetBSS-ToSourceBSS-TransparentContainer */
+typedef OCTET_STRING_t RANAP_TargetBSS_ToSourceBSS_TransparentContainer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TargetBSS_ToSourceBSS_TransparentContainer;
+asn_struct_free_f RANAP_TargetBSS_ToSourceBSS_TransparentContainer_free;
+asn_struct_print_f RANAP_TargetBSS_ToSourceBSS_TransparentContainer_print;
+asn_constr_check_f RANAP_TargetBSS_ToSourceBSS_TransparentContainer_constraint;
+ber_type_decoder_f RANAP_TargetBSS_ToSourceBSS_TransparentContainer_decode_ber;
+der_type_encoder_f RANAP_TargetBSS_ToSourceBSS_TransparentContainer_encode_der;
+xer_type_decoder_f RANAP_TargetBSS_ToSourceBSS_TransparentContainer_decode_xer;
+xer_type_encoder_f RANAP_TargetBSS_ToSourceBSS_TransparentContainer_encode_xer;
+per_type_decoder_f RANAP_TargetBSS_ToSourceBSS_TransparentContainer_decode_uper;
+per_type_encoder_f RANAP_TargetBSS_ToSourceBSS_TransparentContainer_encode_uper;
+per_type_decoder_f RANAP_TargetBSS_ToSourceBSS_TransparentContainer_decode_aper;
+per_type_encoder_f RANAP_TargetBSS_ToSourceBSS_TransparentContainer_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TargetBSS_ToSourceBSS_TransparentContainer_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TargetCellId.c b/src/ranap/RANAP_TargetCellId.c
new file mode 100644
index 0000000..3dcc855
--- /dev/null
+++ b/src/ranap/RANAP_TargetCellId.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TargetCellId.h"
+
+int
+RANAP_TargetCellId_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 268435455l)) {
+ /* 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 void
+RANAP_TargetCellId_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_TargetCellId_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_TargetCellId_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_TargetCellId_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TargetCellId_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TargetCellId_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_TargetCellId_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_TargetCellId_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TargetCellId_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TargetCellId_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_TargetCellId_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_TargetCellId_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TargetCellId_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TargetCellId_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TargetCellId_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_TargetCellId_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TargetCellId_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_TargetCellId_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TargetCellId_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_TargetCellId_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TargetCellId_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_TargetCellId_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 28, -1, 0l, 268435455l } /* (0..268435455) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_TargetCellId_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TargetCellId = {
+ "RANAP_TargetCellId",
+ "RANAP_TargetCellId",
+ RANAP_TargetCellId_free,
+ RANAP_TargetCellId_print,
+ RANAP_TargetCellId_constraint,
+ RANAP_TargetCellId_decode_ber,
+ RANAP_TargetCellId_encode_der,
+ RANAP_TargetCellId_decode_xer,
+ RANAP_TargetCellId_encode_xer,
+ RANAP_TargetCellId_decode_uper,
+ RANAP_TargetCellId_encode_uper,
+ RANAP_TargetCellId_decode_aper,
+ RANAP_TargetCellId_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TargetCellId_tags_1,
+ sizeof(asn_DEF_RANAP_TargetCellId_tags_1)
+ /sizeof(asn_DEF_RANAP_TargetCellId_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TargetCellId_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TargetCellId_tags_1)
+ /sizeof(asn_DEF_RANAP_TargetCellId_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_TargetCellId_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_TargetCellId.h b/src/ranap/RANAP_TargetCellId.h
new file mode 100644
index 0000000..06dcb01
--- /dev/null
+++ b/src/ranap/RANAP_TargetCellId.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TargetCellId_H_
+#define _RANAP_TargetCellId_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TargetCellId */
+typedef long RANAP_TargetCellId_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TargetCellId;
+asn_struct_free_f RANAP_TargetCellId_free;
+asn_struct_print_f RANAP_TargetCellId_print;
+asn_constr_check_f RANAP_TargetCellId_constraint;
+ber_type_decoder_f RANAP_TargetCellId_decode_ber;
+der_type_encoder_f RANAP_TargetCellId_encode_der;
+xer_type_decoder_f RANAP_TargetCellId_decode_xer;
+xer_type_encoder_f RANAP_TargetCellId_encode_xer;
+per_type_decoder_f RANAP_TargetCellId_decode_uper;
+per_type_encoder_f RANAP_TargetCellId_encode_uper;
+per_type_decoder_f RANAP_TargetCellId_decode_aper;
+per_type_encoder_f RANAP_TargetCellId_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TargetCellId_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TargetENB-ID.c b/src/ranap/RANAP_TargetENB-ID.c
new file mode 100644
index 0000000..5b83983
--- /dev/null
+++ b/src/ranap/RANAP_TargetENB-ID.c
@@ -0,0 +1,93 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TargetENB-ID.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_TargetENB_ID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_TargetENB_ID, pLMNidentity),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PLMNidentity,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "pLMNidentity"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_TargetENB_ID, eNB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANAP_ENB_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "eNB-ID"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_TargetENB_ID, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_TargetENB_ID, selectedTAI),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TAI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "selectedTAI"
+ },
+};
+static const int asn_MAP_RANAP_TargetENB_ID_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_TargetENB_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_TargetENB_ID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNidentity */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* eNB-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* iE-Extensions */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* selectedTAI */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_TargetENB_ID_specs_1 = {
+ sizeof(struct RANAP_TargetENB_ID),
+ offsetof(struct RANAP_TargetENB_ID, _asn_ctx),
+ asn_MAP_RANAP_TargetENB_ID_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_RANAP_TargetENB_ID_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 3, /* Start extensions */
+ 5 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TargetENB_ID = {
+ "RANAP_TargetENB-ID",
+ "RANAP_TargetENB-ID",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TargetENB_ID_tags_1,
+ sizeof(asn_DEF_RANAP_TargetENB_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_TargetENB_ID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TargetENB_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TargetENB_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_TargetENB_ID_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_TargetENB_ID_1,
+ 4, /* Elements count */
+ &asn_SPC_RANAP_TargetENB_ID_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_TargetENB-ID.h b/src/ranap/RANAP_TargetENB-ID.h
new file mode 100644
index 0000000..aa0dc0f
--- /dev/null
+++ b/src/ranap/RANAP_TargetENB-ID.h
@@ -0,0 +1,47 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TargetENB_ID_H_
+#define _RANAP_TargetENB_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_PLMNidentity.h"
+#include "RANAP_ENB-ID.h"
+#include "RANAP_IE-Extensions.h"
+#include "RANAP_TAI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TargetENB-ID */
+typedef struct RANAP_TargetENB_ID {
+ RANAP_PLMNidentity_t pLMNidentity;
+ RANAP_ENB_ID_t eNB_ID;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ RANAP_TAI_t selectedTAI;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_TargetENB_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TargetENB_ID;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TargetENB_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TargetID.c b/src/ranap/RANAP_TargetID.c
new file mode 100644
index 0000000..34572e8
--- /dev/null
+++ b/src/ranap/RANAP_TargetID.c
@@ -0,0 +1,82 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TargetID.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_TargetID_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_TargetID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_TargetID, choice.targetRNC_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TargetRNC_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "targetRNC-ID"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_TargetID, choice.cGI),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_CGI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "cGI"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_TargetID, choice.targeteNB_ID),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TargetENB_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "targeteNB-ID"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_TargetID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* targetRNC-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cGI */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* targeteNB-ID */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_TargetID_specs_1 = {
+ sizeof(struct RANAP_TargetID),
+ offsetof(struct RANAP_TargetID, _asn_ctx),
+ offsetof(struct RANAP_TargetID, present),
+ sizeof(((struct RANAP_TargetID *)0)->present),
+ asn_MAP_RANAP_TargetID_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TargetID = {
+ "RANAP_TargetID",
+ "RANAP_TargetID",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_TargetID_constr_1,
+ asn_MBR_RANAP_TargetID_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_TargetID_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_TargetID.h b/src/ranap/RANAP_TargetID.h
new file mode 100644
index 0000000..9f767a7
--- /dev/null
+++ b/src/ranap/RANAP_TargetID.h
@@ -0,0 +1,57 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TargetID_H_
+#define _RANAP_TargetID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_TargetRNC-ID.h"
+#include "RANAP_CGI.h"
+#include "RANAP_TargetENB-ID.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_TargetID_PR {
+ RANAP_TargetID_PR_NOTHING, /* No components present */
+ RANAP_TargetID_PR_targetRNC_ID,
+ RANAP_TargetID_PR_cGI,
+ /* Extensions may appear below */
+ RANAP_TargetID_PR_targeteNB_ID
+} RANAP_TargetID_PR;
+
+/* RANAP_TargetID */
+typedef struct RANAP_TargetID {
+ RANAP_TargetID_PR present;
+ union RANAP_TargetID_u {
+ RANAP_TargetRNC_ID_t targetRNC_ID;
+ RANAP_CGI_t cGI;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ RANAP_TargetENB_ID_t targeteNB_ID;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_TargetID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TargetID;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TargetID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TargetRNC-ID.c b/src/ranap/RANAP_TargetRNC-ID.c
new file mode 100644
index 0000000..b8cfe12
--- /dev/null
+++ b/src/ranap/RANAP_TargetRNC-ID.c
@@ -0,0 +1,93 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TargetRNC-ID.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_TargetRNC_ID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_TargetRNC_ID, lAI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_LAI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "lAI"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_TargetRNC_ID, rAC),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RAC,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rAC"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_TargetRNC_ID, rNC_ID),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RNC_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rNC-ID"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_TargetRNC_ID, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_TargetRNC_ID_oms_1[] = { 1, 3 };
+static const ber_tlv_tag_t asn_DEF_RANAP_TargetRNC_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_TargetRNC_ID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lAI */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rAC */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* rNC-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_TargetRNC_ID_specs_1 = {
+ sizeof(struct RANAP_TargetRNC_ID),
+ offsetof(struct RANAP_TargetRNC_ID, _asn_ctx),
+ asn_MAP_RANAP_TargetRNC_ID_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_RANAP_TargetRNC_ID_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TargetRNC_ID = {
+ "RANAP_TargetRNC-ID",
+ "RANAP_TargetRNC-ID",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TargetRNC_ID_tags_1,
+ sizeof(asn_DEF_RANAP_TargetRNC_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_TargetRNC_ID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TargetRNC_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TargetRNC_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_TargetRNC_ID_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_TargetRNC_ID_1,
+ 4, /* Elements count */
+ &asn_SPC_RANAP_TargetRNC_ID_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_TargetRNC-ID.h b/src/ranap/RANAP_TargetRNC-ID.h
new file mode 100644
index 0000000..e4bce7e
--- /dev/null
+++ b/src/ranap/RANAP_TargetRNC-ID.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TargetRNC_ID_H_
+#define _RANAP_TargetRNC_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_LAI.h"
+#include "RANAP_RAC.h"
+#include "RANAP_RNC-ID.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TargetRNC-ID */
+typedef struct RANAP_TargetRNC_ID {
+ RANAP_LAI_t lAI;
+ RANAP_RAC_t *rAC /* OPTIONAL */;
+ RANAP_RNC_ID_t rNC_ID;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_TargetRNC_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TargetRNC_ID;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TargetRNC_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TargetRNC-ToSourceRNC-TransparentContainer.c b/src/ranap/RANAP_TargetRNC-ToSourceRNC-TransparentContainer.c
new file mode 100644
index 0000000..c7aec3a
--- /dev/null
+++ b/src/ranap/RANAP_TargetRNC-ToSourceRNC-TransparentContainer.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TargetRNC-ToSourceRNC-TransparentContainer.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_TargetRNC_ToSourceRNC_TransparentContainer_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_TargetRNC_ToSourceRNC_TransparentContainer, rRC_Container),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_RRC_Container,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "rRC-Container"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_TargetRNC_ToSourceRNC_TransparentContainer, d_RNTI),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_D_RNTI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "d-RNTI"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_TargetRNC_ToSourceRNC_TransparentContainer, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_TargetRNC_ToSourceRNC_TransparentContainer_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_TargetRNC_ToSourceRNC_TransparentContainer_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_TargetRNC_ToSourceRNC_TransparentContainer_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rRC-Container */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* d-RNTI */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_TargetRNC_ToSourceRNC_TransparentContainer_specs_1 = {
+ sizeof(struct RANAP_TargetRNC_ToSourceRNC_TransparentContainer),
+ offsetof(struct RANAP_TargetRNC_ToSourceRNC_TransparentContainer, _asn_ctx),
+ asn_MAP_RANAP_TargetRNC_ToSourceRNC_TransparentContainer_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_TargetRNC_ToSourceRNC_TransparentContainer_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TargetRNC_ToSourceRNC_TransparentContainer = {
+ "RANAP_TargetRNC-ToSourceRNC-TransparentContainer",
+ "RANAP_TargetRNC-ToSourceRNC-TransparentContainer",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TargetRNC_ToSourceRNC_TransparentContainer_tags_1,
+ sizeof(asn_DEF_RANAP_TargetRNC_ToSourceRNC_TransparentContainer_tags_1)
+ /sizeof(asn_DEF_RANAP_TargetRNC_ToSourceRNC_TransparentContainer_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TargetRNC_ToSourceRNC_TransparentContainer_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TargetRNC_ToSourceRNC_TransparentContainer_tags_1)
+ /sizeof(asn_DEF_RANAP_TargetRNC_ToSourceRNC_TransparentContainer_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_TargetRNC_ToSourceRNC_TransparentContainer_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_TargetRNC_ToSourceRNC_TransparentContainer_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_TargetRNC-ToSourceRNC-TransparentContainer.h b/src/ranap/RANAP_TargetRNC-ToSourceRNC-TransparentContainer.h
new file mode 100644
index 0000000..11b4ac0
--- /dev/null
+++ b/src/ranap/RANAP_TargetRNC-ToSourceRNC-TransparentContainer.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TargetRNC_ToSourceRNC_TransparentContainer_H_
+#define _RANAP_TargetRNC_ToSourceRNC_TransparentContainer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_RRC-Container.h"
+#include "RANAP_D-RNTI.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TargetRNC-ToSourceRNC-TransparentContainer */
+typedef struct RANAP_TargetRNC_ToSourceRNC_TransparentContainer {
+ RANAP_RRC_Container_t rRC_Container;
+ RANAP_D_RNTI_t *d_RNTI /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_TargetRNC_ToSourceRNC_TransparentContainer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TargetRNC_ToSourceRNC_TransparentContainer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TargetRNC_ToSourceRNC_TransparentContainer_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TargeteNodeB-ToSourceeNodeB-TransparentContainer.c b/src/ranap/RANAP_TargeteNodeB-ToSourceeNodeB-TransparentContainer.c
new file mode 100644
index 0000000..40ec851
--- /dev/null
+++ b/src/ranap/RANAP_TargeteNodeB-ToSourceeNodeB-TransparentContainer.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TargeteNodeB-ToSourceeNodeB-TransparentContainer.h"
+
+int
+RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static const ber_tlv_tag_t asn_DEF_RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer = {
+ "RANAP_TargeteNodeB-ToSourceeNodeB-TransparentContainer",
+ "RANAP_TargeteNodeB-ToSourceeNodeB-TransparentContainer",
+ RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_free,
+ RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_print,
+ RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_constraint,
+ RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_decode_ber,
+ RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_encode_der,
+ RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_decode_xer,
+ RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_encode_xer,
+ RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_decode_uper,
+ RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_encode_uper,
+ RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_decode_aper,
+ RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_tags_1,
+ sizeof(asn_DEF_RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_tags_1)
+ /sizeof(asn_DEF_RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_tags_1)
+ /sizeof(asn_DEF_RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_TargeteNodeB-ToSourceeNodeB-TransparentContainer.h b/src/ranap/RANAP_TargeteNodeB-ToSourceeNodeB-TransparentContainer.h
new file mode 100644
index 0000000..82f02cd
--- /dev/null
+++ b/src/ranap/RANAP_TargeteNodeB-ToSourceeNodeB-TransparentContainer.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_H_
+#define _RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TargeteNodeB-ToSourceeNodeB-TransparentContainer */
+typedef OCTET_STRING_t RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer;
+asn_struct_free_f RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_free;
+asn_struct_print_f RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_print;
+asn_constr_check_f RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_constraint;
+ber_type_decoder_f RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_decode_ber;
+der_type_encoder_f RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_encode_der;
+xer_type_decoder_f RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_decode_xer;
+xer_type_encoder_f RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_encode_xer;
+per_type_decoder_f RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_decode_uper;
+per_type_encoder_f RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_encode_uper;
+per_type_decoder_f RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_decode_aper;
+per_type_encoder_f RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TargeteNodeB_ToSourceeNodeB_TransparentContainer_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TemporaryUE-ID.c b/src/ranap/RANAP_TemporaryUE-ID.c
new file mode 100644
index 0000000..4d2fa89
--- /dev/null
+++ b/src/ranap/RANAP_TemporaryUE-ID.c
@@ -0,0 +1,72 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TemporaryUE-ID.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_TemporaryUE_ID_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_TemporaryUE_ID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_TemporaryUE_ID, choice.tMSI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TMSI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "tMSI"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_TemporaryUE_ID, choice.p_TMSI),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_P_TMSI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "p-TMSI"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_TemporaryUE_ID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tMSI */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* p-TMSI */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_TemporaryUE_ID_specs_1 = {
+ sizeof(struct RANAP_TemporaryUE_ID),
+ offsetof(struct RANAP_TemporaryUE_ID, _asn_ctx),
+ offsetof(struct RANAP_TemporaryUE_ID, present),
+ sizeof(((struct RANAP_TemporaryUE_ID *)0)->present),
+ asn_MAP_RANAP_TemporaryUE_ID_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TemporaryUE_ID = {
+ "RANAP_TemporaryUE-ID",
+ "RANAP_TemporaryUE-ID",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_TemporaryUE_ID_constr_1,
+ asn_MBR_RANAP_TemporaryUE_ID_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_TemporaryUE_ID_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_TemporaryUE-ID.h b/src/ranap/RANAP_TemporaryUE-ID.h
new file mode 100644
index 0000000..37face9
--- /dev/null
+++ b/src/ranap/RANAP_TemporaryUE-ID.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TemporaryUE_ID_H_
+#define _RANAP_TemporaryUE_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_TMSI.h"
+#include "RANAP_P-TMSI.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_TemporaryUE_ID_PR {
+ RANAP_TemporaryUE_ID_PR_NOTHING, /* No components present */
+ RANAP_TemporaryUE_ID_PR_tMSI,
+ RANAP_TemporaryUE_ID_PR_p_TMSI,
+ /* Extensions may appear below */
+
+} RANAP_TemporaryUE_ID_PR;
+
+/* RANAP_TemporaryUE-ID */
+typedef struct RANAP_TemporaryUE_ID {
+ RANAP_TemporaryUE_ID_PR present;
+ union RANAP_TemporaryUE_ID_u {
+ RANAP_TMSI_t tMSI;
+ RANAP_P_TMSI_t p_TMSI;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_TemporaryUE_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TemporaryUE_ID;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TemporaryUE_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Time-UE-StayedInCell-EnhancedGranularity.c b/src/ranap/RANAP_Time-UE-StayedInCell-EnhancedGranularity.c
new file mode 100644
index 0000000..25c7953
--- /dev/null
+++ b/src/ranap/RANAP_Time-UE-StayedInCell-EnhancedGranularity.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Time-UE-StayedInCell-EnhancedGranularity.h"
+
+int
+RANAP_Time_UE_StayedInCell_EnhancedGranularity_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 40950l)) {
+ /* 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 void
+RANAP_Time_UE_StayedInCell_EnhancedGranularity_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_Time_UE_StayedInCell_EnhancedGranularity_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Time_UE_StayedInCell_EnhancedGranularity_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Time_UE_StayedInCell_EnhancedGranularity_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Time_UE_StayedInCell_EnhancedGranularity_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Time_UE_StayedInCell_EnhancedGranularity_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Time_UE_StayedInCell_EnhancedGranularity_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Time_UE_StayedInCell_EnhancedGranularity_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Time_UE_StayedInCell_EnhancedGranularity_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Time_UE_StayedInCell_EnhancedGranularity_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Time_UE_StayedInCell_EnhancedGranularity_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Time_UE_StayedInCell_EnhancedGranularity_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Time_UE_StayedInCell_EnhancedGranularity_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Time_UE_StayedInCell_EnhancedGranularity_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Time_UE_StayedInCell_EnhancedGranularity_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Time_UE_StayedInCell_EnhancedGranularity_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Time_UE_StayedInCell_EnhancedGranularity_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Time_UE_StayedInCell_EnhancedGranularity_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Time_UE_StayedInCell_EnhancedGranularity_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Time_UE_StayedInCell_EnhancedGranularity_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Time_UE_StayedInCell_EnhancedGranularity_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_Time_UE_StayedInCell_EnhancedGranularity_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0l, 40950l } /* (0..40950) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Time_UE_StayedInCell_EnhancedGranularity_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Time_UE_StayedInCell_EnhancedGranularity = {
+ "RANAP_Time-UE-StayedInCell-EnhancedGranularity",
+ "RANAP_Time-UE-StayedInCell-EnhancedGranularity",
+ RANAP_Time_UE_StayedInCell_EnhancedGranularity_free,
+ RANAP_Time_UE_StayedInCell_EnhancedGranularity_print,
+ RANAP_Time_UE_StayedInCell_EnhancedGranularity_constraint,
+ RANAP_Time_UE_StayedInCell_EnhancedGranularity_decode_ber,
+ RANAP_Time_UE_StayedInCell_EnhancedGranularity_encode_der,
+ RANAP_Time_UE_StayedInCell_EnhancedGranularity_decode_xer,
+ RANAP_Time_UE_StayedInCell_EnhancedGranularity_encode_xer,
+ RANAP_Time_UE_StayedInCell_EnhancedGranularity_decode_uper,
+ RANAP_Time_UE_StayedInCell_EnhancedGranularity_encode_uper,
+ RANAP_Time_UE_StayedInCell_EnhancedGranularity_decode_aper,
+ RANAP_Time_UE_StayedInCell_EnhancedGranularity_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Time_UE_StayedInCell_EnhancedGranularity_tags_1,
+ sizeof(asn_DEF_RANAP_Time_UE_StayedInCell_EnhancedGranularity_tags_1)
+ /sizeof(asn_DEF_RANAP_Time_UE_StayedInCell_EnhancedGranularity_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Time_UE_StayedInCell_EnhancedGranularity_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Time_UE_StayedInCell_EnhancedGranularity_tags_1)
+ /sizeof(asn_DEF_RANAP_Time_UE_StayedInCell_EnhancedGranularity_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Time_UE_StayedInCell_EnhancedGranularity_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_Time-UE-StayedInCell-EnhancedGranularity.h b/src/ranap/RANAP_Time-UE-StayedInCell-EnhancedGranularity.h
new file mode 100644
index 0000000..f525d6a
--- /dev/null
+++ b/src/ranap/RANAP_Time-UE-StayedInCell-EnhancedGranularity.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Time_UE_StayedInCell_EnhancedGranularity_H_
+#define _RANAP_Time_UE_StayedInCell_EnhancedGranularity_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Time-UE-StayedInCell-EnhancedGranularity */
+typedef long RANAP_Time_UE_StayedInCell_EnhancedGranularity_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Time_UE_StayedInCell_EnhancedGranularity;
+asn_struct_free_f RANAP_Time_UE_StayedInCell_EnhancedGranularity_free;
+asn_struct_print_f RANAP_Time_UE_StayedInCell_EnhancedGranularity_print;
+asn_constr_check_f RANAP_Time_UE_StayedInCell_EnhancedGranularity_constraint;
+ber_type_decoder_f RANAP_Time_UE_StayedInCell_EnhancedGranularity_decode_ber;
+der_type_encoder_f RANAP_Time_UE_StayedInCell_EnhancedGranularity_encode_der;
+xer_type_decoder_f RANAP_Time_UE_StayedInCell_EnhancedGranularity_decode_xer;
+xer_type_encoder_f RANAP_Time_UE_StayedInCell_EnhancedGranularity_encode_xer;
+per_type_decoder_f RANAP_Time_UE_StayedInCell_EnhancedGranularity_decode_uper;
+per_type_encoder_f RANAP_Time_UE_StayedInCell_EnhancedGranularity_encode_uper;
+per_type_decoder_f RANAP_Time_UE_StayedInCell_EnhancedGranularity_decode_aper;
+per_type_encoder_f RANAP_Time_UE_StayedInCell_EnhancedGranularity_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Time_UE_StayedInCell_EnhancedGranularity_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_Time-UE-StayedInCell.c b/src/ranap/RANAP_Time-UE-StayedInCell.c
new file mode 100644
index 0000000..a869a7d
--- /dev/null
+++ b/src/ranap/RANAP_Time-UE-StayedInCell.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_Time-UE-StayedInCell.h"
+
+int
+RANAP_Time_UE_StayedInCell_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 4095l)) {
+ /* 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 void
+RANAP_Time_UE_StayedInCell_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_Time_UE_StayedInCell_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_Time_UE_StayedInCell_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_Time_UE_StayedInCell_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Time_UE_StayedInCell_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Time_UE_StayedInCell_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_Time_UE_StayedInCell_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_Time_UE_StayedInCell_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Time_UE_StayedInCell_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Time_UE_StayedInCell_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_Time_UE_StayedInCell_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_Time_UE_StayedInCell_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_Time_UE_StayedInCell_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_Time_UE_StayedInCell_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Time_UE_StayedInCell_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_Time_UE_StayedInCell_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Time_UE_StayedInCell_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_Time_UE_StayedInCell_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_Time_UE_StayedInCell_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_Time_UE_StayedInCell_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_Time_UE_StayedInCell_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_Time_UE_StayedInCell_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 12, 12, 0l, 4095l } /* (0..4095) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_Time_UE_StayedInCell_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_Time_UE_StayedInCell = {
+ "RANAP_Time-UE-StayedInCell",
+ "RANAP_Time-UE-StayedInCell",
+ RANAP_Time_UE_StayedInCell_free,
+ RANAP_Time_UE_StayedInCell_print,
+ RANAP_Time_UE_StayedInCell_constraint,
+ RANAP_Time_UE_StayedInCell_decode_ber,
+ RANAP_Time_UE_StayedInCell_encode_der,
+ RANAP_Time_UE_StayedInCell_decode_xer,
+ RANAP_Time_UE_StayedInCell_encode_xer,
+ RANAP_Time_UE_StayedInCell_decode_uper,
+ RANAP_Time_UE_StayedInCell_encode_uper,
+ RANAP_Time_UE_StayedInCell_decode_aper,
+ RANAP_Time_UE_StayedInCell_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_Time_UE_StayedInCell_tags_1,
+ sizeof(asn_DEF_RANAP_Time_UE_StayedInCell_tags_1)
+ /sizeof(asn_DEF_RANAP_Time_UE_StayedInCell_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_Time_UE_StayedInCell_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_Time_UE_StayedInCell_tags_1)
+ /sizeof(asn_DEF_RANAP_Time_UE_StayedInCell_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_Time_UE_StayedInCell_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_Time-UE-StayedInCell.h b/src/ranap/RANAP_Time-UE-StayedInCell.h
new file mode 100644
index 0000000..d87a899
--- /dev/null
+++ b/src/ranap/RANAP_Time-UE-StayedInCell.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_Time_UE_StayedInCell_H_
+#define _RANAP_Time_UE_StayedInCell_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_Time-UE-StayedInCell */
+typedef long RANAP_Time_UE_StayedInCell_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_Time_UE_StayedInCell;
+asn_struct_free_f RANAP_Time_UE_StayedInCell_free;
+asn_struct_print_f RANAP_Time_UE_StayedInCell_print;
+asn_constr_check_f RANAP_Time_UE_StayedInCell_constraint;
+ber_type_decoder_f RANAP_Time_UE_StayedInCell_decode_ber;
+der_type_encoder_f RANAP_Time_UE_StayedInCell_encode_der;
+xer_type_decoder_f RANAP_Time_UE_StayedInCell_decode_xer;
+xer_type_encoder_f RANAP_Time_UE_StayedInCell_encode_xer;
+per_type_decoder_f RANAP_Time_UE_StayedInCell_decode_uper;
+per_type_encoder_f RANAP_Time_UE_StayedInCell_encode_uper;
+per_type_decoder_f RANAP_Time_UE_StayedInCell_decode_aper;
+per_type_encoder_f RANAP_Time_UE_StayedInCell_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_Time_UE_StayedInCell_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TimeToMBMSDataTransfer.c b/src/ranap/RANAP_TimeToMBMSDataTransfer.c
new file mode 100644
index 0000000..c6e7c4d
--- /dev/null
+++ b/src/ranap/RANAP_TimeToMBMSDataTransfer.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TimeToMBMSDataTransfer.h"
+
+int
+RANAP_TimeToMBMSDataTransfer_constraint(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 == 1l)) {
+ /* 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 void
+RANAP_TimeToMBMSDataTransfer_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_TimeToMBMSDataTransfer_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_TimeToMBMSDataTransfer_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_TimeToMBMSDataTransfer_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TimeToMBMSDataTransfer_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TimeToMBMSDataTransfer_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_TimeToMBMSDataTransfer_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_TimeToMBMSDataTransfer_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TimeToMBMSDataTransfer_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TimeToMBMSDataTransfer_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_TimeToMBMSDataTransfer_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_TimeToMBMSDataTransfer_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TimeToMBMSDataTransfer_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TimeToMBMSDataTransfer_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TimeToMBMSDataTransfer_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_TimeToMBMSDataTransfer_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TimeToMBMSDataTransfer_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_TimeToMBMSDataTransfer_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TimeToMBMSDataTransfer_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_TimeToMBMSDataTransfer_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TimeToMBMSDataTransfer_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_TimeToMBMSDataTransfer_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 1l, 1l } /* (SIZE(1..1)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_TimeToMBMSDataTransfer_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TimeToMBMSDataTransfer = {
+ "RANAP_TimeToMBMSDataTransfer",
+ "RANAP_TimeToMBMSDataTransfer",
+ RANAP_TimeToMBMSDataTransfer_free,
+ RANAP_TimeToMBMSDataTransfer_print,
+ RANAP_TimeToMBMSDataTransfer_constraint,
+ RANAP_TimeToMBMSDataTransfer_decode_ber,
+ RANAP_TimeToMBMSDataTransfer_encode_der,
+ RANAP_TimeToMBMSDataTransfer_decode_xer,
+ RANAP_TimeToMBMSDataTransfer_encode_xer,
+ RANAP_TimeToMBMSDataTransfer_decode_uper,
+ RANAP_TimeToMBMSDataTransfer_encode_uper,
+ RANAP_TimeToMBMSDataTransfer_decode_aper,
+ RANAP_TimeToMBMSDataTransfer_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TimeToMBMSDataTransfer_tags_1,
+ sizeof(asn_DEF_RANAP_TimeToMBMSDataTransfer_tags_1)
+ /sizeof(asn_DEF_RANAP_TimeToMBMSDataTransfer_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TimeToMBMSDataTransfer_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TimeToMBMSDataTransfer_tags_1)
+ /sizeof(asn_DEF_RANAP_TimeToMBMSDataTransfer_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_TimeToMBMSDataTransfer_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_TimeToMBMSDataTransfer.h b/src/ranap/RANAP_TimeToMBMSDataTransfer.h
new file mode 100644
index 0000000..31ede6e
--- /dev/null
+++ b/src/ranap/RANAP_TimeToMBMSDataTransfer.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TimeToMBMSDataTransfer_H_
+#define _RANAP_TimeToMBMSDataTransfer_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TimeToMBMSDataTransfer */
+typedef OCTET_STRING_t RANAP_TimeToMBMSDataTransfer_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TimeToMBMSDataTransfer;
+asn_struct_free_f RANAP_TimeToMBMSDataTransfer_free;
+asn_struct_print_f RANAP_TimeToMBMSDataTransfer_print;
+asn_constr_check_f RANAP_TimeToMBMSDataTransfer_constraint;
+ber_type_decoder_f RANAP_TimeToMBMSDataTransfer_decode_ber;
+der_type_encoder_f RANAP_TimeToMBMSDataTransfer_encode_der;
+xer_type_decoder_f RANAP_TimeToMBMSDataTransfer_decode_xer;
+xer_type_encoder_f RANAP_TimeToMBMSDataTransfer_encode_xer;
+per_type_decoder_f RANAP_TimeToMBMSDataTransfer_decode_uper;
+per_type_encoder_f RANAP_TimeToMBMSDataTransfer_encode_uper;
+per_type_decoder_f RANAP_TimeToMBMSDataTransfer_decode_aper;
+per_type_encoder_f RANAP_TimeToMBMSDataTransfer_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TimeToMBMSDataTransfer_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TimingDifferenceULDL.c b/src/ranap/RANAP_TimingDifferenceULDL.c
new file mode 100644
index 0000000..3845e82
--- /dev/null
+++ b/src/ranap/RANAP_TimingDifferenceULDL.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TimingDifferenceULDL.h"
+
+int
+RANAP_TimingDifferenceULDL_constraint(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 == 1l)) {
+ /* 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 void
+RANAP_TimingDifferenceULDL_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_TimingDifferenceULDL_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_TimingDifferenceULDL_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_TimingDifferenceULDL_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TimingDifferenceULDL_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TimingDifferenceULDL_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_TimingDifferenceULDL_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_TimingDifferenceULDL_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TimingDifferenceULDL_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TimingDifferenceULDL_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_TimingDifferenceULDL_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_TimingDifferenceULDL_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TimingDifferenceULDL_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TimingDifferenceULDL_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TimingDifferenceULDL_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_TimingDifferenceULDL_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TimingDifferenceULDL_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_TimingDifferenceULDL_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TimingDifferenceULDL_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_TimingDifferenceULDL_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TimingDifferenceULDL_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_TimingDifferenceULDL_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 1l, 1l } /* (SIZE(1..1)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_TimingDifferenceULDL_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TimingDifferenceULDL = {
+ "RANAP_TimingDifferenceULDL",
+ "RANAP_TimingDifferenceULDL",
+ RANAP_TimingDifferenceULDL_free,
+ RANAP_TimingDifferenceULDL_print,
+ RANAP_TimingDifferenceULDL_constraint,
+ RANAP_TimingDifferenceULDL_decode_ber,
+ RANAP_TimingDifferenceULDL_encode_der,
+ RANAP_TimingDifferenceULDL_decode_xer,
+ RANAP_TimingDifferenceULDL_encode_xer,
+ RANAP_TimingDifferenceULDL_decode_uper,
+ RANAP_TimingDifferenceULDL_encode_uper,
+ RANAP_TimingDifferenceULDL_decode_aper,
+ RANAP_TimingDifferenceULDL_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TimingDifferenceULDL_tags_1,
+ sizeof(asn_DEF_RANAP_TimingDifferenceULDL_tags_1)
+ /sizeof(asn_DEF_RANAP_TimingDifferenceULDL_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TimingDifferenceULDL_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TimingDifferenceULDL_tags_1)
+ /sizeof(asn_DEF_RANAP_TimingDifferenceULDL_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_TimingDifferenceULDL_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_TimingDifferenceULDL.h b/src/ranap/RANAP_TimingDifferenceULDL.h
new file mode 100644
index 0000000..7497493
--- /dev/null
+++ b/src/ranap/RANAP_TimingDifferenceULDL.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TimingDifferenceULDL_H_
+#define _RANAP_TimingDifferenceULDL_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TimingDifferenceULDL */
+typedef OCTET_STRING_t RANAP_TimingDifferenceULDL_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TimingDifferenceULDL;
+asn_struct_free_f RANAP_TimingDifferenceULDL_free;
+asn_struct_print_f RANAP_TimingDifferenceULDL_print;
+asn_constr_check_f RANAP_TimingDifferenceULDL_constraint;
+ber_type_decoder_f RANAP_TimingDifferenceULDL_decode_ber;
+der_type_encoder_f RANAP_TimingDifferenceULDL_encode_der;
+xer_type_decoder_f RANAP_TimingDifferenceULDL_decode_xer;
+xer_type_encoder_f RANAP_TimingDifferenceULDL_encode_xer;
+per_type_decoder_f RANAP_TimingDifferenceULDL_decode_uper;
+per_type_encoder_f RANAP_TimingDifferenceULDL_encode_uper;
+per_type_decoder_f RANAP_TimingDifferenceULDL_decode_aper;
+per_type_encoder_f RANAP_TimingDifferenceULDL_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TimingDifferenceULDL_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TrCH-ID-List.c b/src/ranap/RANAP_TrCH-ID-List.c
new file mode 100644
index 0000000..1509605
--- /dev/null
+++ b/src/ranap/RANAP_TrCH-ID-List.c
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TrCH-ID-List.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_TrCH_ID_List_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 3, 3, 1l, 7l } /* (SIZE(1..7)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_TrCH_ID_List_1[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_TrCH_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_TrCH_ID_List_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_RANAP_TrCH_ID_List_specs_1 = {
+ sizeof(struct RANAP_TrCH_ID_List),
+ offsetof(struct RANAP_TrCH_ID_List, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TrCH_ID_List = {
+ "RANAP_TrCH-ID-List",
+ "RANAP_TrCH-ID-List",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TrCH_ID_List_tags_1,
+ sizeof(asn_DEF_RANAP_TrCH_ID_List_tags_1)
+ /sizeof(asn_DEF_RANAP_TrCH_ID_List_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TrCH_ID_List_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TrCH_ID_List_tags_1)
+ /sizeof(asn_DEF_RANAP_TrCH_ID_List_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_TrCH_ID_List_constr_1,
+ asn_MBR_RANAP_TrCH_ID_List_1,
+ 1, /* Single element */
+ &asn_SPC_RANAP_TrCH_ID_List_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_TrCH-ID-List.h b/src/ranap/RANAP_TrCH-ID-List.h
new file mode 100644
index 0000000..b474910
--- /dev/null
+++ b/src/ranap/RANAP_TrCH-ID-List.h
@@ -0,0 +1,38 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TrCH_ID_List_H_
+#define _RANAP_TrCH_ID_List_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_TrCH-ID.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TrCH-ID-List */
+typedef struct RANAP_TrCH_ID_List {
+ A_SEQUENCE_OF(RANAP_TrCH_ID_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_TrCH_ID_List_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TrCH_ID_List;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TrCH_ID_List_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TrCH-ID.c b/src/ranap/RANAP_TrCH-ID.c
new file mode 100644
index 0000000..b4d7ce6
--- /dev/null
+++ b/src/ranap/RANAP_TrCH-ID.c
@@ -0,0 +1,93 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TrCH-ID.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_TrCH_ID_1[] = {
+ { ATF_POINTER, 4, offsetof(struct RANAP_TrCH_ID, dCH_ID),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_DCH_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "dCH-ID"
+ },
+ { ATF_POINTER, 3, offsetof(struct RANAP_TrCH_ID, dSCH_ID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_DSCH_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "dSCH-ID"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_TrCH_ID, uSCH_ID),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_USCH_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "uSCH-ID"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_TrCH_ID, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_TrCH_ID_oms_1[] = { 0, 1, 2, 3 };
+static const ber_tlv_tag_t asn_DEF_RANAP_TrCH_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_TrCH_ID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* dCH-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dSCH-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* uSCH-ID */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_TrCH_ID_specs_1 = {
+ sizeof(struct RANAP_TrCH_ID),
+ offsetof(struct RANAP_TrCH_ID, _asn_ctx),
+ asn_MAP_RANAP_TrCH_ID_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_RANAP_TrCH_ID_oms_1, /* Optional members */
+ 4, 0, /* Root/Additions */
+ 3, /* Start extensions */
+ 5 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TrCH_ID = {
+ "RANAP_TrCH-ID",
+ "RANAP_TrCH-ID",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TrCH_ID_tags_1,
+ sizeof(asn_DEF_RANAP_TrCH_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_TrCH_ID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TrCH_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TrCH_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_TrCH_ID_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_TrCH_ID_1,
+ 4, /* Elements count */
+ &asn_SPC_RANAP_TrCH_ID_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_TrCH-ID.h b/src/ranap/RANAP_TrCH-ID.h
new file mode 100644
index 0000000..09501b8
--- /dev/null
+++ b/src/ranap/RANAP_TrCH-ID.h
@@ -0,0 +1,47 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TrCH_ID_H_
+#define _RANAP_TrCH_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_DCH-ID.h"
+#include "RANAP_DSCH-ID.h"
+#include "RANAP_USCH-ID.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TrCH-ID */
+typedef struct RANAP_TrCH_ID {
+ RANAP_DCH_ID_t *dCH_ID /* OPTIONAL */;
+ RANAP_DSCH_ID_t *dSCH_ID /* OPTIONAL */;
+ RANAP_USCH_ID_t *uSCH_ID /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_TrCH_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TrCH_ID;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TrCH_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TraceDepth.c b/src/ranap/RANAP_TraceDepth.c
new file mode 100644
index 0000000..9d4e35e
--- /dev/null
+++ b/src/ranap/RANAP_TraceDepth.c
@@ -0,0 +1,169 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TraceDepth.h"
+
+int
+RANAP_TraceDepth_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_TraceDepth_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_TraceDepth_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_TraceDepth_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_TraceDepth_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TraceDepth_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TraceDepth_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_TraceDepth_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_TraceDepth_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TraceDepth_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TraceDepth_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_TraceDepth_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_TraceDepth_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TraceDepth_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TraceDepth_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TraceDepth_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_TraceDepth_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TraceDepth_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_TraceDepth_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TraceDepth_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_TraceDepth_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TraceDepth_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_TraceDepth_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 2l } /* (0..2,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_TraceDepth_value2enum_1[] = {
+ { 0, 7, "minimum" },
+ { 1, 6, "medium" },
+ { 2, 7, "maximum" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_TraceDepth_enum2value_1[] = {
+ 2, /* maximum(2) */
+ 1, /* medium(1) */
+ 0 /* minimum(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_TraceDepth_specs_1 = {
+ asn_MAP_RANAP_TraceDepth_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_TraceDepth_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_RANAP_TraceDepth_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TraceDepth = {
+ "RANAP_TraceDepth",
+ "RANAP_TraceDepth",
+ RANAP_TraceDepth_free,
+ RANAP_TraceDepth_print,
+ RANAP_TraceDepth_constraint,
+ RANAP_TraceDepth_decode_ber,
+ RANAP_TraceDepth_encode_der,
+ RANAP_TraceDepth_decode_xer,
+ RANAP_TraceDepth_encode_xer,
+ RANAP_TraceDepth_decode_uper,
+ RANAP_TraceDepth_encode_uper,
+ RANAP_TraceDepth_decode_aper,
+ RANAP_TraceDepth_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TraceDepth_tags_1,
+ sizeof(asn_DEF_RANAP_TraceDepth_tags_1)
+ /sizeof(asn_DEF_RANAP_TraceDepth_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TraceDepth_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TraceDepth_tags_1)
+ /sizeof(asn_DEF_RANAP_TraceDepth_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_TraceDepth_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_TraceDepth_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_TraceDepth.h b/src/ranap/RANAP_TraceDepth.h
new file mode 100644
index 0000000..4bad74d
--- /dev/null
+++ b/src/ranap/RANAP_TraceDepth.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TraceDepth_H_
+#define _RANAP_TraceDepth_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_TraceDepth {
+ RANAP_TraceDepth_minimum = 0,
+ RANAP_TraceDepth_medium = 1,
+ RANAP_TraceDepth_maximum = 2
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_TraceDepth;
+
+/* RANAP_TraceDepth */
+typedef long RANAP_TraceDepth_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TraceDepth;
+asn_struct_free_f RANAP_TraceDepth_free;
+asn_struct_print_f RANAP_TraceDepth_print;
+asn_constr_check_f RANAP_TraceDepth_constraint;
+ber_type_decoder_f RANAP_TraceDepth_decode_ber;
+der_type_encoder_f RANAP_TraceDepth_encode_der;
+xer_type_decoder_f RANAP_TraceDepth_decode_xer;
+xer_type_encoder_f RANAP_TraceDepth_encode_xer;
+per_type_decoder_f RANAP_TraceDepth_decode_uper;
+per_type_encoder_f RANAP_TraceDepth_encode_uper;
+per_type_decoder_f RANAP_TraceDepth_decode_aper;
+per_type_encoder_f RANAP_TraceDepth_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TraceDepth_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TraceInformation.c b/src/ranap/RANAP_TraceInformation.c
new file mode 100644
index 0000000..dd3a1e6
--- /dev/null
+++ b/src/ranap/RANAP_TraceInformation.c
@@ -0,0 +1,93 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TraceInformation.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_TraceInformation_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_TraceInformation, traceReference),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TraceReference,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "traceReference"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_TraceInformation, ue_identity),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_RANAP_UE_ID,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "ue-identity"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_TraceInformation, tracePropagationParameters),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TracePropagationParameters,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "tracePropagationParameters"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_TraceInformation, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_TraceInformation_oms_1[] = { 2, 3 };
+static const ber_tlv_tag_t asn_DEF_RANAP_TraceInformation_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_TraceInformation_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* traceReference */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ue-identity */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* tracePropagationParameters */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_TraceInformation_specs_1 = {
+ sizeof(struct RANAP_TraceInformation),
+ offsetof(struct RANAP_TraceInformation, _asn_ctx),
+ asn_MAP_RANAP_TraceInformation_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_RANAP_TraceInformation_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 3, /* Start extensions */
+ 5 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TraceInformation = {
+ "RANAP_TraceInformation",
+ "RANAP_TraceInformation",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TraceInformation_tags_1,
+ sizeof(asn_DEF_RANAP_TraceInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_TraceInformation_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TraceInformation_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TraceInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_TraceInformation_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_TraceInformation_1,
+ 4, /* Elements count */
+ &asn_SPC_RANAP_TraceInformation_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_TraceInformation.h b/src/ranap/RANAP_TraceInformation.h
new file mode 100644
index 0000000..dcb2fc0
--- /dev/null
+++ b/src/ranap/RANAP_TraceInformation.h
@@ -0,0 +1,47 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TraceInformation_H_
+#define _RANAP_TraceInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_TraceReference.h"
+#include "RANAP_UE-ID.h"
+#include "RANAP_TracePropagationParameters.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TraceInformation */
+typedef struct RANAP_TraceInformation {
+ RANAP_TraceReference_t traceReference;
+ RANAP_UE_ID_t ue_identity;
+ RANAP_TracePropagationParameters_t *tracePropagationParameters /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_TraceInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TraceInformation;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TraceInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TracePropagationParameters.c b/src/ranap/RANAP_TracePropagationParameters.c
new file mode 100644
index 0000000..a09f7d0
--- /dev/null
+++ b/src/ranap/RANAP_TracePropagationParameters.c
@@ -0,0 +1,93 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TracePropagationParameters.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_TracePropagationParameters_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_TracePropagationParameters, traceRecordingSessionReference),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TraceRecordingSessionReference,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "traceRecordingSessionReference"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_TracePropagationParameters, traceDepth),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TraceDepth,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "traceDepth"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_TracePropagationParameters, listOfInterfacesToTrace),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_ListOfInterfacesToTrace,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "listOfInterfacesToTrace"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_TracePropagationParameters, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_TracePropagationParameters_oms_1[] = { 2, 3 };
+static const ber_tlv_tag_t asn_DEF_RANAP_TracePropagationParameters_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_TracePropagationParameters_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* traceRecordingSessionReference */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* traceDepth */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* listOfInterfacesToTrace */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_TracePropagationParameters_specs_1 = {
+ sizeof(struct RANAP_TracePropagationParameters),
+ offsetof(struct RANAP_TracePropagationParameters, _asn_ctx),
+ asn_MAP_RANAP_TracePropagationParameters_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_RANAP_TracePropagationParameters_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 3, /* Start extensions */
+ 5 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TracePropagationParameters = {
+ "RANAP_TracePropagationParameters",
+ "RANAP_TracePropagationParameters",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TracePropagationParameters_tags_1,
+ sizeof(asn_DEF_RANAP_TracePropagationParameters_tags_1)
+ /sizeof(asn_DEF_RANAP_TracePropagationParameters_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TracePropagationParameters_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TracePropagationParameters_tags_1)
+ /sizeof(asn_DEF_RANAP_TracePropagationParameters_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_TracePropagationParameters_1,
+ 4, /* Elements count */
+ &asn_SPC_RANAP_TracePropagationParameters_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_TracePropagationParameters.h b/src/ranap/RANAP_TracePropagationParameters.h
new file mode 100644
index 0000000..2ff5640
--- /dev/null
+++ b/src/ranap/RANAP_TracePropagationParameters.h
@@ -0,0 +1,47 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TracePropagationParameters_H_
+#define _RANAP_TracePropagationParameters_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_TraceRecordingSessionReference.h"
+#include "RANAP_TraceDepth.h"
+#include "RANAP_ListOfInterfacesToTrace.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TracePropagationParameters */
+typedef struct RANAP_TracePropagationParameters {
+ RANAP_TraceRecordingSessionReference_t traceRecordingSessionReference;
+ RANAP_TraceDepth_t traceDepth;
+ RANAP_ListOfInterfacesToTrace_t *listOfInterfacesToTrace /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_TracePropagationParameters_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TracePropagationParameters;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TracePropagationParameters_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TraceRecordingSessionInformation.c b/src/ranap/RANAP_TraceRecordingSessionInformation.c
new file mode 100644
index 0000000..1fd2e4c
--- /dev/null
+++ b/src/ranap/RANAP_TraceRecordingSessionInformation.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TraceRecordingSessionInformation.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_TraceRecordingSessionInformation_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_TraceRecordingSessionInformation, traceReference),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TraceReference,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "traceReference"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_TraceRecordingSessionInformation, traceRecordingSessionReference),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TraceRecordingSessionReference,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "traceRecordingSessionReference"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_TraceRecordingSessionInformation, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_TraceRecordingSessionInformation_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_TraceRecordingSessionInformation_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_TraceRecordingSessionInformation_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* traceReference */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* traceRecordingSessionReference */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_TraceRecordingSessionInformation_specs_1 = {
+ sizeof(struct RANAP_TraceRecordingSessionInformation),
+ offsetof(struct RANAP_TraceRecordingSessionInformation, _asn_ctx),
+ asn_MAP_RANAP_TraceRecordingSessionInformation_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_TraceRecordingSessionInformation_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TraceRecordingSessionInformation = {
+ "RANAP_TraceRecordingSessionInformation",
+ "RANAP_TraceRecordingSessionInformation",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TraceRecordingSessionInformation_tags_1,
+ sizeof(asn_DEF_RANAP_TraceRecordingSessionInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_TraceRecordingSessionInformation_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TraceRecordingSessionInformation_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TraceRecordingSessionInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_TraceRecordingSessionInformation_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_TraceRecordingSessionInformation_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_TraceRecordingSessionInformation_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_TraceRecordingSessionInformation.h b/src/ranap/RANAP_TraceRecordingSessionInformation.h
new file mode 100644
index 0000000..76c4d8e
--- /dev/null
+++ b/src/ranap/RANAP_TraceRecordingSessionInformation.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TraceRecordingSessionInformation_H_
+#define _RANAP_TraceRecordingSessionInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_TraceReference.h"
+#include "RANAP_TraceRecordingSessionReference.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TraceRecordingSessionInformation */
+typedef struct RANAP_TraceRecordingSessionInformation {
+ RANAP_TraceReference_t traceReference;
+ RANAP_TraceRecordingSessionReference_t traceRecordingSessionReference;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_TraceRecordingSessionInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TraceRecordingSessionInformation;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TraceRecordingSessionInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TraceRecordingSessionReference.c b/src/ranap/RANAP_TraceRecordingSessionReference.c
new file mode 100644
index 0000000..0c02124
--- /dev/null
+++ b/src/ranap/RANAP_TraceRecordingSessionReference.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TraceRecordingSessionReference.h"
+
+int
+RANAP_TraceRecordingSessionReference_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 65535l)) {
+ /* 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 void
+RANAP_TraceRecordingSessionReference_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_TraceRecordingSessionReference_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_TraceRecordingSessionReference_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_TraceRecordingSessionReference_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TraceRecordingSessionReference_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TraceRecordingSessionReference_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_TraceRecordingSessionReference_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_TraceRecordingSessionReference_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TraceRecordingSessionReference_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TraceRecordingSessionReference_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_TraceRecordingSessionReference_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_TraceRecordingSessionReference_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TraceRecordingSessionReference_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TraceRecordingSessionReference_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TraceRecordingSessionReference_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_TraceRecordingSessionReference_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TraceRecordingSessionReference_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_TraceRecordingSessionReference_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TraceRecordingSessionReference_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_TraceRecordingSessionReference_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TraceRecordingSessionReference_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_TraceRecordingSessionReference_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_TraceRecordingSessionReference_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TraceRecordingSessionReference = {
+ "RANAP_TraceRecordingSessionReference",
+ "RANAP_TraceRecordingSessionReference",
+ RANAP_TraceRecordingSessionReference_free,
+ RANAP_TraceRecordingSessionReference_print,
+ RANAP_TraceRecordingSessionReference_constraint,
+ RANAP_TraceRecordingSessionReference_decode_ber,
+ RANAP_TraceRecordingSessionReference_encode_der,
+ RANAP_TraceRecordingSessionReference_decode_xer,
+ RANAP_TraceRecordingSessionReference_encode_xer,
+ RANAP_TraceRecordingSessionReference_decode_uper,
+ RANAP_TraceRecordingSessionReference_encode_uper,
+ RANAP_TraceRecordingSessionReference_decode_aper,
+ RANAP_TraceRecordingSessionReference_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TraceRecordingSessionReference_tags_1,
+ sizeof(asn_DEF_RANAP_TraceRecordingSessionReference_tags_1)
+ /sizeof(asn_DEF_RANAP_TraceRecordingSessionReference_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TraceRecordingSessionReference_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TraceRecordingSessionReference_tags_1)
+ /sizeof(asn_DEF_RANAP_TraceRecordingSessionReference_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_TraceRecordingSessionReference_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_TraceRecordingSessionReference.h b/src/ranap/RANAP_TraceRecordingSessionReference.h
new file mode 100644
index 0000000..7545987
--- /dev/null
+++ b/src/ranap/RANAP_TraceRecordingSessionReference.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TraceRecordingSessionReference_H_
+#define _RANAP_TraceRecordingSessionReference_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TraceRecordingSessionReference */
+typedef long RANAP_TraceRecordingSessionReference_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TraceRecordingSessionReference;
+asn_struct_free_f RANAP_TraceRecordingSessionReference_free;
+asn_struct_print_f RANAP_TraceRecordingSessionReference_print;
+asn_constr_check_f RANAP_TraceRecordingSessionReference_constraint;
+ber_type_decoder_f RANAP_TraceRecordingSessionReference_decode_ber;
+der_type_encoder_f RANAP_TraceRecordingSessionReference_encode_der;
+xer_type_decoder_f RANAP_TraceRecordingSessionReference_decode_xer;
+xer_type_encoder_f RANAP_TraceRecordingSessionReference_encode_xer;
+per_type_decoder_f RANAP_TraceRecordingSessionReference_decode_uper;
+per_type_encoder_f RANAP_TraceRecordingSessionReference_encode_uper;
+per_type_decoder_f RANAP_TraceRecordingSessionReference_decode_aper;
+per_type_encoder_f RANAP_TraceRecordingSessionReference_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TraceRecordingSessionReference_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TraceReference.c b/src/ranap/RANAP_TraceReference.c
new file mode 100644
index 0000000..7dcac60
--- /dev/null
+++ b/src/ranap/RANAP_TraceReference.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TraceReference.h"
+
+int
+RANAP_TraceReference_constraint(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 >= 2l && size <= 3l)) {
+ /* 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 void
+RANAP_TraceReference_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_TraceReference_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_TraceReference_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_TraceReference_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TraceReference_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TraceReference_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_TraceReference_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_TraceReference_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TraceReference_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TraceReference_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_TraceReference_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_TraceReference_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TraceReference_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TraceReference_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TraceReference_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_TraceReference_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TraceReference_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_TraceReference_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TraceReference_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_TraceReference_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TraceReference_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_TraceReference_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 1, 1, 2l, 3l } /* (SIZE(2..3)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_TraceReference_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TraceReference = {
+ "RANAP_TraceReference",
+ "RANAP_TraceReference",
+ RANAP_TraceReference_free,
+ RANAP_TraceReference_print,
+ RANAP_TraceReference_constraint,
+ RANAP_TraceReference_decode_ber,
+ RANAP_TraceReference_encode_der,
+ RANAP_TraceReference_decode_xer,
+ RANAP_TraceReference_encode_xer,
+ RANAP_TraceReference_decode_uper,
+ RANAP_TraceReference_encode_uper,
+ RANAP_TraceReference_decode_aper,
+ RANAP_TraceReference_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TraceReference_tags_1,
+ sizeof(asn_DEF_RANAP_TraceReference_tags_1)
+ /sizeof(asn_DEF_RANAP_TraceReference_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TraceReference_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TraceReference_tags_1)
+ /sizeof(asn_DEF_RANAP_TraceReference_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_TraceReference_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_TraceReference.h b/src/ranap/RANAP_TraceReference.h
new file mode 100644
index 0000000..ab3069d
--- /dev/null
+++ b/src/ranap/RANAP_TraceReference.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TraceReference_H_
+#define _RANAP_TraceReference_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TraceReference */
+typedef OCTET_STRING_t RANAP_TraceReference_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TraceReference;
+asn_struct_free_f RANAP_TraceReference_free;
+asn_struct_print_f RANAP_TraceReference_print;
+asn_constr_check_f RANAP_TraceReference_constraint;
+ber_type_decoder_f RANAP_TraceReference_decode_ber;
+der_type_encoder_f RANAP_TraceReference_encode_der;
+xer_type_decoder_f RANAP_TraceReference_decode_xer;
+xer_type_encoder_f RANAP_TraceReference_encode_xer;
+per_type_decoder_f RANAP_TraceReference_decode_uper;
+per_type_encoder_f RANAP_TraceReference_encode_uper;
+per_type_decoder_f RANAP_TraceReference_decode_aper;
+per_type_encoder_f RANAP_TraceReference_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TraceReference_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TraceType.c b/src/ranap/RANAP_TraceType.c
new file mode 100644
index 0000000..536ee16
--- /dev/null
+++ b/src/ranap/RANAP_TraceType.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TraceType.h"
+
+int
+RANAP_TraceType_constraint(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 == 1l)) {
+ /* 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 void
+RANAP_TraceType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_TraceType_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_TraceType_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_TraceType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TraceType_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TraceType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_TraceType_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_TraceType_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TraceType_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TraceType_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_TraceType_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_TraceType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TraceType_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TraceType_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TraceType_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_TraceType_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TraceType_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_TraceType_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TraceType_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_TraceType_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TraceType_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_TraceType_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 1l, 1l } /* (SIZE(1..1)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_TraceType_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TraceType = {
+ "RANAP_TraceType",
+ "RANAP_TraceType",
+ RANAP_TraceType_free,
+ RANAP_TraceType_print,
+ RANAP_TraceType_constraint,
+ RANAP_TraceType_decode_ber,
+ RANAP_TraceType_encode_der,
+ RANAP_TraceType_decode_xer,
+ RANAP_TraceType_encode_xer,
+ RANAP_TraceType_decode_uper,
+ RANAP_TraceType_encode_uper,
+ RANAP_TraceType_decode_aper,
+ RANAP_TraceType_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TraceType_tags_1,
+ sizeof(asn_DEF_RANAP_TraceType_tags_1)
+ /sizeof(asn_DEF_RANAP_TraceType_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TraceType_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TraceType_tags_1)
+ /sizeof(asn_DEF_RANAP_TraceType_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_TraceType_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_TraceType.h b/src/ranap/RANAP_TraceType.h
new file mode 100644
index 0000000..1f1edb4
--- /dev/null
+++ b/src/ranap/RANAP_TraceType.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TraceType_H_
+#define _RANAP_TraceType_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TraceType */
+typedef OCTET_STRING_t RANAP_TraceType_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TraceType;
+asn_struct_free_f RANAP_TraceType_free;
+asn_struct_print_f RANAP_TraceType_print;
+asn_constr_check_f RANAP_TraceType_constraint;
+ber_type_decoder_f RANAP_TraceType_decode_ber;
+der_type_encoder_f RANAP_TraceType_encode_der;
+xer_type_decoder_f RANAP_TraceType_decode_xer;
+xer_type_encoder_f RANAP_TraceType_encode_xer;
+per_type_decoder_f RANAP_TraceType_decode_uper;
+per_type_encoder_f RANAP_TraceType_encode_uper;
+per_type_decoder_f RANAP_TraceType_decode_aper;
+per_type_encoder_f RANAP_TraceType_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TraceType_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TrafficClass.c b/src/ranap/RANAP_TrafficClass.c
new file mode 100644
index 0000000..f15e550
--- /dev/null
+++ b/src/ranap/RANAP_TrafficClass.c
@@ -0,0 +1,171 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TrafficClass.h"
+
+int
+RANAP_TrafficClass_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_TrafficClass_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_TrafficClass_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_TrafficClass_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_TrafficClass_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TrafficClass_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TrafficClass_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_TrafficClass_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_TrafficClass_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TrafficClass_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TrafficClass_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_TrafficClass_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_TrafficClass_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TrafficClass_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TrafficClass_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TrafficClass_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_TrafficClass_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TrafficClass_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_TrafficClass_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TrafficClass_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_TrafficClass_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TrafficClass_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_TrafficClass_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 3l } /* (0..3,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_TrafficClass_value2enum_1[] = {
+ { 0, 14, "conversational" },
+ { 1, 9, "streaming" },
+ { 2, 11, "interactive" },
+ { 3, 10, "background" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_TrafficClass_enum2value_1[] = {
+ 3, /* background(3) */
+ 0, /* conversational(0) */
+ 2, /* interactive(2) */
+ 1 /* streaming(1) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_TrafficClass_specs_1 = {
+ asn_MAP_RANAP_TrafficClass_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_TrafficClass_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_RANAP_TrafficClass_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TrafficClass = {
+ "RANAP_TrafficClass",
+ "RANAP_TrafficClass",
+ RANAP_TrafficClass_free,
+ RANAP_TrafficClass_print,
+ RANAP_TrafficClass_constraint,
+ RANAP_TrafficClass_decode_ber,
+ RANAP_TrafficClass_encode_der,
+ RANAP_TrafficClass_decode_xer,
+ RANAP_TrafficClass_encode_xer,
+ RANAP_TrafficClass_decode_uper,
+ RANAP_TrafficClass_encode_uper,
+ RANAP_TrafficClass_decode_aper,
+ RANAP_TrafficClass_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TrafficClass_tags_1,
+ sizeof(asn_DEF_RANAP_TrafficClass_tags_1)
+ /sizeof(asn_DEF_RANAP_TrafficClass_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TrafficClass_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TrafficClass_tags_1)
+ /sizeof(asn_DEF_RANAP_TrafficClass_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_TrafficClass_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_TrafficClass_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_TrafficClass.h b/src/ranap/RANAP_TrafficClass.h
new file mode 100644
index 0000000..5d3eb28
--- /dev/null
+++ b/src/ranap/RANAP_TrafficClass.h
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TrafficClass_H_
+#define _RANAP_TrafficClass_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_TrafficClass {
+ RANAP_TrafficClass_conversational = 0,
+ RANAP_TrafficClass_streaming = 1,
+ RANAP_TrafficClass_interactive = 2,
+ RANAP_TrafficClass_background = 3
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_TrafficClass;
+
+/* RANAP_TrafficClass */
+typedef long RANAP_TrafficClass_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TrafficClass;
+asn_struct_free_f RANAP_TrafficClass_free;
+asn_struct_print_f RANAP_TrafficClass_print;
+asn_constr_check_f RANAP_TrafficClass_constraint;
+ber_type_decoder_f RANAP_TrafficClass_decode_ber;
+der_type_encoder_f RANAP_TrafficClass_encode_der;
+xer_type_decoder_f RANAP_TrafficClass_decode_xer;
+xer_type_encoder_f RANAP_TrafficClass_encode_xer;
+per_type_decoder_f RANAP_TrafficClass_decode_uper;
+per_type_encoder_f RANAP_TrafficClass_encode_uper;
+per_type_decoder_f RANAP_TrafficClass_decode_aper;
+per_type_encoder_f RANAP_TrafficClass_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TrafficClass_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TrafficHandlingPriority.c b/src/ranap/RANAP_TrafficHandlingPriority.c
new file mode 100644
index 0000000..ebc833e
--- /dev/null
+++ b/src/ranap/RANAP_TrafficHandlingPriority.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TrafficHandlingPriority.h"
+
+int
+RANAP_TrafficHandlingPriority_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 15l)) {
+ /* 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 void
+RANAP_TrafficHandlingPriority_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_TrafficHandlingPriority_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_TrafficHandlingPriority_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_TrafficHandlingPriority_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TrafficHandlingPriority_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TrafficHandlingPriority_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_TrafficHandlingPriority_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_TrafficHandlingPriority_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TrafficHandlingPriority_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TrafficHandlingPriority_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_TrafficHandlingPriority_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_TrafficHandlingPriority_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TrafficHandlingPriority_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TrafficHandlingPriority_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TrafficHandlingPriority_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_TrafficHandlingPriority_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TrafficHandlingPriority_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_TrafficHandlingPriority_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TrafficHandlingPriority_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_TrafficHandlingPriority_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TrafficHandlingPriority_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_TrafficHandlingPriority_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 4, 4, 0l, 15l } /* (0..15) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_TrafficHandlingPriority_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TrafficHandlingPriority = {
+ "RANAP_TrafficHandlingPriority",
+ "RANAP_TrafficHandlingPriority",
+ RANAP_TrafficHandlingPriority_free,
+ RANAP_TrafficHandlingPriority_print,
+ RANAP_TrafficHandlingPriority_constraint,
+ RANAP_TrafficHandlingPriority_decode_ber,
+ RANAP_TrafficHandlingPriority_encode_der,
+ RANAP_TrafficHandlingPriority_decode_xer,
+ RANAP_TrafficHandlingPriority_encode_xer,
+ RANAP_TrafficHandlingPriority_decode_uper,
+ RANAP_TrafficHandlingPriority_encode_uper,
+ RANAP_TrafficHandlingPriority_decode_aper,
+ RANAP_TrafficHandlingPriority_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TrafficHandlingPriority_tags_1,
+ sizeof(asn_DEF_RANAP_TrafficHandlingPriority_tags_1)
+ /sizeof(asn_DEF_RANAP_TrafficHandlingPriority_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TrafficHandlingPriority_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TrafficHandlingPriority_tags_1)
+ /sizeof(asn_DEF_RANAP_TrafficHandlingPriority_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_TrafficHandlingPriority_constr_1,
+ 0, 0, /* Defined elsewhere */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_TrafficHandlingPriority.h b/src/ranap/RANAP_TrafficHandlingPriority.h
new file mode 100644
index 0000000..2067c21
--- /dev/null
+++ b/src/ranap/RANAP_TrafficHandlingPriority.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TrafficHandlingPriority_H_
+#define _RANAP_TrafficHandlingPriority_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_TrafficHandlingPriority {
+ RANAP_TrafficHandlingPriority_spare = 0,
+ RANAP_TrafficHandlingPriority_highest = 1,
+ RANAP_TrafficHandlingPriority_lowest = 14,
+ RANAP_TrafficHandlingPriority_no_priority_used = 15
+} e_RANAP_TrafficHandlingPriority;
+
+/* RANAP_TrafficHandlingPriority */
+typedef long RANAP_TrafficHandlingPriority_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TrafficHandlingPriority;
+asn_struct_free_f RANAP_TrafficHandlingPriority_free;
+asn_struct_print_f RANAP_TrafficHandlingPriority_print;
+asn_constr_check_f RANAP_TrafficHandlingPriority_constraint;
+ber_type_decoder_f RANAP_TrafficHandlingPriority_decode_ber;
+der_type_encoder_f RANAP_TrafficHandlingPriority_encode_der;
+xer_type_decoder_f RANAP_TrafficHandlingPriority_decode_xer;
+xer_type_encoder_f RANAP_TrafficHandlingPriority_encode_xer;
+per_type_decoder_f RANAP_TrafficHandlingPriority_decode_uper;
+per_type_encoder_f RANAP_TrafficHandlingPriority_encode_uper;
+per_type_decoder_f RANAP_TrafficHandlingPriority_decode_aper;
+per_type_encoder_f RANAP_TrafficHandlingPriority_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TrafficHandlingPriority_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TransferDelay.c b/src/ranap/RANAP_TransferDelay.c
new file mode 100644
index 0000000..bb81d52
--- /dev/null
+++ b/src/ranap/RANAP_TransferDelay.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TransferDelay.h"
+
+int
+RANAP_TransferDelay_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 65535l)) {
+ /* 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 void
+RANAP_TransferDelay_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_TransferDelay_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_TransferDelay_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_TransferDelay_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TransferDelay_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TransferDelay_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_TransferDelay_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_TransferDelay_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TransferDelay_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TransferDelay_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_TransferDelay_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_TransferDelay_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TransferDelay_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TransferDelay_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TransferDelay_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_TransferDelay_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TransferDelay_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_TransferDelay_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TransferDelay_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_TransferDelay_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TransferDelay_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_TransferDelay_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_TransferDelay_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TransferDelay = {
+ "RANAP_TransferDelay",
+ "RANAP_TransferDelay",
+ RANAP_TransferDelay_free,
+ RANAP_TransferDelay_print,
+ RANAP_TransferDelay_constraint,
+ RANAP_TransferDelay_decode_ber,
+ RANAP_TransferDelay_encode_der,
+ RANAP_TransferDelay_decode_xer,
+ RANAP_TransferDelay_encode_xer,
+ RANAP_TransferDelay_decode_uper,
+ RANAP_TransferDelay_encode_uper,
+ RANAP_TransferDelay_decode_aper,
+ RANAP_TransferDelay_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TransferDelay_tags_1,
+ sizeof(asn_DEF_RANAP_TransferDelay_tags_1)
+ /sizeof(asn_DEF_RANAP_TransferDelay_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TransferDelay_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TransferDelay_tags_1)
+ /sizeof(asn_DEF_RANAP_TransferDelay_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_TransferDelay_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_TransferDelay.h b/src/ranap/RANAP_TransferDelay.h
new file mode 100644
index 0000000..7339967
--- /dev/null
+++ b/src/ranap/RANAP_TransferDelay.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TransferDelay_H_
+#define _RANAP_TransferDelay_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TransferDelay */
+typedef long RANAP_TransferDelay_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TransferDelay;
+asn_struct_free_f RANAP_TransferDelay_free;
+asn_struct_print_f RANAP_TransferDelay_print;
+asn_constr_check_f RANAP_TransferDelay_constraint;
+ber_type_decoder_f RANAP_TransferDelay_decode_ber;
+der_type_encoder_f RANAP_TransferDelay_encode_der;
+xer_type_decoder_f RANAP_TransferDelay_decode_xer;
+xer_type_encoder_f RANAP_TransferDelay_encode_xer;
+per_type_decoder_f RANAP_TransferDelay_decode_uper;
+per_type_encoder_f RANAP_TransferDelay_encode_uper;
+per_type_decoder_f RANAP_TransferDelay_decode_aper;
+per_type_encoder_f RANAP_TransferDelay_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TransferDelay_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TransportLayerAddress.c b/src/ranap/RANAP_TransportLayerAddress.c
new file mode 100644
index 0000000..4451afa
--- /dev/null
+++ b/src/ranap/RANAP_TransportLayerAddress.c
@@ -0,0 +1,171 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TransportLayerAddress.h"
+
+int
+RANAP_TransportLayerAddress_constraint(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 >= 1l && size <= 160l)) {
+ /* 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 void
+RANAP_TransportLayerAddress_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_BIT_STRING.free_struct;
+ td->print_struct = asn_DEF_BIT_STRING.print_struct;
+ td->check_constraints = asn_DEF_BIT_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_BIT_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_BIT_STRING.per_constraints;
+ td->elements = asn_DEF_BIT_STRING.elements;
+ td->elements_count = asn_DEF_BIT_STRING.elements_count;
+ td->specifics = asn_DEF_BIT_STRING.specifics;
+}
+
+void
+RANAP_TransportLayerAddress_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_TransportLayerAddress_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_TransportLayerAddress_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TransportLayerAddress_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TransportLayerAddress_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_TransportLayerAddress_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_TransportLayerAddress_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TransportLayerAddress_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TransportLayerAddress_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_TransportLayerAddress_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_TransportLayerAddress_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TransportLayerAddress_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TransportLayerAddress_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TransportLayerAddress_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_TransportLayerAddress_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TransportLayerAddress_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_TransportLayerAddress_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TransportLayerAddress_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_TransportLayerAddress_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TransportLayerAddress_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_TransportLayerAddress_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1l, 160l } /* (SIZE(1..160,...)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_TransportLayerAddress_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TransportLayerAddress = {
+ "RANAP_TransportLayerAddress",
+ "RANAP_TransportLayerAddress",
+ RANAP_TransportLayerAddress_free,
+ RANAP_TransportLayerAddress_print,
+ RANAP_TransportLayerAddress_constraint,
+ RANAP_TransportLayerAddress_decode_ber,
+ RANAP_TransportLayerAddress_encode_der,
+ RANAP_TransportLayerAddress_decode_xer,
+ RANAP_TransportLayerAddress_encode_xer,
+ RANAP_TransportLayerAddress_decode_uper,
+ RANAP_TransportLayerAddress_encode_uper,
+ RANAP_TransportLayerAddress_decode_aper,
+ RANAP_TransportLayerAddress_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TransportLayerAddress_tags_1,
+ sizeof(asn_DEF_RANAP_TransportLayerAddress_tags_1)
+ /sizeof(asn_DEF_RANAP_TransportLayerAddress_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TransportLayerAddress_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TransportLayerAddress_tags_1)
+ /sizeof(asn_DEF_RANAP_TransportLayerAddress_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_TransportLayerAddress_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_TransportLayerAddress.h b/src/ranap/RANAP_TransportLayerAddress.h
new file mode 100644
index 0000000..fb99bac
--- /dev/null
+++ b/src/ranap/RANAP_TransportLayerAddress.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TransportLayerAddress_H_
+#define _RANAP_TransportLayerAddress_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TransportLayerAddress */
+typedef BIT_STRING_t RANAP_TransportLayerAddress_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TransportLayerAddress;
+asn_struct_free_f RANAP_TransportLayerAddress_free;
+asn_struct_print_f RANAP_TransportLayerAddress_print;
+asn_constr_check_f RANAP_TransportLayerAddress_constraint;
+ber_type_decoder_f RANAP_TransportLayerAddress_decode_ber;
+der_type_encoder_f RANAP_TransportLayerAddress_encode_der;
+xer_type_decoder_f RANAP_TransportLayerAddress_decode_xer;
+xer_type_encoder_f RANAP_TransportLayerAddress_encode_xer;
+per_type_decoder_f RANAP_TransportLayerAddress_decode_uper;
+per_type_encoder_f RANAP_TransportLayerAddress_encode_uper;
+per_type_decoder_f RANAP_TransportLayerAddress_decode_aper;
+per_type_encoder_f RANAP_TransportLayerAddress_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TransportLayerAddress_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TriggerID.c b/src/ranap/RANAP_TriggerID.c
new file mode 100644
index 0000000..be02669
--- /dev/null
+++ b/src/ranap/RANAP_TriggerID.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TriggerID.h"
+
+int
+RANAP_TriggerID_constraint(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 >= 3l && size <= 22l)) {
+ /* 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 void
+RANAP_TriggerID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_TriggerID_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_TriggerID_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_TriggerID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TriggerID_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TriggerID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_TriggerID_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_TriggerID_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TriggerID_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TriggerID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_TriggerID_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_TriggerID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TriggerID_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TriggerID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TriggerID_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_TriggerID_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TriggerID_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_TriggerID_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TriggerID_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_TriggerID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TriggerID_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_TriggerID_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 5, 5, 3l, 22l } /* (SIZE(3..22)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_TriggerID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TriggerID = {
+ "RANAP_TriggerID",
+ "RANAP_TriggerID",
+ RANAP_TriggerID_free,
+ RANAP_TriggerID_print,
+ RANAP_TriggerID_constraint,
+ RANAP_TriggerID_decode_ber,
+ RANAP_TriggerID_encode_der,
+ RANAP_TriggerID_decode_xer,
+ RANAP_TriggerID_encode_xer,
+ RANAP_TriggerID_decode_uper,
+ RANAP_TriggerID_encode_uper,
+ RANAP_TriggerID_decode_aper,
+ RANAP_TriggerID_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TriggerID_tags_1,
+ sizeof(asn_DEF_RANAP_TriggerID_tags_1)
+ /sizeof(asn_DEF_RANAP_TriggerID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TriggerID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TriggerID_tags_1)
+ /sizeof(asn_DEF_RANAP_TriggerID_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_TriggerID_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_TriggerID.h b/src/ranap/RANAP_TriggerID.h
new file mode 100644
index 0000000..eba5820
--- /dev/null
+++ b/src/ranap/RANAP_TriggerID.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TriggerID_H_
+#define _RANAP_TriggerID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TriggerID */
+typedef OCTET_STRING_t RANAP_TriggerID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TriggerID;
+asn_struct_free_f RANAP_TriggerID_free;
+asn_struct_print_f RANAP_TriggerID_print;
+asn_constr_check_f RANAP_TriggerID_constraint;
+ber_type_decoder_f RANAP_TriggerID_decode_ber;
+der_type_encoder_f RANAP_TriggerID_encode_der;
+xer_type_decoder_f RANAP_TriggerID_decode_xer;
+xer_type_encoder_f RANAP_TriggerID_encode_xer;
+per_type_decoder_f RANAP_TriggerID_decode_uper;
+per_type_encoder_f RANAP_TriggerID_encode_uper;
+per_type_decoder_f RANAP_TriggerID_decode_aper;
+per_type_encoder_f RANAP_TriggerID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TriggerID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TriggeringMessage.c b/src/ranap/RANAP_TriggeringMessage.c
new file mode 100644
index 0000000..7b1cf75
--- /dev/null
+++ b/src/ranap/RANAP_TriggeringMessage.c
@@ -0,0 +1,169 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-CommonDataTypes"
+ * found in "../../asn1/ranap/RANAP-CommonDataTypes.asn"
+ */
+
+#include "RANAP_TriggeringMessage.h"
+
+int
+RANAP_TriggeringMessage_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_TriggeringMessage_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_TriggeringMessage_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_TriggeringMessage_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_TriggeringMessage_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TriggeringMessage_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TriggeringMessage_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_TriggeringMessage_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_TriggeringMessage_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TriggeringMessage_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TriggeringMessage_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_TriggeringMessage_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_TriggeringMessage_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TriggeringMessage_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TriggeringMessage_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TriggeringMessage_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_TriggeringMessage_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TriggeringMessage_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_TriggeringMessage_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TriggeringMessage_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_TriggeringMessage_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TriggeringMessage_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_TriggeringMessage_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 2, 2, 0l, 3l } /* (0..3) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_TriggeringMessage_value2enum_1[] = {
+ { 0, 18, "initiating-message" },
+ { 1, 18, "successful-outcome" },
+ { 2, 21, "unsuccessfull-outcome" },
+ { 3, 7, "outcome" }
+};
+static const unsigned int asn_MAP_RANAP_TriggeringMessage_enum2value_1[] = {
+ 0, /* initiating-message(0) */
+ 3, /* outcome(3) */
+ 1, /* successful-outcome(1) */
+ 2 /* unsuccessfull-outcome(2) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_TriggeringMessage_specs_1 = {
+ asn_MAP_RANAP_TriggeringMessage_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_TriggeringMessage_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_RANAP_TriggeringMessage_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TriggeringMessage = {
+ "RANAP_TriggeringMessage",
+ "RANAP_TriggeringMessage",
+ RANAP_TriggeringMessage_free,
+ RANAP_TriggeringMessage_print,
+ RANAP_TriggeringMessage_constraint,
+ RANAP_TriggeringMessage_decode_ber,
+ RANAP_TriggeringMessage_encode_der,
+ RANAP_TriggeringMessage_decode_xer,
+ RANAP_TriggeringMessage_encode_xer,
+ RANAP_TriggeringMessage_decode_uper,
+ RANAP_TriggeringMessage_encode_uper,
+ RANAP_TriggeringMessage_decode_aper,
+ RANAP_TriggeringMessage_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TriggeringMessage_tags_1,
+ sizeof(asn_DEF_RANAP_TriggeringMessage_tags_1)
+ /sizeof(asn_DEF_RANAP_TriggeringMessage_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TriggeringMessage_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TriggeringMessage_tags_1)
+ /sizeof(asn_DEF_RANAP_TriggeringMessage_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_TriggeringMessage_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_TriggeringMessage_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_TriggeringMessage.h b/src/ranap/RANAP_TriggeringMessage.h
new file mode 100644
index 0000000..f43f734
--- /dev/null
+++ b/src/ranap/RANAP_TriggeringMessage.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-CommonDataTypes"
+ * found in "../../asn1/ranap/RANAP-CommonDataTypes.asn"
+ */
+
+#ifndef _RANAP_TriggeringMessage_H_
+#define _RANAP_TriggeringMessage_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_TriggeringMessage {
+ RANAP_TriggeringMessage_initiating_message = 0,
+ RANAP_TriggeringMessage_successful_outcome = 1,
+ RANAP_TriggeringMessage_unsuccessfull_outcome = 2,
+ RANAP_TriggeringMessage_outcome = 3
+} e_RANAP_TriggeringMessage;
+
+/* RANAP_TriggeringMessage */
+typedef long RANAP_TriggeringMessage_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TriggeringMessage;
+asn_struct_free_f RANAP_TriggeringMessage_free;
+asn_struct_print_f RANAP_TriggeringMessage_print;
+asn_constr_check_f RANAP_TriggeringMessage_constraint;
+ber_type_decoder_f RANAP_TriggeringMessage_decode_ber;
+der_type_encoder_f RANAP_TriggeringMessage_encode_der;
+xer_type_decoder_f RANAP_TriggeringMessage_decode_xer;
+xer_type_encoder_f RANAP_TriggeringMessage_encode_xer;
+per_type_decoder_f RANAP_TriggeringMessage_decode_uper;
+per_type_encoder_f RANAP_TriggeringMessage_encode_uper;
+per_type_decoder_f RANAP_TriggeringMessage_decode_aper;
+per_type_encoder_f RANAP_TriggeringMessage_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TriggeringMessage_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TunnelInformation.c b/src/ranap/RANAP_TunnelInformation.c
new file mode 100644
index 0000000..e35c03c
--- /dev/null
+++ b/src/ranap/RANAP_TunnelInformation.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TunnelInformation.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_TunnelInformation_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_TunnelInformation, transportLayerAddress),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TransportLayerAddress,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "transportLayerAddress"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_TunnelInformation, uDP_Port_Number),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Port_Number,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "uDP-Port-Number"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_TunnelInformation, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_TunnelInformation_oms_1[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_TunnelInformation_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_TunnelInformation_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* transportLayerAddress */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uDP-Port-Number */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_TunnelInformation_specs_1 = {
+ sizeof(struct RANAP_TunnelInformation),
+ offsetof(struct RANAP_TunnelInformation, _asn_ctx),
+ asn_MAP_RANAP_TunnelInformation_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_TunnelInformation_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TunnelInformation = {
+ "RANAP_TunnelInformation",
+ "RANAP_TunnelInformation",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TunnelInformation_tags_1,
+ sizeof(asn_DEF_RANAP_TunnelInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_TunnelInformation_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TunnelInformation_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TunnelInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_TunnelInformation_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_TunnelInformation_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_TunnelInformation_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_TunnelInformation.h b/src/ranap/RANAP_TunnelInformation.h
new file mode 100644
index 0000000..c66e3a3
--- /dev/null
+++ b/src/ranap/RANAP_TunnelInformation.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TunnelInformation_H_
+#define _RANAP_TunnelInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_TransportLayerAddress.h"
+#include "RANAP_Port-Number.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_TunnelInformation */
+typedef struct RANAP_TunnelInformation {
+ RANAP_TransportLayerAddress_t transportLayerAddress;
+ RANAP_Port_Number_t *uDP_Port_Number /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_TunnelInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TunnelInformation;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TunnelInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_TypeOfError.c b/src/ranap/RANAP_TypeOfError.c
new file mode 100644
index 0000000..607d3fc
--- /dev/null
+++ b/src/ranap/RANAP_TypeOfError.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_TypeOfError.h"
+
+int
+RANAP_TypeOfError_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_TypeOfError_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_TypeOfError_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_TypeOfError_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_TypeOfError_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TypeOfError_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TypeOfError_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_TypeOfError_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_TypeOfError_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TypeOfError_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TypeOfError_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_TypeOfError_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_TypeOfError_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_TypeOfError_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_TypeOfError_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TypeOfError_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_TypeOfError_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TypeOfError_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_TypeOfError_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_TypeOfError_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_TypeOfError_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_TypeOfError_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_TypeOfError_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_TypeOfError_value2enum_1[] = {
+ { 0, 14, "not-understood" },
+ { 1, 7, "missing" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_TypeOfError_enum2value_1[] = {
+ 1, /* missing(1) */
+ 0 /* not-understood(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_TypeOfError_specs_1 = {
+ asn_MAP_RANAP_TypeOfError_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_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_RANAP_TypeOfError_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_TypeOfError = {
+ "RANAP_TypeOfError",
+ "RANAP_TypeOfError",
+ RANAP_TypeOfError_free,
+ RANAP_TypeOfError_print,
+ RANAP_TypeOfError_constraint,
+ RANAP_TypeOfError_decode_ber,
+ RANAP_TypeOfError_encode_der,
+ RANAP_TypeOfError_decode_xer,
+ RANAP_TypeOfError_encode_xer,
+ RANAP_TypeOfError_decode_uper,
+ RANAP_TypeOfError_encode_uper,
+ RANAP_TypeOfError_decode_aper,
+ RANAP_TypeOfError_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_TypeOfError_tags_1,
+ sizeof(asn_DEF_RANAP_TypeOfError_tags_1)
+ /sizeof(asn_DEF_RANAP_TypeOfError_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_TypeOfError_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_TypeOfError_tags_1)
+ /sizeof(asn_DEF_RANAP_TypeOfError_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_TypeOfError_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_TypeOfError_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_TypeOfError.h b/src/ranap/RANAP_TypeOfError.h
new file mode 100644
index 0000000..12b0528
--- /dev/null
+++ b/src/ranap/RANAP_TypeOfError.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_TypeOfError_H_
+#define _RANAP_TypeOfError_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_TypeOfError {
+ RANAP_TypeOfError_not_understood = 0,
+ RANAP_TypeOfError_missing = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_TypeOfError;
+
+/* RANAP_TypeOfError */
+typedef long RANAP_TypeOfError_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_TypeOfError;
+asn_struct_free_f RANAP_TypeOfError_free;
+asn_struct_print_f RANAP_TypeOfError_print;
+asn_constr_check_f RANAP_TypeOfError_constraint;
+ber_type_decoder_f RANAP_TypeOfError_decode_ber;
+der_type_encoder_f RANAP_TypeOfError_encode_der;
+xer_type_decoder_f RANAP_TypeOfError_decode_xer;
+xer_type_encoder_f RANAP_TypeOfError_encode_xer;
+per_type_decoder_f RANAP_TypeOfError_decode_uper;
+per_type_encoder_f RANAP_TypeOfError_encode_uper;
+per_type_decoder_f RANAP_TypeOfError_decode_aper;
+per_type_encoder_f RANAP_TypeOfError_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_TypeOfError_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_UE-AggregateMaximumBitRate.c b/src/ranap/RANAP_UE-AggregateMaximumBitRate.c
new file mode 100644
index 0000000..8c41b8f
--- /dev/null
+++ b/src/ranap/RANAP_UE-AggregateMaximumBitRate.c
@@ -0,0 +1,73 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_UE-AggregateMaximumBitRate.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_UE_AggregateMaximumBitRate_1[] = {
+ { ATF_POINTER, 2, offsetof(struct RANAP_UE_AggregateMaximumBitRate, uE_AggregateMaximumBitRateDownlink),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_UE_AggregateMaximumBitRateDownlink,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "uE-AggregateMaximumBitRateDownlink"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_UE_AggregateMaximumBitRate, uE_AggregateMaximumBitRateUplink),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_UE_AggregateMaximumBitRateUplink,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "uE-AggregateMaximumBitRateUplink"
+ },
+};
+static const int asn_MAP_RANAP_UE_AggregateMaximumBitRate_oms_1[] = { 0, 1 };
+static const ber_tlv_tag_t asn_DEF_RANAP_UE_AggregateMaximumBitRate_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_UE_AggregateMaximumBitRate_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* uE-AggregateMaximumBitRateDownlink */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* uE-AggregateMaximumBitRateUplink */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_UE_AggregateMaximumBitRate_specs_1 = {
+ sizeof(struct RANAP_UE_AggregateMaximumBitRate),
+ offsetof(struct RANAP_UE_AggregateMaximumBitRate, _asn_ctx),
+ asn_MAP_RANAP_UE_AggregateMaximumBitRate_tag2el_1,
+ 2, /* Count of tags in the map */
+ asn_MAP_RANAP_UE_AggregateMaximumBitRate_oms_1, /* Optional members */
+ 2, 0, /* Root/Additions */
+ 1, /* Start extensions */
+ 3 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_UE_AggregateMaximumBitRate = {
+ "RANAP_UE-AggregateMaximumBitRate",
+ "RANAP_UE-AggregateMaximumBitRate",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_UE_AggregateMaximumBitRate_tags_1,
+ sizeof(asn_DEF_RANAP_UE_AggregateMaximumBitRate_tags_1)
+ /sizeof(asn_DEF_RANAP_UE_AggregateMaximumBitRate_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_UE_AggregateMaximumBitRate_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_UE_AggregateMaximumBitRate_tags_1)
+ /sizeof(asn_DEF_RANAP_UE_AggregateMaximumBitRate_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_UE_AggregateMaximumBitRate_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_UE_AggregateMaximumBitRate_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_UE-AggregateMaximumBitRate.h b/src/ranap/RANAP_UE-AggregateMaximumBitRate.h
new file mode 100644
index 0000000..79fc5ee
--- /dev/null
+++ b/src/ranap/RANAP_UE-AggregateMaximumBitRate.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_UE_AggregateMaximumBitRate_H_
+#define _RANAP_UE_AggregateMaximumBitRate_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_UE-AggregateMaximumBitRateDownlink.h"
+#include "RANAP_UE-AggregateMaximumBitRateUplink.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_UE-AggregateMaximumBitRate */
+typedef struct RANAP_UE_AggregateMaximumBitRate {
+ RANAP_UE_AggregateMaximumBitRateDownlink_t *uE_AggregateMaximumBitRateDownlink /* OPTIONAL */;
+ RANAP_UE_AggregateMaximumBitRateUplink_t *uE_AggregateMaximumBitRateUplink /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_UE_AggregateMaximumBitRate_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_UE_AggregateMaximumBitRate;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_UE_AggregateMaximumBitRate_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_UE-AggregateMaximumBitRateDownlink.c b/src/ranap/RANAP_UE-AggregateMaximumBitRateDownlink.c
new file mode 100644
index 0000000..1936ee1
--- /dev/null
+++ b/src/ranap/RANAP_UE-AggregateMaximumBitRateDownlink.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_UE-AggregateMaximumBitRateDownlink.h"
+
+int
+RANAP_UE_AggregateMaximumBitRateDownlink_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1l && value <= 1000000000l)) {
+ /* 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 void
+RANAP_UE_AggregateMaximumBitRateDownlink_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_UE_AggregateMaximumBitRateDownlink_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_UE_AggregateMaximumBitRateDownlink_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_UE_AggregateMaximumBitRateDownlink_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UE_AggregateMaximumBitRateDownlink_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UE_AggregateMaximumBitRateDownlink_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_UE_AggregateMaximumBitRateDownlink_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_UE_AggregateMaximumBitRateDownlink_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UE_AggregateMaximumBitRateDownlink_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UE_AggregateMaximumBitRateDownlink_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_UE_AggregateMaximumBitRateDownlink_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_UE_AggregateMaximumBitRateDownlink_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UE_AggregateMaximumBitRateDownlink_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UE_AggregateMaximumBitRateDownlink_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_UE_AggregateMaximumBitRateDownlink_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_UE_AggregateMaximumBitRateDownlink_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_UE_AggregateMaximumBitRateDownlink_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_UE_AggregateMaximumBitRateDownlink_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_UE_AggregateMaximumBitRateDownlink_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_UE_AggregateMaximumBitRateDownlink_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_UE_AggregateMaximumBitRateDownlink_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_UE_AggregateMaximumBitRateDownlink_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 30, -1, 1l, 1000000000l } /* (1..1000000000) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_UE_AggregateMaximumBitRateDownlink_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_UE_AggregateMaximumBitRateDownlink = {
+ "RANAP_UE-AggregateMaximumBitRateDownlink",
+ "RANAP_UE-AggregateMaximumBitRateDownlink",
+ RANAP_UE_AggregateMaximumBitRateDownlink_free,
+ RANAP_UE_AggregateMaximumBitRateDownlink_print,
+ RANAP_UE_AggregateMaximumBitRateDownlink_constraint,
+ RANAP_UE_AggregateMaximumBitRateDownlink_decode_ber,
+ RANAP_UE_AggregateMaximumBitRateDownlink_encode_der,
+ RANAP_UE_AggregateMaximumBitRateDownlink_decode_xer,
+ RANAP_UE_AggregateMaximumBitRateDownlink_encode_xer,
+ RANAP_UE_AggregateMaximumBitRateDownlink_decode_uper,
+ RANAP_UE_AggregateMaximumBitRateDownlink_encode_uper,
+ RANAP_UE_AggregateMaximumBitRateDownlink_decode_aper,
+ RANAP_UE_AggregateMaximumBitRateDownlink_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_UE_AggregateMaximumBitRateDownlink_tags_1,
+ sizeof(asn_DEF_RANAP_UE_AggregateMaximumBitRateDownlink_tags_1)
+ /sizeof(asn_DEF_RANAP_UE_AggregateMaximumBitRateDownlink_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_UE_AggregateMaximumBitRateDownlink_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_UE_AggregateMaximumBitRateDownlink_tags_1)
+ /sizeof(asn_DEF_RANAP_UE_AggregateMaximumBitRateDownlink_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_UE_AggregateMaximumBitRateDownlink_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_UE-AggregateMaximumBitRateDownlink.h b/src/ranap/RANAP_UE-AggregateMaximumBitRateDownlink.h
new file mode 100644
index 0000000..0e6c196
--- /dev/null
+++ b/src/ranap/RANAP_UE-AggregateMaximumBitRateDownlink.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_UE_AggregateMaximumBitRateDownlink_H_
+#define _RANAP_UE_AggregateMaximumBitRateDownlink_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_UE-AggregateMaximumBitRateDownlink */
+typedef long RANAP_UE_AggregateMaximumBitRateDownlink_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_UE_AggregateMaximumBitRateDownlink;
+asn_struct_free_f RANAP_UE_AggregateMaximumBitRateDownlink_free;
+asn_struct_print_f RANAP_UE_AggregateMaximumBitRateDownlink_print;
+asn_constr_check_f RANAP_UE_AggregateMaximumBitRateDownlink_constraint;
+ber_type_decoder_f RANAP_UE_AggregateMaximumBitRateDownlink_decode_ber;
+der_type_encoder_f RANAP_UE_AggregateMaximumBitRateDownlink_encode_der;
+xer_type_decoder_f RANAP_UE_AggregateMaximumBitRateDownlink_decode_xer;
+xer_type_encoder_f RANAP_UE_AggregateMaximumBitRateDownlink_encode_xer;
+per_type_decoder_f RANAP_UE_AggregateMaximumBitRateDownlink_decode_uper;
+per_type_encoder_f RANAP_UE_AggregateMaximumBitRateDownlink_encode_uper;
+per_type_decoder_f RANAP_UE_AggregateMaximumBitRateDownlink_decode_aper;
+per_type_encoder_f RANAP_UE_AggregateMaximumBitRateDownlink_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_UE_AggregateMaximumBitRateDownlink_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_UE-AggregateMaximumBitRateUplink.c b/src/ranap/RANAP_UE-AggregateMaximumBitRateUplink.c
new file mode 100644
index 0000000..9d0074e
--- /dev/null
+++ b/src/ranap/RANAP_UE-AggregateMaximumBitRateUplink.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_UE-AggregateMaximumBitRateUplink.h"
+
+int
+RANAP_UE_AggregateMaximumBitRateUplink_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 1l && value <= 1000000000l)) {
+ /* 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 void
+RANAP_UE_AggregateMaximumBitRateUplink_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_UE_AggregateMaximumBitRateUplink_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_UE_AggregateMaximumBitRateUplink_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_UE_AggregateMaximumBitRateUplink_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UE_AggregateMaximumBitRateUplink_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UE_AggregateMaximumBitRateUplink_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_UE_AggregateMaximumBitRateUplink_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_UE_AggregateMaximumBitRateUplink_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UE_AggregateMaximumBitRateUplink_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UE_AggregateMaximumBitRateUplink_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_UE_AggregateMaximumBitRateUplink_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_UE_AggregateMaximumBitRateUplink_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UE_AggregateMaximumBitRateUplink_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UE_AggregateMaximumBitRateUplink_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_UE_AggregateMaximumBitRateUplink_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_UE_AggregateMaximumBitRateUplink_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_UE_AggregateMaximumBitRateUplink_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_UE_AggregateMaximumBitRateUplink_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_UE_AggregateMaximumBitRateUplink_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_UE_AggregateMaximumBitRateUplink_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_UE_AggregateMaximumBitRateUplink_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_UE_AggregateMaximumBitRateUplink_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 30, -1, 1l, 1000000000l } /* (1..1000000000) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_UE_AggregateMaximumBitRateUplink_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_UE_AggregateMaximumBitRateUplink = {
+ "RANAP_UE-AggregateMaximumBitRateUplink",
+ "RANAP_UE-AggregateMaximumBitRateUplink",
+ RANAP_UE_AggregateMaximumBitRateUplink_free,
+ RANAP_UE_AggregateMaximumBitRateUplink_print,
+ RANAP_UE_AggregateMaximumBitRateUplink_constraint,
+ RANAP_UE_AggregateMaximumBitRateUplink_decode_ber,
+ RANAP_UE_AggregateMaximumBitRateUplink_encode_der,
+ RANAP_UE_AggregateMaximumBitRateUplink_decode_xer,
+ RANAP_UE_AggregateMaximumBitRateUplink_encode_xer,
+ RANAP_UE_AggregateMaximumBitRateUplink_decode_uper,
+ RANAP_UE_AggregateMaximumBitRateUplink_encode_uper,
+ RANAP_UE_AggregateMaximumBitRateUplink_decode_aper,
+ RANAP_UE_AggregateMaximumBitRateUplink_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_UE_AggregateMaximumBitRateUplink_tags_1,
+ sizeof(asn_DEF_RANAP_UE_AggregateMaximumBitRateUplink_tags_1)
+ /sizeof(asn_DEF_RANAP_UE_AggregateMaximumBitRateUplink_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_UE_AggregateMaximumBitRateUplink_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_UE_AggregateMaximumBitRateUplink_tags_1)
+ /sizeof(asn_DEF_RANAP_UE_AggregateMaximumBitRateUplink_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_UE_AggregateMaximumBitRateUplink_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_UE-AggregateMaximumBitRateUplink.h b/src/ranap/RANAP_UE-AggregateMaximumBitRateUplink.h
new file mode 100644
index 0000000..fca65bf
--- /dev/null
+++ b/src/ranap/RANAP_UE-AggregateMaximumBitRateUplink.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_UE_AggregateMaximumBitRateUplink_H_
+#define _RANAP_UE_AggregateMaximumBitRateUplink_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_UE-AggregateMaximumBitRateUplink */
+typedef long RANAP_UE_AggregateMaximumBitRateUplink_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_UE_AggregateMaximumBitRateUplink;
+asn_struct_free_f RANAP_UE_AggregateMaximumBitRateUplink_free;
+asn_struct_print_f RANAP_UE_AggregateMaximumBitRateUplink_print;
+asn_constr_check_f RANAP_UE_AggregateMaximumBitRateUplink_constraint;
+ber_type_decoder_f RANAP_UE_AggregateMaximumBitRateUplink_decode_ber;
+der_type_encoder_f RANAP_UE_AggregateMaximumBitRateUplink_encode_der;
+xer_type_decoder_f RANAP_UE_AggregateMaximumBitRateUplink_decode_xer;
+xer_type_encoder_f RANAP_UE_AggregateMaximumBitRateUplink_encode_xer;
+per_type_decoder_f RANAP_UE_AggregateMaximumBitRateUplink_decode_uper;
+per_type_encoder_f RANAP_UE_AggregateMaximumBitRateUplink_encode_uper;
+per_type_decoder_f RANAP_UE_AggregateMaximumBitRateUplink_decode_aper;
+per_type_encoder_f RANAP_UE_AggregateMaximumBitRateUplink_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_UE_AggregateMaximumBitRateUplink_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_UE-History-Information.c b/src/ranap/RANAP_UE-History-Information.c
new file mode 100644
index 0000000..11a02bf
--- /dev/null
+++ b/src/ranap/RANAP_UE-History-Information.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_UE-History-Information.h"
+
+int
+RANAP_UE_History_Information_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_UE_History_Information_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_UE_History_Information_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_UE_History_Information_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_UE_History_Information_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UE_History_Information_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UE_History_Information_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_UE_History_Information_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_UE_History_Information_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UE_History_Information_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UE_History_Information_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_UE_History_Information_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_UE_History_Information_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UE_History_Information_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UE_History_Information_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_UE_History_Information_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_UE_History_Information_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_UE_History_Information_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_UE_History_Information_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_UE_History_Information_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_UE_History_Information_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_UE_History_Information_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static const ber_tlv_tag_t asn_DEF_RANAP_UE_History_Information_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_UE_History_Information = {
+ "RANAP_UE-History-Information",
+ "RANAP_UE-History-Information",
+ RANAP_UE_History_Information_free,
+ RANAP_UE_History_Information_print,
+ RANAP_UE_History_Information_constraint,
+ RANAP_UE_History_Information_decode_ber,
+ RANAP_UE_History_Information_encode_der,
+ RANAP_UE_History_Information_decode_xer,
+ RANAP_UE_History_Information_encode_xer,
+ RANAP_UE_History_Information_decode_uper,
+ RANAP_UE_History_Information_encode_uper,
+ RANAP_UE_History_Information_decode_aper,
+ RANAP_UE_History_Information_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_UE_History_Information_tags_1,
+ sizeof(asn_DEF_RANAP_UE_History_Information_tags_1)
+ /sizeof(asn_DEF_RANAP_UE_History_Information_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_UE_History_Information_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_UE_History_Information_tags_1)
+ /sizeof(asn_DEF_RANAP_UE_History_Information_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_UE-History-Information.h b/src/ranap/RANAP_UE-History-Information.h
new file mode 100644
index 0000000..92df8b9
--- /dev/null
+++ b/src/ranap/RANAP_UE-History-Information.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_UE_History_Information_H_
+#define _RANAP_UE_History_Information_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_UE-History-Information */
+typedef OCTET_STRING_t RANAP_UE_History_Information_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_UE_History_Information;
+asn_struct_free_f RANAP_UE_History_Information_free;
+asn_struct_print_f RANAP_UE_History_Information_print;
+asn_constr_check_f RANAP_UE_History_Information_constraint;
+ber_type_decoder_f RANAP_UE_History_Information_decode_ber;
+der_type_encoder_f RANAP_UE_History_Information_encode_der;
+xer_type_decoder_f RANAP_UE_History_Information_decode_xer;
+xer_type_encoder_f RANAP_UE_History_Information_encode_xer;
+per_type_decoder_f RANAP_UE_History_Information_decode_uper;
+per_type_encoder_f RANAP_UE_History_Information_encode_uper;
+per_type_decoder_f RANAP_UE_History_Information_decode_aper;
+per_type_encoder_f RANAP_UE_History_Information_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_UE_History_Information_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_UE-ID.c b/src/ranap/RANAP_UE-ID.c
new file mode 100644
index 0000000..7523f2d
--- /dev/null
+++ b/src/ranap/RANAP_UE-ID.c
@@ -0,0 +1,82 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_UE-ID.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_UE_ID_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_UE_ID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_UE_ID, choice.imsi),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IMSI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "imsi"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_UE_ID, choice.imei),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IMEI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "imei"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_UE_ID, choice.imeisv),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IMEISV,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "imeisv"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_UE_ID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* imsi */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* imei */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* imeisv */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_UE_ID_specs_1 = {
+ sizeof(struct RANAP_UE_ID),
+ offsetof(struct RANAP_UE_ID, _asn_ctx),
+ offsetof(struct RANAP_UE_ID, present),
+ sizeof(((struct RANAP_UE_ID *)0)->present),
+ asn_MAP_RANAP_UE_ID_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_UE_ID = {
+ "RANAP_UE-ID",
+ "RANAP_UE-ID",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_UE_ID_constr_1,
+ asn_MBR_RANAP_UE_ID_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_UE_ID_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_UE-ID.h b/src/ranap/RANAP_UE-ID.h
new file mode 100644
index 0000000..9d94030
--- /dev/null
+++ b/src/ranap/RANAP_UE-ID.h
@@ -0,0 +1,57 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_UE_ID_H_
+#define _RANAP_UE_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IMSI.h"
+#include "RANAP_IMEI.h"
+#include "RANAP_IMEISV.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_UE_ID_PR {
+ RANAP_UE_ID_PR_NOTHING, /* No components present */
+ RANAP_UE_ID_PR_imsi,
+ RANAP_UE_ID_PR_imei,
+ /* Extensions may appear below */
+ RANAP_UE_ID_PR_imeisv
+} RANAP_UE_ID_PR;
+
+/* RANAP_UE-ID */
+typedef struct RANAP_UE_ID {
+ RANAP_UE_ID_PR present;
+ union RANAP_UE_ID_u {
+ RANAP_IMSI_t imsi;
+ RANAP_IMEI_t imei;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ RANAP_IMEISV_t imeisv;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_UE_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_UE_ID;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_UE_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_UESBI-Iu.c b/src/ranap/RANAP_UESBI-Iu.c
new file mode 100644
index 0000000..25cac18
--- /dev/null
+++ b/src/ranap/RANAP_UESBI-Iu.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_UESBI-Iu.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_UESBI_Iu_1[] = {
+ { ATF_POINTER, 3, offsetof(struct RANAP_UESBI_Iu, uESBI_IuA),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_UESBI_IuA,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "uESBI-IuA"
+ },
+ { ATF_POINTER, 2, offsetof(struct RANAP_UESBI_Iu, uESBI_IuB),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_UESBI_IuB,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "uESBI-IuB"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_UESBI_Iu, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_UESBI_Iu_oms_1[] = { 0, 1, 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_UESBI_Iu_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_UESBI_Iu_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* uESBI-IuA */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uESBI-IuB */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_UESBI_Iu_specs_1 = {
+ sizeof(struct RANAP_UESBI_Iu),
+ offsetof(struct RANAP_UESBI_Iu, _asn_ctx),
+ asn_MAP_RANAP_UESBI_Iu_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_UESBI_Iu_oms_1, /* Optional members */
+ 3, 0, /* Root/Additions */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_UESBI_Iu = {
+ "RANAP_UESBI-Iu",
+ "RANAP_UESBI-Iu",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_UESBI_Iu_tags_1,
+ sizeof(asn_DEF_RANAP_UESBI_Iu_tags_1)
+ /sizeof(asn_DEF_RANAP_UESBI_Iu_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_UESBI_Iu_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_UESBI_Iu_tags_1)
+ /sizeof(asn_DEF_RANAP_UESBI_Iu_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_UESBI_Iu_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_UESBI_Iu_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_UESBI-Iu.h b/src/ranap/RANAP_UESBI-Iu.h
new file mode 100644
index 0000000..6dd504c
--- /dev/null
+++ b/src/ranap/RANAP_UESBI-Iu.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_UESBI_Iu_H_
+#define _RANAP_UESBI_Iu_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_UESBI-IuA.h"
+#include "RANAP_UESBI-IuB.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_UESBI-Iu */
+typedef struct RANAP_UESBI_Iu {
+ RANAP_UESBI_IuA_t *uESBI_IuA /* OPTIONAL */;
+ RANAP_UESBI_IuB_t *uESBI_IuB /* OPTIONAL */;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_UESBI_Iu_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_UESBI_Iu;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_UESBI_Iu_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_UESBI-IuA.c b/src/ranap/RANAP_UESBI-IuA.c
new file mode 100644
index 0000000..fc3863a
--- /dev/null
+++ b/src/ranap/RANAP_UESBI-IuA.c
@@ -0,0 +1,171 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_UESBI-IuA.h"
+
+int
+RANAP_UESBI_IuA_constraint(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 >= 1l && size <= 128l)) {
+ /* 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 void
+RANAP_UESBI_IuA_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_BIT_STRING.free_struct;
+ td->print_struct = asn_DEF_BIT_STRING.print_struct;
+ td->check_constraints = asn_DEF_BIT_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_BIT_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_BIT_STRING.per_constraints;
+ td->elements = asn_DEF_BIT_STRING.elements;
+ td->elements_count = asn_DEF_BIT_STRING.elements_count;
+ td->specifics = asn_DEF_BIT_STRING.specifics;
+}
+
+void
+RANAP_UESBI_IuA_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_UESBI_IuA_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_UESBI_IuA_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UESBI_IuA_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UESBI_IuA_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_UESBI_IuA_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_UESBI_IuA_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UESBI_IuA_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UESBI_IuA_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_UESBI_IuA_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_UESBI_IuA_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UESBI_IuA_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UESBI_IuA_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_UESBI_IuA_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_UESBI_IuA_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_UESBI_IuA_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_UESBI_IuA_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_UESBI_IuA_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_UESBI_IuA_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_UESBI_IuA_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_UESBI_IuA_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 7, 7, 1l, 128l } /* (SIZE(1..128)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_UESBI_IuA_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_UESBI_IuA = {
+ "RANAP_UESBI-IuA",
+ "RANAP_UESBI-IuA",
+ RANAP_UESBI_IuA_free,
+ RANAP_UESBI_IuA_print,
+ RANAP_UESBI_IuA_constraint,
+ RANAP_UESBI_IuA_decode_ber,
+ RANAP_UESBI_IuA_encode_der,
+ RANAP_UESBI_IuA_decode_xer,
+ RANAP_UESBI_IuA_encode_xer,
+ RANAP_UESBI_IuA_decode_uper,
+ RANAP_UESBI_IuA_encode_uper,
+ RANAP_UESBI_IuA_decode_aper,
+ RANAP_UESBI_IuA_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_UESBI_IuA_tags_1,
+ sizeof(asn_DEF_RANAP_UESBI_IuA_tags_1)
+ /sizeof(asn_DEF_RANAP_UESBI_IuA_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_UESBI_IuA_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_UESBI_IuA_tags_1)
+ /sizeof(asn_DEF_RANAP_UESBI_IuA_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_UESBI_IuA_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_UESBI-IuA.h b/src/ranap/RANAP_UESBI-IuA.h
new file mode 100644
index 0000000..c4c51bb
--- /dev/null
+++ b/src/ranap/RANAP_UESBI-IuA.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_UESBI_IuA_H_
+#define _RANAP_UESBI_IuA_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_UESBI-IuA */
+typedef BIT_STRING_t RANAP_UESBI_IuA_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_UESBI_IuA;
+asn_struct_free_f RANAP_UESBI_IuA_free;
+asn_struct_print_f RANAP_UESBI_IuA_print;
+asn_constr_check_f RANAP_UESBI_IuA_constraint;
+ber_type_decoder_f RANAP_UESBI_IuA_decode_ber;
+der_type_encoder_f RANAP_UESBI_IuA_encode_der;
+xer_type_decoder_f RANAP_UESBI_IuA_decode_xer;
+xer_type_encoder_f RANAP_UESBI_IuA_encode_xer;
+per_type_decoder_f RANAP_UESBI_IuA_decode_uper;
+per_type_encoder_f RANAP_UESBI_IuA_encode_uper;
+per_type_decoder_f RANAP_UESBI_IuA_decode_aper;
+per_type_encoder_f RANAP_UESBI_IuA_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_UESBI_IuA_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_UESBI-IuB.c b/src/ranap/RANAP_UESBI-IuB.c
new file mode 100644
index 0000000..da37f44
--- /dev/null
+++ b/src/ranap/RANAP_UESBI-IuB.c
@@ -0,0 +1,171 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_UESBI-IuB.h"
+
+int
+RANAP_UESBI_IuB_constraint(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 >= 1l && size <= 128l)) {
+ /* 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 void
+RANAP_UESBI_IuB_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_BIT_STRING.free_struct;
+ td->print_struct = asn_DEF_BIT_STRING.print_struct;
+ td->check_constraints = asn_DEF_BIT_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_BIT_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_BIT_STRING.per_constraints;
+ td->elements = asn_DEF_BIT_STRING.elements;
+ td->elements_count = asn_DEF_BIT_STRING.elements_count;
+ td->specifics = asn_DEF_BIT_STRING.specifics;
+}
+
+void
+RANAP_UESBI_IuB_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_UESBI_IuB_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_UESBI_IuB_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UESBI_IuB_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UESBI_IuB_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_UESBI_IuB_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_UESBI_IuB_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UESBI_IuB_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UESBI_IuB_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_UESBI_IuB_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_UESBI_IuB_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UESBI_IuB_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UESBI_IuB_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_UESBI_IuB_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_UESBI_IuB_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_UESBI_IuB_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_UESBI_IuB_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_UESBI_IuB_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_UESBI_IuB_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_UESBI_IuB_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_UESBI_IuB_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 7, 7, 1l, 128l } /* (SIZE(1..128)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_UESBI_IuB_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_UESBI_IuB = {
+ "RANAP_UESBI-IuB",
+ "RANAP_UESBI-IuB",
+ RANAP_UESBI_IuB_free,
+ RANAP_UESBI_IuB_print,
+ RANAP_UESBI_IuB_constraint,
+ RANAP_UESBI_IuB_decode_ber,
+ RANAP_UESBI_IuB_encode_der,
+ RANAP_UESBI_IuB_decode_xer,
+ RANAP_UESBI_IuB_encode_xer,
+ RANAP_UESBI_IuB_decode_uper,
+ RANAP_UESBI_IuB_encode_uper,
+ RANAP_UESBI_IuB_decode_aper,
+ RANAP_UESBI_IuB_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_UESBI_IuB_tags_1,
+ sizeof(asn_DEF_RANAP_UESBI_IuB_tags_1)
+ /sizeof(asn_DEF_RANAP_UESBI_IuB_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_UESBI_IuB_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_UESBI_IuB_tags_1)
+ /sizeof(asn_DEF_RANAP_UESBI_IuB_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_UESBI_IuB_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_UESBI-IuB.h b/src/ranap/RANAP_UESBI-IuB.h
new file mode 100644
index 0000000..4e8648b
--- /dev/null
+++ b/src/ranap/RANAP_UESBI-IuB.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_UESBI_IuB_H_
+#define _RANAP_UESBI_IuB_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_UESBI-IuB */
+typedef BIT_STRING_t RANAP_UESBI_IuB_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_UESBI_IuB;
+asn_struct_free_f RANAP_UESBI_IuB_free;
+asn_struct_print_f RANAP_UESBI_IuB_print;
+asn_constr_check_f RANAP_UESBI_IuB_constraint;
+ber_type_decoder_f RANAP_UESBI_IuB_decode_ber;
+der_type_encoder_f RANAP_UESBI_IuB_encode_der;
+xer_type_decoder_f RANAP_UESBI_IuB_decode_xer;
+xer_type_encoder_f RANAP_UESBI_IuB_encode_xer;
+per_type_decoder_f RANAP_UESBI_IuB_decode_uper;
+per_type_encoder_f RANAP_UESBI_IuB_encode_uper;
+per_type_decoder_f RANAP_UESBI_IuB_decode_aper;
+per_type_encoder_f RANAP_UESBI_IuB_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_UESBI_IuB_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_UESpecificInformationIndication.c b/src/ranap/RANAP_UESpecificInformationIndication.c
new file mode 100644
index 0000000..89d1e16
--- /dev/null
+++ b/src/ranap/RANAP_UESpecificInformationIndication.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_UESpecificInformationIndication.h"
+
+static int
+memb_uESpecificInformationIndication_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_uESpecificInformationIndication_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_uESpecificInformationIndication_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_uESpecificInformationIndication_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_uESpecificInformationIndication_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_uESpecificInformationIndication_ies_specs_2 = {
+ sizeof(struct uESpecificInformationIndication_ies),
+ offsetof(struct uESpecificInformationIndication_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_uESpecificInformationIndication_ies_2 = {
+ "uESpecificInformationIndication-ies",
+ "uESpecificInformationIndication-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_uESpecificInformationIndication_ies_tags_2,
+ sizeof(asn_DEF_uESpecificInformationIndication_ies_tags_2)
+ /sizeof(asn_DEF_uESpecificInformationIndication_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_uESpecificInformationIndication_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_uESpecificInformationIndication_ies_tags_2)
+ /sizeof(asn_DEF_uESpecificInformationIndication_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_uESpecificInformationIndication_ies_constr_2,
+ asn_MBR_uESpecificInformationIndication_ies_2,
+ 1, /* Single element */
+ &asn_SPC_uESpecificInformationIndication_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_UESpecificInformationIndication_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_UESpecificInformationIndication, uESpecificInformationIndication_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_uESpecificInformationIndication_ies_2,
+ memb_uESpecificInformationIndication_ies_constraint_1,
+ &asn_PER_memb_uESpecificInformationIndication_ies_constr_2,
+ 0,
+ "uESpecificInformationIndication-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_UESpecificInformationIndication_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_UESpecificInformationIndication_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* uESpecificInformationIndication-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_UESpecificInformationIndication_specs_1 = {
+ sizeof(struct RANAP_UESpecificInformationIndication),
+ offsetof(struct RANAP_UESpecificInformationIndication, _asn_ctx),
+ asn_MAP_RANAP_UESpecificInformationIndication_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_UESpecificInformationIndication = {
+ "RANAP_UESpecificInformationIndication",
+ "RANAP_UESpecificInformationIndication",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_UESpecificInformationIndication_tags_1,
+ sizeof(asn_DEF_RANAP_UESpecificInformationIndication_tags_1)
+ /sizeof(asn_DEF_RANAP_UESpecificInformationIndication_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_UESpecificInformationIndication_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_UESpecificInformationIndication_tags_1)
+ /sizeof(asn_DEF_RANAP_UESpecificInformationIndication_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_UESpecificInformationIndication_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_UESpecificInformationIndication_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_UESpecificInformationIndication.h b/src/ranap/RANAP_UESpecificInformationIndication.h
new file mode 100644
index 0000000..b2a4782
--- /dev/null
+++ b/src/ranap/RANAP_UESpecificInformationIndication.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_UESpecificInformationIndication_H_
+#define _RANAP_UESpecificInformationIndication_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_UESpecificInformationIndication */
+typedef struct RANAP_UESpecificInformationIndication {
+ struct uESpecificInformationIndication_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } uESpecificInformationIndication_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_UESpecificInformationIndication_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_UESpecificInformationIndication;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_UESpecificInformationIndication_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_UL-GTP-PDU-SequenceNumber.c b/src/ranap/RANAP_UL-GTP-PDU-SequenceNumber.c
new file mode 100644
index 0000000..a12bc8c
--- /dev/null
+++ b/src/ranap/RANAP_UL-GTP-PDU-SequenceNumber.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_UL-GTP-PDU-SequenceNumber.h"
+
+int
+RANAP_UL_GTP_PDU_SequenceNumber_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 65535l)) {
+ /* 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 void
+RANAP_UL_GTP_PDU_SequenceNumber_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_UL_GTP_PDU_SequenceNumber_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_UL_GTP_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_UL_GTP_PDU_SequenceNumber_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UL_GTP_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UL_GTP_PDU_SequenceNumber_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_UL_GTP_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_UL_GTP_PDU_SequenceNumber_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UL_GTP_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UL_GTP_PDU_SequenceNumber_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_UL_GTP_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_UL_GTP_PDU_SequenceNumber_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UL_GTP_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UL_GTP_PDU_SequenceNumber_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_UL_GTP_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_UL_GTP_PDU_SequenceNumber_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_UL_GTP_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_UL_GTP_PDU_SequenceNumber_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_UL_GTP_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_UL_GTP_PDU_SequenceNumber_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_UL_GTP_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_UL_GTP_PDU_SequenceNumber_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_UL_GTP_PDU_SequenceNumber_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_UL_GTP_PDU_SequenceNumber = {
+ "RANAP_UL-GTP-PDU-SequenceNumber",
+ "RANAP_UL-GTP-PDU-SequenceNumber",
+ RANAP_UL_GTP_PDU_SequenceNumber_free,
+ RANAP_UL_GTP_PDU_SequenceNumber_print,
+ RANAP_UL_GTP_PDU_SequenceNumber_constraint,
+ RANAP_UL_GTP_PDU_SequenceNumber_decode_ber,
+ RANAP_UL_GTP_PDU_SequenceNumber_encode_der,
+ RANAP_UL_GTP_PDU_SequenceNumber_decode_xer,
+ RANAP_UL_GTP_PDU_SequenceNumber_encode_xer,
+ RANAP_UL_GTP_PDU_SequenceNumber_decode_uper,
+ RANAP_UL_GTP_PDU_SequenceNumber_encode_uper,
+ RANAP_UL_GTP_PDU_SequenceNumber_decode_aper,
+ RANAP_UL_GTP_PDU_SequenceNumber_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_UL_GTP_PDU_SequenceNumber_tags_1,
+ sizeof(asn_DEF_RANAP_UL_GTP_PDU_SequenceNumber_tags_1)
+ /sizeof(asn_DEF_RANAP_UL_GTP_PDU_SequenceNumber_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_UL_GTP_PDU_SequenceNumber_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_UL_GTP_PDU_SequenceNumber_tags_1)
+ /sizeof(asn_DEF_RANAP_UL_GTP_PDU_SequenceNumber_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_UL_GTP_PDU_SequenceNumber_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_UL-GTP-PDU-SequenceNumber.h b/src/ranap/RANAP_UL-GTP-PDU-SequenceNumber.h
new file mode 100644
index 0000000..3a969ae
--- /dev/null
+++ b/src/ranap/RANAP_UL-GTP-PDU-SequenceNumber.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_UL_GTP_PDU_SequenceNumber_H_
+#define _RANAP_UL_GTP_PDU_SequenceNumber_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_UL-GTP-PDU-SequenceNumber */
+typedef long RANAP_UL_GTP_PDU_SequenceNumber_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_UL_GTP_PDU_SequenceNumber;
+asn_struct_free_f RANAP_UL_GTP_PDU_SequenceNumber_free;
+asn_struct_print_f RANAP_UL_GTP_PDU_SequenceNumber_print;
+asn_constr_check_f RANAP_UL_GTP_PDU_SequenceNumber_constraint;
+ber_type_decoder_f RANAP_UL_GTP_PDU_SequenceNumber_decode_ber;
+der_type_encoder_f RANAP_UL_GTP_PDU_SequenceNumber_encode_der;
+xer_type_decoder_f RANAP_UL_GTP_PDU_SequenceNumber_decode_xer;
+xer_type_encoder_f RANAP_UL_GTP_PDU_SequenceNumber_encode_xer;
+per_type_decoder_f RANAP_UL_GTP_PDU_SequenceNumber_decode_uper;
+per_type_encoder_f RANAP_UL_GTP_PDU_SequenceNumber_encode_uper;
+per_type_decoder_f RANAP_UL_GTP_PDU_SequenceNumber_decode_aper;
+per_type_encoder_f RANAP_UL_GTP_PDU_SequenceNumber_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_UL_GTP_PDU_SequenceNumber_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_UL-N-PDU-SequenceNumber.c b/src/ranap/RANAP_UL-N-PDU-SequenceNumber.c
new file mode 100644
index 0000000..6641d9a
--- /dev/null
+++ b/src/ranap/RANAP_UL-N-PDU-SequenceNumber.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_UL-N-PDU-SequenceNumber.h"
+
+int
+RANAP_UL_N_PDU_SequenceNumber_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 65535l)) {
+ /* 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 void
+RANAP_UL_N_PDU_SequenceNumber_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_UL_N_PDU_SequenceNumber_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_UL_N_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_UL_N_PDU_SequenceNumber_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UL_N_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UL_N_PDU_SequenceNumber_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_UL_N_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_UL_N_PDU_SequenceNumber_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UL_N_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UL_N_PDU_SequenceNumber_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_UL_N_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_UL_N_PDU_SequenceNumber_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UL_N_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UL_N_PDU_SequenceNumber_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_UL_N_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_UL_N_PDU_SequenceNumber_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_UL_N_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_UL_N_PDU_SequenceNumber_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_UL_N_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_UL_N_PDU_SequenceNumber_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_UL_N_PDU_SequenceNumber_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_UL_N_PDU_SequenceNumber_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (0..65535) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_UL_N_PDU_SequenceNumber_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_UL_N_PDU_SequenceNumber = {
+ "RANAP_UL-N-PDU-SequenceNumber",
+ "RANAP_UL-N-PDU-SequenceNumber",
+ RANAP_UL_N_PDU_SequenceNumber_free,
+ RANAP_UL_N_PDU_SequenceNumber_print,
+ RANAP_UL_N_PDU_SequenceNumber_constraint,
+ RANAP_UL_N_PDU_SequenceNumber_decode_ber,
+ RANAP_UL_N_PDU_SequenceNumber_encode_der,
+ RANAP_UL_N_PDU_SequenceNumber_decode_xer,
+ RANAP_UL_N_PDU_SequenceNumber_encode_xer,
+ RANAP_UL_N_PDU_SequenceNumber_decode_uper,
+ RANAP_UL_N_PDU_SequenceNumber_encode_uper,
+ RANAP_UL_N_PDU_SequenceNumber_decode_aper,
+ RANAP_UL_N_PDU_SequenceNumber_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_UL_N_PDU_SequenceNumber_tags_1,
+ sizeof(asn_DEF_RANAP_UL_N_PDU_SequenceNumber_tags_1)
+ /sizeof(asn_DEF_RANAP_UL_N_PDU_SequenceNumber_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_UL_N_PDU_SequenceNumber_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_UL_N_PDU_SequenceNumber_tags_1)
+ /sizeof(asn_DEF_RANAP_UL_N_PDU_SequenceNumber_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_UL_N_PDU_SequenceNumber_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_UL-N-PDU-SequenceNumber.h b/src/ranap/RANAP_UL-N-PDU-SequenceNumber.h
new file mode 100644
index 0000000..b7304c7
--- /dev/null
+++ b/src/ranap/RANAP_UL-N-PDU-SequenceNumber.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_UL_N_PDU_SequenceNumber_H_
+#define _RANAP_UL_N_PDU_SequenceNumber_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_UL-N-PDU-SequenceNumber */
+typedef long RANAP_UL_N_PDU_SequenceNumber_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_UL_N_PDU_SequenceNumber;
+asn_struct_free_f RANAP_UL_N_PDU_SequenceNumber_free;
+asn_struct_print_f RANAP_UL_N_PDU_SequenceNumber_print;
+asn_constr_check_f RANAP_UL_N_PDU_SequenceNumber_constraint;
+ber_type_decoder_f RANAP_UL_N_PDU_SequenceNumber_decode_ber;
+der_type_encoder_f RANAP_UL_N_PDU_SequenceNumber_encode_der;
+xer_type_decoder_f RANAP_UL_N_PDU_SequenceNumber_decode_xer;
+xer_type_encoder_f RANAP_UL_N_PDU_SequenceNumber_encode_xer;
+per_type_decoder_f RANAP_UL_N_PDU_SequenceNumber_decode_uper;
+per_type_encoder_f RANAP_UL_N_PDU_SequenceNumber_encode_uper;
+per_type_decoder_f RANAP_UL_N_PDU_SequenceNumber_decode_aper;
+per_type_encoder_f RANAP_UL_N_PDU_SequenceNumber_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_UL_N_PDU_SequenceNumber_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_UP-ModeVersions.c b/src/ranap/RANAP_UP-ModeVersions.c
new file mode 100644
index 0000000..7d70d1e
--- /dev/null
+++ b/src/ranap/RANAP_UP-ModeVersions.c
@@ -0,0 +1,171 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_UP-ModeVersions.h"
+
+int
+RANAP_UP_ModeVersions_constraint(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 == 16l)) {
+ /* 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 void
+RANAP_UP_ModeVersions_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_BIT_STRING.free_struct;
+ td->print_struct = asn_DEF_BIT_STRING.print_struct;
+ td->check_constraints = asn_DEF_BIT_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_BIT_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_BIT_STRING.per_constraints;
+ td->elements = asn_DEF_BIT_STRING.elements;
+ td->elements_count = asn_DEF_BIT_STRING.elements_count;
+ td->specifics = asn_DEF_BIT_STRING.specifics;
+}
+
+void
+RANAP_UP_ModeVersions_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_UP_ModeVersions_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_UP_ModeVersions_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UP_ModeVersions_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UP_ModeVersions_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_UP_ModeVersions_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_UP_ModeVersions_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UP_ModeVersions_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UP_ModeVersions_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_UP_ModeVersions_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_UP_ModeVersions_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UP_ModeVersions_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UP_ModeVersions_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_UP_ModeVersions_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_UP_ModeVersions_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_UP_ModeVersions_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_UP_ModeVersions_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_UP_ModeVersions_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_UP_ModeVersions_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_UP_ModeVersions_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_UP_ModeVersions_constr_1 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 0, 0, 16l, 16l } /* (SIZE(16..16)) */,
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_UP_ModeVersions_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_UP_ModeVersions = {
+ "RANAP_UP-ModeVersions",
+ "RANAP_UP-ModeVersions",
+ RANAP_UP_ModeVersions_free,
+ RANAP_UP_ModeVersions_print,
+ RANAP_UP_ModeVersions_constraint,
+ RANAP_UP_ModeVersions_decode_ber,
+ RANAP_UP_ModeVersions_encode_der,
+ RANAP_UP_ModeVersions_decode_xer,
+ RANAP_UP_ModeVersions_encode_xer,
+ RANAP_UP_ModeVersions_decode_uper,
+ RANAP_UP_ModeVersions_encode_uper,
+ RANAP_UP_ModeVersions_decode_aper,
+ RANAP_UP_ModeVersions_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_UP_ModeVersions_tags_1,
+ sizeof(asn_DEF_RANAP_UP_ModeVersions_tags_1)
+ /sizeof(asn_DEF_RANAP_UP_ModeVersions_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_UP_ModeVersions_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_UP_ModeVersions_tags_1)
+ /sizeof(asn_DEF_RANAP_UP_ModeVersions_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_UP_ModeVersions_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_UP-ModeVersions.h b/src/ranap/RANAP_UP-ModeVersions.h
new file mode 100644
index 0000000..209bb28
--- /dev/null
+++ b/src/ranap/RANAP_UP-ModeVersions.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_UP_ModeVersions_H_
+#define _RANAP_UP_ModeVersions_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_UP-ModeVersions */
+typedef BIT_STRING_t RANAP_UP_ModeVersions_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_UP_ModeVersions;
+asn_struct_free_f RANAP_UP_ModeVersions_free;
+asn_struct_print_f RANAP_UP_ModeVersions_print;
+asn_constr_check_f RANAP_UP_ModeVersions_constraint;
+ber_type_decoder_f RANAP_UP_ModeVersions_decode_ber;
+der_type_encoder_f RANAP_UP_ModeVersions_encode_der;
+xer_type_decoder_f RANAP_UP_ModeVersions_decode_xer;
+xer_type_encoder_f RANAP_UP_ModeVersions_encode_xer;
+per_type_decoder_f RANAP_UP_ModeVersions_decode_uper;
+per_type_encoder_f RANAP_UP_ModeVersions_encode_uper;
+per_type_decoder_f RANAP_UP_ModeVersions_decode_aper;
+per_type_encoder_f RANAP_UP_ModeVersions_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_UP_ModeVersions_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_UPInformation.c b/src/ranap/RANAP_UPInformation.c
new file mode 100644
index 0000000..3c46dbf
--- /dev/null
+++ b/src/ranap/RANAP_UPInformation.c
@@ -0,0 +1,123 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_UPInformation.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_UPInformation_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_UPInformation, frameSeqNoUL),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_FrameSequenceNumber,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "frameSeqNoUL"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_UPInformation, frameSeqNoDL),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_FrameSequenceNumber,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "frameSeqNoDL"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_UPInformation, pdu14FrameSeqNoUL),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PDUType14FrameSequenceNumber,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "pdu14FrameSeqNoUL"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_UPInformation, pdu14FrameSeqNoDL),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PDUType14FrameSequenceNumber,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "pdu14FrameSeqNoDL"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_UPInformation, dataPDUType),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_DataPDUType,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "dataPDUType"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_UPInformation, upinitialisationFrame),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_UPInitialisationFrame,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "upinitialisationFrame"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_UPInformation, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_UPInformation_oms_1[] = { 6 };
+static const ber_tlv_tag_t asn_DEF_RANAP_UPInformation_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_UPInformation_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* frameSeqNoUL */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* frameSeqNoDL */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* pdu14FrameSeqNoUL */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* pdu14FrameSeqNoDL */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* dataPDUType */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* upinitialisationFrame */
+ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_UPInformation_specs_1 = {
+ sizeof(struct RANAP_UPInformation),
+ offsetof(struct RANAP_UPInformation, _asn_ctx),
+ asn_MAP_RANAP_UPInformation_tag2el_1,
+ 7, /* Count of tags in the map */
+ asn_MAP_RANAP_UPInformation_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 6, /* Start extensions */
+ 8 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_UPInformation = {
+ "RANAP_UPInformation",
+ "RANAP_UPInformation",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_UPInformation_tags_1,
+ sizeof(asn_DEF_RANAP_UPInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_UPInformation_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_UPInformation_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_UPInformation_tags_1)
+ /sizeof(asn_DEF_RANAP_UPInformation_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_UPInformation_1,
+ 7, /* Elements count */
+ &asn_SPC_RANAP_UPInformation_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_UPInformation.h b/src/ranap/RANAP_UPInformation.h
new file mode 100644
index 0000000..23e7e70
--- /dev/null
+++ b/src/ranap/RANAP_UPInformation.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_UPInformation_H_
+#define _RANAP_UPInformation_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_FrameSequenceNumber.h"
+#include "RANAP_PDUType14FrameSequenceNumber.h"
+#include "RANAP_DataPDUType.h"
+#include "RANAP_UPInitialisationFrame.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_UPInformation */
+typedef struct RANAP_UPInformation {
+ RANAP_FrameSequenceNumber_t frameSeqNoUL;
+ RANAP_FrameSequenceNumber_t frameSeqNoDL;
+ RANAP_PDUType14FrameSequenceNumber_t pdu14FrameSeqNoUL;
+ RANAP_PDUType14FrameSequenceNumber_t pdu14FrameSeqNoDL;
+ RANAP_DataPDUType_t dataPDUType;
+ RANAP_UPInitialisationFrame_t upinitialisationFrame;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_UPInformation_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_UPInformation;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_UPInformation_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_UPInitialisationFrame.c b/src/ranap/RANAP_UPInitialisationFrame.c
new file mode 100644
index 0000000..a892d93
--- /dev/null
+++ b/src/ranap/RANAP_UPInitialisationFrame.c
@@ -0,0 +1,143 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_UPInitialisationFrame.h"
+
+int
+RANAP_UPInitialisationFrame_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_UPInitialisationFrame_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->check_constraints = asn_DEF_OCTET_STRING.check_constraints;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder;
+ td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+RANAP_UPInitialisationFrame_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_UPInitialisationFrame_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_UPInitialisationFrame_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UPInitialisationFrame_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UPInitialisationFrame_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_UPInitialisationFrame_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_UPInitialisationFrame_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UPInitialisationFrame_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UPInitialisationFrame_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_UPInitialisationFrame_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_UPInitialisationFrame_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UPInitialisationFrame_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UPInitialisationFrame_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_UPInitialisationFrame_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_UPInitialisationFrame_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_UPInitialisationFrame_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_UPInitialisationFrame_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_UPInitialisationFrame_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_UPInitialisationFrame_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_UPInitialisationFrame_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static const ber_tlv_tag_t asn_DEF_RANAP_UPInitialisationFrame_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_UPInitialisationFrame = {
+ "RANAP_UPInitialisationFrame",
+ "RANAP_UPInitialisationFrame",
+ RANAP_UPInitialisationFrame_free,
+ RANAP_UPInitialisationFrame_print,
+ RANAP_UPInitialisationFrame_constraint,
+ RANAP_UPInitialisationFrame_decode_ber,
+ RANAP_UPInitialisationFrame_encode_der,
+ RANAP_UPInitialisationFrame_decode_xer,
+ RANAP_UPInitialisationFrame_encode_xer,
+ RANAP_UPInitialisationFrame_decode_uper,
+ RANAP_UPInitialisationFrame_encode_uper,
+ RANAP_UPInitialisationFrame_decode_aper,
+ RANAP_UPInitialisationFrame_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_UPInitialisationFrame_tags_1,
+ sizeof(asn_DEF_RANAP_UPInitialisationFrame_tags_1)
+ /sizeof(asn_DEF_RANAP_UPInitialisationFrame_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_UPInitialisationFrame_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_UPInitialisationFrame_tags_1)
+ /sizeof(asn_DEF_RANAP_UPInitialisationFrame_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_UPInitialisationFrame.h b/src/ranap/RANAP_UPInitialisationFrame.h
new file mode 100644
index 0000000..1118f14
--- /dev/null
+++ b/src/ranap/RANAP_UPInitialisationFrame.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_UPInitialisationFrame_H_
+#define _RANAP_UPInitialisationFrame_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_UPInitialisationFrame */
+typedef OCTET_STRING_t RANAP_UPInitialisationFrame_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_UPInitialisationFrame;
+asn_struct_free_f RANAP_UPInitialisationFrame_free;
+asn_struct_print_f RANAP_UPInitialisationFrame_print;
+asn_constr_check_f RANAP_UPInitialisationFrame_constraint;
+ber_type_decoder_f RANAP_UPInitialisationFrame_decode_ber;
+der_type_encoder_f RANAP_UPInitialisationFrame_encode_der;
+xer_type_decoder_f RANAP_UPInitialisationFrame_decode_xer;
+xer_type_encoder_f RANAP_UPInitialisationFrame_encode_xer;
+per_type_decoder_f RANAP_UPInitialisationFrame_decode_uper;
+per_type_encoder_f RANAP_UPInitialisationFrame_encode_uper;
+per_type_decoder_f RANAP_UPInitialisationFrame_decode_aper;
+per_type_encoder_f RANAP_UPInitialisationFrame_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_UPInitialisationFrame_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_USCH-ID.c b/src/ranap/RANAP_USCH-ID.c
new file mode 100644
index 0000000..4585a23
--- /dev/null
+++ b/src/ranap/RANAP_USCH-ID.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_USCH-ID.h"
+
+int
+RANAP_USCH_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 255l)) {
+ /* 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 void
+RANAP_USCH_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_USCH_ID_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_USCH_ID_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_USCH_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_USCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_USCH_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_USCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_USCH_ID_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_USCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_USCH_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_USCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_USCH_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_USCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_USCH_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_USCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_USCH_ID_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_USCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_USCH_ID_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_USCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_USCH_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_USCH_ID_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_USCH_ID_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 8, 8, 0l, 255l } /* (0..255) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_USCH_ID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_USCH_ID = {
+ "RANAP_USCH-ID",
+ "RANAP_USCH-ID",
+ RANAP_USCH_ID_free,
+ RANAP_USCH_ID_print,
+ RANAP_USCH_ID_constraint,
+ RANAP_USCH_ID_decode_ber,
+ RANAP_USCH_ID_encode_der,
+ RANAP_USCH_ID_decode_xer,
+ RANAP_USCH_ID_encode_xer,
+ RANAP_USCH_ID_decode_uper,
+ RANAP_USCH_ID_encode_uper,
+ RANAP_USCH_ID_decode_aper,
+ RANAP_USCH_ID_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_USCH_ID_tags_1,
+ sizeof(asn_DEF_RANAP_USCH_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_USCH_ID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_USCH_ID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_USCH_ID_tags_1)
+ /sizeof(asn_DEF_RANAP_USCH_ID_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_USCH_ID_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_USCH-ID.h b/src/ranap/RANAP_USCH-ID.h
new file mode 100644
index 0000000..2462e8e
--- /dev/null
+++ b/src/ranap/RANAP_USCH-ID.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_USCH_ID_H_
+#define _RANAP_USCH_ID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_USCH-ID */
+typedef long RANAP_USCH_ID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_USCH_ID;
+asn_struct_free_f RANAP_USCH_ID_free;
+asn_struct_print_f RANAP_USCH_ID_print;
+asn_constr_check_f RANAP_USCH_ID_constraint;
+ber_type_decoder_f RANAP_USCH_ID_decode_ber;
+der_type_encoder_f RANAP_USCH_ID_encode_der;
+xer_type_decoder_f RANAP_USCH_ID_decode_xer;
+xer_type_encoder_f RANAP_USCH_ID_encode_xer;
+per_type_decoder_f RANAP_USCH_ID_decode_uper;
+per_type_encoder_f RANAP_USCH_ID_encode_uper;
+per_type_decoder_f RANAP_USCH_ID_decode_aper;
+per_type_encoder_f RANAP_USCH_ID_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_USCH_ID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_UTRAN-CellID.c b/src/ranap/RANAP_UTRAN-CellID.c
new file mode 100644
index 0000000..9005bee
--- /dev/null
+++ b/src/ranap/RANAP_UTRAN-CellID.c
@@ -0,0 +1,83 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_UTRAN-CellID.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_UTRAN_CellID_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_UTRAN_CellID, pLMNidentity),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_PLMNidentity,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "pLMNidentity"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_UTRAN_CellID, cellID),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_TargetCellId,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "cellID"
+ },
+ { ATF_POINTER, 1, offsetof(struct RANAP_UTRAN_CellID, iE_Extensions),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_IE_Extensions,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "iE-Extensions"
+ },
+};
+static const int asn_MAP_RANAP_UTRAN_CellID_oms_1[] = { 2 };
+static const ber_tlv_tag_t asn_DEF_RANAP_UTRAN_CellID_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_UTRAN_CellID_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNidentity */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cellID */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_UTRAN_CellID_specs_1 = {
+ sizeof(struct RANAP_UTRAN_CellID),
+ offsetof(struct RANAP_UTRAN_CellID, _asn_ctx),
+ asn_MAP_RANAP_UTRAN_CellID_tag2el_1,
+ 3, /* Count of tags in the map */
+ asn_MAP_RANAP_UTRAN_CellID_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_UTRAN_CellID = {
+ "RANAP_UTRAN-CellID",
+ "RANAP_UTRAN-CellID",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_UTRAN_CellID_tags_1,
+ sizeof(asn_DEF_RANAP_UTRAN_CellID_tags_1)
+ /sizeof(asn_DEF_RANAP_UTRAN_CellID_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_UTRAN_CellID_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_UTRAN_CellID_tags_1)
+ /sizeof(asn_DEF_RANAP_UTRAN_CellID_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_UTRAN_CellID_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_UTRAN_CellID_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_UTRAN-CellID.h b/src/ranap/RANAP_UTRAN-CellID.h
new file mode 100644
index 0000000..de66d45
--- /dev/null
+++ b/src/ranap/RANAP_UTRAN-CellID.h
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_UTRAN_CellID_H_
+#define _RANAP_UTRAN_CellID_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_PLMNidentity.h"
+#include "RANAP_TargetCellId.h"
+#include "RANAP_IE-Extensions.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_UTRAN-CellID */
+typedef struct RANAP_UTRAN_CellID {
+ RANAP_PLMNidentity_t pLMNidentity;
+ RANAP_TargetCellId_t cellID;
+ RANAP_IE_Extensions_t *iE_Extensions /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_UTRAN_CellID_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_UTRAN_CellID;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_UTRAN_CellID_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_UeRadioCapabilityMatchRequest.c b/src/ranap/RANAP_UeRadioCapabilityMatchRequest.c
new file mode 100644
index 0000000..30a1a65
--- /dev/null
+++ b/src/ranap/RANAP_UeRadioCapabilityMatchRequest.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_UeRadioCapabilityMatchRequest.h"
+
+static int
+memb_ueRadioCapabilityMatchRequest_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_ueRadioCapabilityMatchRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_ueRadioCapabilityMatchRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ueRadioCapabilityMatchRequest_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ueRadioCapabilityMatchRequest_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ueRadioCapabilityMatchRequest_ies_specs_2 = {
+ sizeof(struct ueRadioCapabilityMatchRequest_ies),
+ offsetof(struct ueRadioCapabilityMatchRequest_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ueRadioCapabilityMatchRequest_ies_2 = {
+ "ueRadioCapabilityMatchRequest-ies",
+ "ueRadioCapabilityMatchRequest-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_ueRadioCapabilityMatchRequest_ies_tags_2,
+ sizeof(asn_DEF_ueRadioCapabilityMatchRequest_ies_tags_2)
+ /sizeof(asn_DEF_ueRadioCapabilityMatchRequest_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_ueRadioCapabilityMatchRequest_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_ueRadioCapabilityMatchRequest_ies_tags_2)
+ /sizeof(asn_DEF_ueRadioCapabilityMatchRequest_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_ueRadioCapabilityMatchRequest_ies_constr_2,
+ asn_MBR_ueRadioCapabilityMatchRequest_ies_2,
+ 1, /* Single element */
+ &asn_SPC_ueRadioCapabilityMatchRequest_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_UeRadioCapabilityMatchRequest_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_UeRadioCapabilityMatchRequest, ueRadioCapabilityMatchRequest_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_ueRadioCapabilityMatchRequest_ies_2,
+ memb_ueRadioCapabilityMatchRequest_ies_constraint_1,
+ &asn_PER_memb_ueRadioCapabilityMatchRequest_ies_constr_2,
+ 0,
+ "ueRadioCapabilityMatchRequest-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_UeRadioCapabilityMatchRequest_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_UeRadioCapabilityMatchRequest_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ueRadioCapabilityMatchRequest-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_UeRadioCapabilityMatchRequest_specs_1 = {
+ sizeof(struct RANAP_UeRadioCapabilityMatchRequest),
+ offsetof(struct RANAP_UeRadioCapabilityMatchRequest, _asn_ctx),
+ asn_MAP_RANAP_UeRadioCapabilityMatchRequest_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_UeRadioCapabilityMatchRequest = {
+ "RANAP_UeRadioCapabilityMatchRequest",
+ "RANAP_UeRadioCapabilityMatchRequest",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_UeRadioCapabilityMatchRequest_tags_1,
+ sizeof(asn_DEF_RANAP_UeRadioCapabilityMatchRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_UeRadioCapabilityMatchRequest_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_UeRadioCapabilityMatchRequest_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_UeRadioCapabilityMatchRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_UeRadioCapabilityMatchRequest_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_UeRadioCapabilityMatchRequest_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_UeRadioCapabilityMatchRequest_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_UeRadioCapabilityMatchRequest.h b/src/ranap/RANAP_UeRadioCapabilityMatchRequest.h
new file mode 100644
index 0000000..5c8c01b
--- /dev/null
+++ b/src/ranap/RANAP_UeRadioCapabilityMatchRequest.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_UeRadioCapabilityMatchRequest_H_
+#define _RANAP_UeRadioCapabilityMatchRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_UeRadioCapabilityMatchRequest */
+typedef struct RANAP_UeRadioCapabilityMatchRequest {
+ struct ueRadioCapabilityMatchRequest_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } ueRadioCapabilityMatchRequest_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_UeRadioCapabilityMatchRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_UeRadioCapabilityMatchRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_UeRadioCapabilityMatchRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_UeRadioCapabilityMatchResponse.c b/src/ranap/RANAP_UeRadioCapabilityMatchResponse.c
new file mode 100644
index 0000000..4f56f8d
--- /dev/null
+++ b/src/ranap/RANAP_UeRadioCapabilityMatchResponse.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_UeRadioCapabilityMatchResponse.h"
+
+static int
+memb_ueRadioCapabilityMatchResponse_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_ueRadioCapabilityMatchResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_ueRadioCapabilityMatchResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_ueRadioCapabilityMatchResponse_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ueRadioCapabilityMatchResponse_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_ueRadioCapabilityMatchResponse_ies_specs_2 = {
+ sizeof(struct ueRadioCapabilityMatchResponse_ies),
+ offsetof(struct ueRadioCapabilityMatchResponse_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_ueRadioCapabilityMatchResponse_ies_2 = {
+ "ueRadioCapabilityMatchResponse-ies",
+ "ueRadioCapabilityMatchResponse-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_ueRadioCapabilityMatchResponse_ies_tags_2,
+ sizeof(asn_DEF_ueRadioCapabilityMatchResponse_ies_tags_2)
+ /sizeof(asn_DEF_ueRadioCapabilityMatchResponse_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_ueRadioCapabilityMatchResponse_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_ueRadioCapabilityMatchResponse_ies_tags_2)
+ /sizeof(asn_DEF_ueRadioCapabilityMatchResponse_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_ueRadioCapabilityMatchResponse_ies_constr_2,
+ asn_MBR_ueRadioCapabilityMatchResponse_ies_2,
+ 1, /* Single element */
+ &asn_SPC_ueRadioCapabilityMatchResponse_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_UeRadioCapabilityMatchResponse_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_UeRadioCapabilityMatchResponse, ueRadioCapabilityMatchResponse_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_ueRadioCapabilityMatchResponse_ies_2,
+ memb_ueRadioCapabilityMatchResponse_ies_constraint_1,
+ &asn_PER_memb_ueRadioCapabilityMatchResponse_ies_constr_2,
+ 0,
+ "ueRadioCapabilityMatchResponse-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_UeRadioCapabilityMatchResponse_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_UeRadioCapabilityMatchResponse_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ueRadioCapabilityMatchResponse-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_UeRadioCapabilityMatchResponse_specs_1 = {
+ sizeof(struct RANAP_UeRadioCapabilityMatchResponse),
+ offsetof(struct RANAP_UeRadioCapabilityMatchResponse, _asn_ctx),
+ asn_MAP_RANAP_UeRadioCapabilityMatchResponse_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_UeRadioCapabilityMatchResponse = {
+ "RANAP_UeRadioCapabilityMatchResponse",
+ "RANAP_UeRadioCapabilityMatchResponse",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_UeRadioCapabilityMatchResponse_tags_1,
+ sizeof(asn_DEF_RANAP_UeRadioCapabilityMatchResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_UeRadioCapabilityMatchResponse_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_UeRadioCapabilityMatchResponse_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_UeRadioCapabilityMatchResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_UeRadioCapabilityMatchResponse_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_UeRadioCapabilityMatchResponse_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_UeRadioCapabilityMatchResponse_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_UeRadioCapabilityMatchResponse.h b/src/ranap/RANAP_UeRadioCapabilityMatchResponse.h
new file mode 100644
index 0000000..8142c63
--- /dev/null
+++ b/src/ranap/RANAP_UeRadioCapabilityMatchResponse.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_UeRadioCapabilityMatchResponse_H_
+#define _RANAP_UeRadioCapabilityMatchResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_UeRadioCapabilityMatchResponse */
+typedef struct RANAP_UeRadioCapabilityMatchResponse {
+ struct ueRadioCapabilityMatchResponse_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } ueRadioCapabilityMatchResponse_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_UeRadioCapabilityMatchResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_UeRadioCapabilityMatchResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_UeRadioCapabilityMatchResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_UnsuccessfulOutcome.c b/src/ranap/RANAP_UnsuccessfulOutcome.c
new file mode 100644
index 0000000..6ea65b1
--- /dev/null
+++ b/src/ranap/RANAP_UnsuccessfulOutcome.c
@@ -0,0 +1,81 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_UnsuccessfulOutcome.h"
+
+static asn_TYPE_member_t asn_MBR_RANAP_UnsuccessfulOutcome_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_UnsuccessfulOutcome, procedureCode),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_ProcedureCode,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "procedureCode"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_UnsuccessfulOutcome, criticality),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_Criticality,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "criticality"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_UnsuccessfulOutcome, value),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ANY,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "value"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_UnsuccessfulOutcome_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_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 */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_UnsuccessfulOutcome_specs_1 = {
+ sizeof(struct RANAP_UnsuccessfulOutcome),
+ offsetof(struct RANAP_UnsuccessfulOutcome, _asn_ctx),
+ asn_MAP_RANAP_UnsuccessfulOutcome_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_UnsuccessfulOutcome = {
+ "RANAP_UnsuccessfulOutcome",
+ "RANAP_UnsuccessfulOutcome",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_UnsuccessfulOutcome_tags_1,
+ sizeof(asn_DEF_RANAP_UnsuccessfulOutcome_tags_1)
+ /sizeof(asn_DEF_RANAP_UnsuccessfulOutcome_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_UnsuccessfulOutcome_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_UnsuccessfulOutcome_tags_1)
+ /sizeof(asn_DEF_RANAP_UnsuccessfulOutcome_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_UnsuccessfulOutcome_1,
+ 3, /* Elements count */
+ &asn_SPC_RANAP_UnsuccessfulOutcome_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_UnsuccessfulOutcome.h b/src/ranap/RANAP_UnsuccessfulOutcome.h
new file mode 100644
index 0000000..5f77557
--- /dev/null
+++ b/src/ranap/RANAP_UnsuccessfulOutcome.h
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_UnsuccessfulOutcome_H_
+#define _RANAP_UnsuccessfulOutcome_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_ProcedureCode.h"
+#include "RANAP_Criticality.h"
+#include <ANY.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_UnsuccessfulOutcome */
+typedef struct RANAP_UnsuccessfulOutcome {
+ RANAP_ProcedureCode_t procedureCode;
+ RANAP_Criticality_t criticality;
+ ANY_t value;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_UnsuccessfulOutcome_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_UnsuccessfulOutcome;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_UnsuccessfulOutcome_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_UnsuccessfullyTransmittedDataVolume.c b/src/ranap/RANAP_UnsuccessfullyTransmittedDataVolume.c
new file mode 100644
index 0000000..76bfea6
--- /dev/null
+++ b/src/ranap/RANAP_UnsuccessfullyTransmittedDataVolume.c
@@ -0,0 +1,161 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_UnsuccessfullyTransmittedDataVolume.h"
+
+int
+RANAP_UnsuccessfullyTransmittedDataVolume_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *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 void
+RANAP_UnsuccessfullyTransmittedDataVolume_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ /* td->specifics = asn_DEF_NativeInteger.specifics; // Defined explicitly */
+}
+
+void
+RANAP_UnsuccessfullyTransmittedDataVolume_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_UnsuccessfullyTransmittedDataVolume_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_UnsuccessfullyTransmittedDataVolume_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UnsuccessfullyTransmittedDataVolume_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UnsuccessfullyTransmittedDataVolume_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_UnsuccessfullyTransmittedDataVolume_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_UnsuccessfullyTransmittedDataVolume_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UnsuccessfullyTransmittedDataVolume_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UnsuccessfullyTransmittedDataVolume_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_UnsuccessfullyTransmittedDataVolume_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_UnsuccessfullyTransmittedDataVolume_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UnsuccessfullyTransmittedDataVolume_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UnsuccessfullyTransmittedDataVolume_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_UnsuccessfullyTransmittedDataVolume_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_UnsuccessfullyTransmittedDataVolume_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_UnsuccessfullyTransmittedDataVolume_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_UnsuccessfullyTransmittedDataVolume_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_UnsuccessfullyTransmittedDataVolume_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_UnsuccessfullyTransmittedDataVolume_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_UnsuccessfullyTransmittedDataVolume_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_UnsuccessfullyTransmittedDataVolume_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 32, -1, 0l, 4294967295ul } /* (0..4294967295) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_UnsuccessfullyTransmittedDataVolume_specs_1 = {
+ 0, 0, 0, 0, 0,
+ 0, /* Native long size */
+ 1 /* Unsigned representation */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_UnsuccessfullyTransmittedDataVolume_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_UnsuccessfullyTransmittedDataVolume = {
+ "RANAP_UnsuccessfullyTransmittedDataVolume",
+ "RANAP_UnsuccessfullyTransmittedDataVolume",
+ RANAP_UnsuccessfullyTransmittedDataVolume_free,
+ RANAP_UnsuccessfullyTransmittedDataVolume_print,
+ RANAP_UnsuccessfullyTransmittedDataVolume_constraint,
+ RANAP_UnsuccessfullyTransmittedDataVolume_decode_ber,
+ RANAP_UnsuccessfullyTransmittedDataVolume_encode_der,
+ RANAP_UnsuccessfullyTransmittedDataVolume_decode_xer,
+ RANAP_UnsuccessfullyTransmittedDataVolume_encode_xer,
+ RANAP_UnsuccessfullyTransmittedDataVolume_decode_uper,
+ RANAP_UnsuccessfullyTransmittedDataVolume_encode_uper,
+ RANAP_UnsuccessfullyTransmittedDataVolume_decode_aper,
+ RANAP_UnsuccessfullyTransmittedDataVolume_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_UnsuccessfullyTransmittedDataVolume_tags_1,
+ sizeof(asn_DEF_RANAP_UnsuccessfullyTransmittedDataVolume_tags_1)
+ /sizeof(asn_DEF_RANAP_UnsuccessfullyTransmittedDataVolume_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_UnsuccessfullyTransmittedDataVolume_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_UnsuccessfullyTransmittedDataVolume_tags_1)
+ /sizeof(asn_DEF_RANAP_UnsuccessfullyTransmittedDataVolume_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_UnsuccessfullyTransmittedDataVolume_constr_1,
+ 0, 0, /* No members */
+ &asn_SPC_RANAP_UnsuccessfullyTransmittedDataVolume_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_UnsuccessfullyTransmittedDataVolume.h b/src/ranap/RANAP_UnsuccessfullyTransmittedDataVolume.h
new file mode 100644
index 0000000..be64f7b
--- /dev/null
+++ b/src/ranap/RANAP_UnsuccessfullyTransmittedDataVolume.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_UnsuccessfullyTransmittedDataVolume_H_
+#define _RANAP_UnsuccessfullyTransmittedDataVolume_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_UnsuccessfullyTransmittedDataVolume */
+typedef unsigned long RANAP_UnsuccessfullyTransmittedDataVolume_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_UnsuccessfullyTransmittedDataVolume;
+asn_struct_free_f RANAP_UnsuccessfullyTransmittedDataVolume_free;
+asn_struct_print_f RANAP_UnsuccessfullyTransmittedDataVolume_print;
+asn_constr_check_f RANAP_UnsuccessfullyTransmittedDataVolume_constraint;
+ber_type_decoder_f RANAP_UnsuccessfullyTransmittedDataVolume_decode_ber;
+der_type_encoder_f RANAP_UnsuccessfullyTransmittedDataVolume_encode_der;
+xer_type_decoder_f RANAP_UnsuccessfullyTransmittedDataVolume_decode_xer;
+xer_type_encoder_f RANAP_UnsuccessfullyTransmittedDataVolume_encode_xer;
+per_type_decoder_f RANAP_UnsuccessfullyTransmittedDataVolume_decode_uper;
+per_type_encoder_f RANAP_UnsuccessfullyTransmittedDataVolume_encode_uper;
+per_type_decoder_f RANAP_UnsuccessfullyTransmittedDataVolume_decode_aper;
+per_type_encoder_f RANAP_UnsuccessfullyTransmittedDataVolume_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_UnsuccessfullyTransmittedDataVolume_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_UplinkInformationExchangeFailure.c b/src/ranap/RANAP_UplinkInformationExchangeFailure.c
new file mode 100644
index 0000000..4a4cbb9
--- /dev/null
+++ b/src/ranap/RANAP_UplinkInformationExchangeFailure.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_UplinkInformationExchangeFailure.h"
+
+static int
+memb_uplinkInformationExchangeFailure_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_uplinkInformationExchangeFailure_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_uplinkInformationExchangeFailure_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_uplinkInformationExchangeFailure_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_uplinkInformationExchangeFailure_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_uplinkInformationExchangeFailure_ies_specs_2 = {
+ sizeof(struct uplinkInformationExchangeFailure_ies),
+ offsetof(struct uplinkInformationExchangeFailure_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_uplinkInformationExchangeFailure_ies_2 = {
+ "uplinkInformationExchangeFailure-ies",
+ "uplinkInformationExchangeFailure-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_uplinkInformationExchangeFailure_ies_tags_2,
+ sizeof(asn_DEF_uplinkInformationExchangeFailure_ies_tags_2)
+ /sizeof(asn_DEF_uplinkInformationExchangeFailure_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_uplinkInformationExchangeFailure_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_uplinkInformationExchangeFailure_ies_tags_2)
+ /sizeof(asn_DEF_uplinkInformationExchangeFailure_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_uplinkInformationExchangeFailure_ies_constr_2,
+ asn_MBR_uplinkInformationExchangeFailure_ies_2,
+ 1, /* Single element */
+ &asn_SPC_uplinkInformationExchangeFailure_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_UplinkInformationExchangeFailure_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_UplinkInformationExchangeFailure, uplinkInformationExchangeFailure_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_uplinkInformationExchangeFailure_ies_2,
+ memb_uplinkInformationExchangeFailure_ies_constraint_1,
+ &asn_PER_memb_uplinkInformationExchangeFailure_ies_constr_2,
+ 0,
+ "uplinkInformationExchangeFailure-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_UplinkInformationExchangeFailure_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_UplinkInformationExchangeFailure_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* uplinkInformationExchangeFailure-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_UplinkInformationExchangeFailure_specs_1 = {
+ sizeof(struct RANAP_UplinkInformationExchangeFailure),
+ offsetof(struct RANAP_UplinkInformationExchangeFailure, _asn_ctx),
+ asn_MAP_RANAP_UplinkInformationExchangeFailure_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_UplinkInformationExchangeFailure = {
+ "RANAP_UplinkInformationExchangeFailure",
+ "RANAP_UplinkInformationExchangeFailure",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_UplinkInformationExchangeFailure_tags_1,
+ sizeof(asn_DEF_RANAP_UplinkInformationExchangeFailure_tags_1)
+ /sizeof(asn_DEF_RANAP_UplinkInformationExchangeFailure_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_UplinkInformationExchangeFailure_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_UplinkInformationExchangeFailure_tags_1)
+ /sizeof(asn_DEF_RANAP_UplinkInformationExchangeFailure_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_UplinkInformationExchangeFailure_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_UplinkInformationExchangeFailure_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_UplinkInformationExchangeFailure.h b/src/ranap/RANAP_UplinkInformationExchangeFailure.h
new file mode 100644
index 0000000..7f2f8e4
--- /dev/null
+++ b/src/ranap/RANAP_UplinkInformationExchangeFailure.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_UplinkInformationExchangeFailure_H_
+#define _RANAP_UplinkInformationExchangeFailure_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_UplinkInformationExchangeFailure */
+typedef struct RANAP_UplinkInformationExchangeFailure {
+ struct uplinkInformationExchangeFailure_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } uplinkInformationExchangeFailure_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_UplinkInformationExchangeFailure_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_UplinkInformationExchangeFailure;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_UplinkInformationExchangeFailure_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_UplinkInformationExchangeRequest.c b/src/ranap/RANAP_UplinkInformationExchangeRequest.c
new file mode 100644
index 0000000..1d1a5be
--- /dev/null
+++ b/src/ranap/RANAP_UplinkInformationExchangeRequest.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_UplinkInformationExchangeRequest.h"
+
+static int
+memb_uplinkInformationExchangeRequest_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_uplinkInformationExchangeRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_uplinkInformationExchangeRequest_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_uplinkInformationExchangeRequest_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_uplinkInformationExchangeRequest_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_uplinkInformationExchangeRequest_ies_specs_2 = {
+ sizeof(struct uplinkInformationExchangeRequest_ies),
+ offsetof(struct uplinkInformationExchangeRequest_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_uplinkInformationExchangeRequest_ies_2 = {
+ "uplinkInformationExchangeRequest-ies",
+ "uplinkInformationExchangeRequest-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_uplinkInformationExchangeRequest_ies_tags_2,
+ sizeof(asn_DEF_uplinkInformationExchangeRequest_ies_tags_2)
+ /sizeof(asn_DEF_uplinkInformationExchangeRequest_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_uplinkInformationExchangeRequest_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_uplinkInformationExchangeRequest_ies_tags_2)
+ /sizeof(asn_DEF_uplinkInformationExchangeRequest_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_uplinkInformationExchangeRequest_ies_constr_2,
+ asn_MBR_uplinkInformationExchangeRequest_ies_2,
+ 1, /* Single element */
+ &asn_SPC_uplinkInformationExchangeRequest_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_UplinkInformationExchangeRequest_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_UplinkInformationExchangeRequest, uplinkInformationExchangeRequest_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_uplinkInformationExchangeRequest_ies_2,
+ memb_uplinkInformationExchangeRequest_ies_constraint_1,
+ &asn_PER_memb_uplinkInformationExchangeRequest_ies_constr_2,
+ 0,
+ "uplinkInformationExchangeRequest-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_UplinkInformationExchangeRequest_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_UplinkInformationExchangeRequest_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* uplinkInformationExchangeRequest-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_UplinkInformationExchangeRequest_specs_1 = {
+ sizeof(struct RANAP_UplinkInformationExchangeRequest),
+ offsetof(struct RANAP_UplinkInformationExchangeRequest, _asn_ctx),
+ asn_MAP_RANAP_UplinkInformationExchangeRequest_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_UplinkInformationExchangeRequest = {
+ "RANAP_UplinkInformationExchangeRequest",
+ "RANAP_UplinkInformationExchangeRequest",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_UplinkInformationExchangeRequest_tags_1,
+ sizeof(asn_DEF_RANAP_UplinkInformationExchangeRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_UplinkInformationExchangeRequest_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_UplinkInformationExchangeRequest_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_UplinkInformationExchangeRequest_tags_1)
+ /sizeof(asn_DEF_RANAP_UplinkInformationExchangeRequest_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_UplinkInformationExchangeRequest_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_UplinkInformationExchangeRequest_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_UplinkInformationExchangeRequest.h b/src/ranap/RANAP_UplinkInformationExchangeRequest.h
new file mode 100644
index 0000000..52603cc
--- /dev/null
+++ b/src/ranap/RANAP_UplinkInformationExchangeRequest.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_UplinkInformationExchangeRequest_H_
+#define _RANAP_UplinkInformationExchangeRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_UplinkInformationExchangeRequest */
+typedef struct RANAP_UplinkInformationExchangeRequest {
+ struct uplinkInformationExchangeRequest_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } uplinkInformationExchangeRequest_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_UplinkInformationExchangeRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_UplinkInformationExchangeRequest;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_UplinkInformationExchangeRequest_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_UplinkInformationExchangeResponse.c b/src/ranap/RANAP_UplinkInformationExchangeResponse.c
new file mode 100644
index 0000000..cc37599
--- /dev/null
+++ b/src/ranap/RANAP_UplinkInformationExchangeResponse.c
@@ -0,0 +1,145 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#include "RANAP_UplinkInformationExchangeResponse.h"
+
+static int
+memb_uplinkInformationExchangeResponse_ies_constraint_1(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 <= 65535l)) {
+ /* Perform validation of the inner elements */
+ return td->check_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_uplinkInformationExchangeResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_per_constraints_t asn_PER_memb_uplinkInformationExchangeResponse_ies_constr_2 GCC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_uplinkInformationExchangeResponse_ies_2[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_RANAP_IE,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_uplinkInformationExchangeResponse_ies_tags_2[] = {
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_uplinkInformationExchangeResponse_ies_specs_2 = {
+ sizeof(struct uplinkInformationExchangeResponse_ies),
+ offsetof(struct uplinkInformationExchangeResponse_ies, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_uplinkInformationExchangeResponse_ies_2 = {
+ "uplinkInformationExchangeResponse-ies",
+ "uplinkInformationExchangeResponse-ies",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ SEQUENCE_OF_decode_uper,
+ SEQUENCE_OF_encode_uper,
+ SEQUENCE_OF_decode_aper,
+ SEQUENCE_OF_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_uplinkInformationExchangeResponse_ies_tags_2,
+ sizeof(asn_DEF_uplinkInformationExchangeResponse_ies_tags_2)
+ /sizeof(asn_DEF_uplinkInformationExchangeResponse_ies_tags_2[0]) - 1, /* 1 */
+ asn_DEF_uplinkInformationExchangeResponse_ies_tags_2, /* Same as above */
+ sizeof(asn_DEF_uplinkInformationExchangeResponse_ies_tags_2)
+ /sizeof(asn_DEF_uplinkInformationExchangeResponse_ies_tags_2[0]), /* 2 */
+ &asn_PER_type_uplinkInformationExchangeResponse_ies_constr_2,
+ asn_MBR_uplinkInformationExchangeResponse_ies_2,
+ 1, /* Single element */
+ &asn_SPC_uplinkInformationExchangeResponse_ies_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_RANAP_UplinkInformationExchangeResponse_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_UplinkInformationExchangeResponse, uplinkInformationExchangeResponse_ies),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ 0,
+ &asn_DEF_uplinkInformationExchangeResponse_ies_2,
+ memb_uplinkInformationExchangeResponse_ies_constraint_1,
+ &asn_PER_memb_uplinkInformationExchangeResponse_ies_constr_2,
+ 0,
+ "uplinkInformationExchangeResponse-ies"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_UplinkInformationExchangeResponse_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_UplinkInformationExchangeResponse_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* uplinkInformationExchangeResponse-ies */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_UplinkInformationExchangeResponse_specs_1 = {
+ sizeof(struct RANAP_UplinkInformationExchangeResponse),
+ offsetof(struct RANAP_UplinkInformationExchangeResponse, _asn_ctx),
+ asn_MAP_RANAP_UplinkInformationExchangeResponse_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_UplinkInformationExchangeResponse = {
+ "RANAP_UplinkInformationExchangeResponse",
+ "RANAP_UplinkInformationExchangeResponse",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_UplinkInformationExchangeResponse_tags_1,
+ sizeof(asn_DEF_RANAP_UplinkInformationExchangeResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_UplinkInformationExchangeResponse_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_UplinkInformationExchangeResponse_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_UplinkInformationExchangeResponse_tags_1)
+ /sizeof(asn_DEF_RANAP_UplinkInformationExchangeResponse_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_UplinkInformationExchangeResponse_1,
+ 1, /* Elements count */
+ &asn_SPC_RANAP_UplinkInformationExchangeResponse_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_UplinkInformationExchangeResponse.h b/src/ranap/RANAP_UplinkInformationExchangeResponse.h
new file mode 100644
index 0000000..4c83083
--- /dev/null
+++ b/src/ranap/RANAP_UplinkInformationExchangeResponse.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-PDU"
+ * found in "../../asn1/ranap/RANAP-PDU.asn"
+ */
+
+#ifndef _RANAP_UplinkInformationExchangeResponse_H_
+#define _RANAP_UplinkInformationExchangeResponse_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_IE.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_UplinkInformationExchangeResponse */
+typedef struct RANAP_UplinkInformationExchangeResponse {
+ struct uplinkInformationExchangeResponse_ies {
+ A_SEQUENCE_OF(RANAP_IE_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } uplinkInformationExchangeResponse_ies;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_UplinkInformationExchangeResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_UplinkInformationExchangeResponse;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_UplinkInformationExchangeResponse_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_UserPlaneMode.c b/src/ranap/RANAP_UserPlaneMode.c
new file mode 100644
index 0000000..2a30882
--- /dev/null
+++ b/src/ranap/RANAP_UserPlaneMode.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_UserPlaneMode.h"
+
+int
+RANAP_UserPlaneMode_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_UserPlaneMode_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_UserPlaneMode_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_UserPlaneMode_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_UserPlaneMode_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UserPlaneMode_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UserPlaneMode_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_UserPlaneMode_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_UserPlaneMode_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UserPlaneMode_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UserPlaneMode_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_UserPlaneMode_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_UserPlaneMode_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_UserPlaneMode_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_UserPlaneMode_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_UserPlaneMode_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_UserPlaneMode_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_UserPlaneMode_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_UserPlaneMode_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_UserPlaneMode_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_UserPlaneMode_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_UserPlaneMode_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_UserPlaneMode_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_UserPlaneMode_value2enum_1[] = {
+ { 0, 16, "transparent-mode" },
+ { 1, 37, "support-mode-for-predefined-SDU-sizes" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_UserPlaneMode_enum2value_1[] = {
+ 1, /* support-mode-for-predefined-SDU-sizes(1) */
+ 0 /* transparent-mode(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_UserPlaneMode_specs_1 = {
+ asn_MAP_RANAP_UserPlaneMode_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_UserPlaneMode_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_RANAP_UserPlaneMode_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_UserPlaneMode = {
+ "RANAP_UserPlaneMode",
+ "RANAP_UserPlaneMode",
+ RANAP_UserPlaneMode_free,
+ RANAP_UserPlaneMode_print,
+ RANAP_UserPlaneMode_constraint,
+ RANAP_UserPlaneMode_decode_ber,
+ RANAP_UserPlaneMode_encode_der,
+ RANAP_UserPlaneMode_decode_xer,
+ RANAP_UserPlaneMode_encode_xer,
+ RANAP_UserPlaneMode_decode_uper,
+ RANAP_UserPlaneMode_encode_uper,
+ RANAP_UserPlaneMode_decode_aper,
+ RANAP_UserPlaneMode_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_UserPlaneMode_tags_1,
+ sizeof(asn_DEF_RANAP_UserPlaneMode_tags_1)
+ /sizeof(asn_DEF_RANAP_UserPlaneMode_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_UserPlaneMode_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_UserPlaneMode_tags_1)
+ /sizeof(asn_DEF_RANAP_UserPlaneMode_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_UserPlaneMode_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_UserPlaneMode_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_UserPlaneMode.h b/src/ranap/RANAP_UserPlaneMode.h
new file mode 100644
index 0000000..f2d6786
--- /dev/null
+++ b/src/ranap/RANAP_UserPlaneMode.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_UserPlaneMode_H_
+#define _RANAP_UserPlaneMode_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_UserPlaneMode {
+ RANAP_UserPlaneMode_transparent_mode = 0,
+ RANAP_UserPlaneMode_support_mode_for_predefined_SDU_sizes = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_UserPlaneMode;
+
+/* RANAP_UserPlaneMode */
+typedef long RANAP_UserPlaneMode_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_UserPlaneMode;
+asn_struct_free_f RANAP_UserPlaneMode_free;
+asn_struct_print_f RANAP_UserPlaneMode_print;
+asn_constr_check_f RANAP_UserPlaneMode_constraint;
+ber_type_decoder_f RANAP_UserPlaneMode_decode_ber;
+der_type_encoder_f RANAP_UserPlaneMode_encode_der;
+xer_type_decoder_f RANAP_UserPlaneMode_decode_xer;
+xer_type_encoder_f RANAP_UserPlaneMode_encode_xer;
+per_type_decoder_f RANAP_UserPlaneMode_decode_uper;
+per_type_encoder_f RANAP_UserPlaneMode_encode_uper;
+per_type_decoder_f RANAP_UserPlaneMode_decode_aper;
+per_type_encoder_f RANAP_UserPlaneMode_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_UserPlaneMode_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_VelocityEstimate.c b/src/ranap/RANAP_VelocityEstimate.c
new file mode 100644
index 0000000..88d7a06
--- /dev/null
+++ b/src/ranap/RANAP_VelocityEstimate.c
@@ -0,0 +1,92 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_VelocityEstimate.h"
+
+static asn_per_constraints_t asn_PER_type_RANAP_VelocityEstimate_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 3l } /* (0..3,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_VelocityEstimate_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_VelocityEstimate, choice.horizontalVelocity),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_HorizontalVelocity,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "horizontalVelocity"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_VelocityEstimate, choice.horizontalWithVerticalVelocity),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_HorizontalWithVerticalVelocity,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "horizontalWithVerticalVelocity"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_VelocityEstimate, choice.horizontalVelocityWithUncertainty),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_HorizontalVelocityWithUncertainty,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "horizontalVelocityWithUncertainty"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_VelocityEstimate, choice.horizontalWithVeritcalVelocityAndUncertainty),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_HorizontalWithVerticalVelocityAndUncertainty,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "horizontalWithVeritcalVelocityAndUncertainty"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_VelocityEstimate_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* horizontalVelocity */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* horizontalWithVerticalVelocity */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* horizontalVelocityWithUncertainty */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* horizontalWithVeritcalVelocityAndUncertainty */
+};
+static asn_CHOICE_specifics_t asn_SPC_RANAP_VelocityEstimate_specs_1 = {
+ sizeof(struct RANAP_VelocityEstimate),
+ offsetof(struct RANAP_VelocityEstimate, _asn_ctx),
+ offsetof(struct RANAP_VelocityEstimate, present),
+ sizeof(((struct RANAP_VelocityEstimate *)0)->present),
+ asn_MAP_RANAP_VelocityEstimate_tag2el_1,
+ 4, /* Count of tags in the map */
+ 0,
+ 4 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_VelocityEstimate = {
+ "RANAP_VelocityEstimate",
+ "RANAP_VelocityEstimate",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ CHOICE_decode_uper,
+ CHOICE_encode_uper,
+ CHOICE_decode_aper,
+ CHOICE_encode_aper,
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ &asn_PER_type_RANAP_VelocityEstimate_constr_1,
+ asn_MBR_RANAP_VelocityEstimate_1,
+ 4, /* Elements count */
+ &asn_SPC_RANAP_VelocityEstimate_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_VelocityEstimate.h b/src/ranap/RANAP_VelocityEstimate.h
new file mode 100644
index 0000000..2718dce
--- /dev/null
+++ b/src/ranap/RANAP_VelocityEstimate.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_VelocityEstimate_H_
+#define _RANAP_VelocityEstimate_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "RANAP_HorizontalVelocity.h"
+#include "RANAP_HorizontalWithVerticalVelocity.h"
+#include "RANAP_HorizontalVelocityWithUncertainty.h"
+#include "RANAP_HorizontalWithVerticalVelocityAndUncertainty.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_VelocityEstimate_PR {
+ RANAP_VelocityEstimate_PR_NOTHING, /* No components present */
+ RANAP_VelocityEstimate_PR_horizontalVelocity,
+ RANAP_VelocityEstimate_PR_horizontalWithVerticalVelocity,
+ RANAP_VelocityEstimate_PR_horizontalVelocityWithUncertainty,
+ RANAP_VelocityEstimate_PR_horizontalWithVeritcalVelocityAndUncertainty,
+ /* Extensions may appear below */
+
+} RANAP_VelocityEstimate_PR;
+
+/* RANAP_VelocityEstimate */
+typedef struct RANAP_VelocityEstimate {
+ RANAP_VelocityEstimate_PR present;
+ union RANAP_VelocityEstimate_u {
+ RANAP_HorizontalVelocity_t horizontalVelocity;
+ RANAP_HorizontalWithVerticalVelocity_t horizontalWithVerticalVelocity;
+ RANAP_HorizontalVelocityWithUncertainty_t horizontalVelocityWithUncertainty;
+ RANAP_HorizontalWithVerticalVelocityAndUncertainty_t horizontalWithVeritcalVelocityAndUncertainty;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_VelocityEstimate_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_VelocityEstimate;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_VelocityEstimate_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_VerticalAccuracyCode.c b/src/ranap/RANAP_VerticalAccuracyCode.c
new file mode 100644
index 0000000..8dc6b4a
--- /dev/null
+++ b/src/ranap/RANAP_VerticalAccuracyCode.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_VerticalAccuracyCode.h"
+
+int
+RANAP_VerticalAccuracyCode_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 127l)) {
+ /* 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 void
+RANAP_VerticalAccuracyCode_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->check_constraints = asn_DEF_NativeInteger.check_constraints;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeInteger.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeInteger.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+RANAP_VerticalAccuracyCode_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_VerticalAccuracyCode_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_VerticalAccuracyCode_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_VerticalAccuracyCode_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_VerticalAccuracyCode_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_VerticalAccuracyCode_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_VerticalAccuracyCode_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_VerticalAccuracyCode_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_VerticalAccuracyCode_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_VerticalAccuracyCode_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_VerticalAccuracyCode_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_VerticalAccuracyCode_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_VerticalAccuracyCode_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_VerticalAccuracyCode_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_VerticalAccuracyCode_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_VerticalAccuracyCode_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_VerticalAccuracyCode_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_VerticalAccuracyCode_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_VerticalAccuracyCode_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_VerticalAccuracyCode_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_VerticalAccuracyCode_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 7, 7, 0l, 127l } /* (0..127) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_VerticalAccuracyCode_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_VerticalAccuracyCode = {
+ "RANAP_VerticalAccuracyCode",
+ "RANAP_VerticalAccuracyCode",
+ RANAP_VerticalAccuracyCode_free,
+ RANAP_VerticalAccuracyCode_print,
+ RANAP_VerticalAccuracyCode_constraint,
+ RANAP_VerticalAccuracyCode_decode_ber,
+ RANAP_VerticalAccuracyCode_encode_der,
+ RANAP_VerticalAccuracyCode_decode_xer,
+ RANAP_VerticalAccuracyCode_encode_xer,
+ RANAP_VerticalAccuracyCode_decode_uper,
+ RANAP_VerticalAccuracyCode_encode_uper,
+ RANAP_VerticalAccuracyCode_decode_aper,
+ RANAP_VerticalAccuracyCode_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_VerticalAccuracyCode_tags_1,
+ sizeof(asn_DEF_RANAP_VerticalAccuracyCode_tags_1)
+ /sizeof(asn_DEF_RANAP_VerticalAccuracyCode_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_VerticalAccuracyCode_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_VerticalAccuracyCode_tags_1)
+ /sizeof(asn_DEF_RANAP_VerticalAccuracyCode_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_VerticalAccuracyCode_constr_1,
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/ranap/RANAP_VerticalAccuracyCode.h b/src/ranap/RANAP_VerticalAccuracyCode.h
new file mode 100644
index 0000000..92cb974
--- /dev/null
+++ b/src/ranap/RANAP_VerticalAccuracyCode.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_VerticalAccuracyCode_H_
+#define _RANAP_VerticalAccuracyCode_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_VerticalAccuracyCode */
+typedef long RANAP_VerticalAccuracyCode_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_VerticalAccuracyCode;
+asn_struct_free_f RANAP_VerticalAccuracyCode_free;
+asn_struct_print_f RANAP_VerticalAccuracyCode_print;
+asn_constr_check_f RANAP_VerticalAccuracyCode_constraint;
+ber_type_decoder_f RANAP_VerticalAccuracyCode_decode_ber;
+der_type_encoder_f RANAP_VerticalAccuracyCode_encode_der;
+xer_type_decoder_f RANAP_VerticalAccuracyCode_decode_xer;
+xer_type_encoder_f RANAP_VerticalAccuracyCode_encode_xer;
+per_type_decoder_f RANAP_VerticalAccuracyCode_decode_uper;
+per_type_encoder_f RANAP_VerticalAccuracyCode_encode_uper;
+per_type_decoder_f RANAP_VerticalAccuracyCode_decode_aper;
+per_type_encoder_f RANAP_VerticalAccuracyCode_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_VerticalAccuracyCode_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_VerticalSpeedDirection.c b/src/ranap/RANAP_VerticalSpeedDirection.c
new file mode 100644
index 0000000..d6aaa0b
--- /dev/null
+++ b/src/ranap/RANAP_VerticalSpeedDirection.c
@@ -0,0 +1,165 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_VerticalSpeedDirection.h"
+
+int
+RANAP_VerticalSpeedDirection_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_VerticalSpeedDirection_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_VerticalSpeedDirection_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_VerticalSpeedDirection_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_VerticalSpeedDirection_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_VerticalSpeedDirection_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_VerticalSpeedDirection_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_VerticalSpeedDirection_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_VerticalSpeedDirection_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_VerticalSpeedDirection_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_VerticalSpeedDirection_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_VerticalSpeedDirection_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_VerticalSpeedDirection_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_VerticalSpeedDirection_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_VerticalSpeedDirection_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_VerticalSpeedDirection_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_VerticalSpeedDirection_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_VerticalSpeedDirection_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_VerticalSpeedDirection_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_VerticalSpeedDirection_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_VerticalSpeedDirection_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_VerticalSpeedDirection_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_VerticalSpeedDirection_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_VerticalSpeedDirection_value2enum_1[] = {
+ { 0, 6, "upward" },
+ { 1, 8, "downward" }
+};
+static const unsigned int asn_MAP_RANAP_VerticalSpeedDirection_enum2value_1[] = {
+ 1, /* downward(1) */
+ 0 /* upward(0) */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_VerticalSpeedDirection_specs_1 = {
+ asn_MAP_RANAP_VerticalSpeedDirection_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_VerticalSpeedDirection_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_RANAP_VerticalSpeedDirection_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_VerticalSpeedDirection = {
+ "RANAP_VerticalSpeedDirection",
+ "RANAP_VerticalSpeedDirection",
+ RANAP_VerticalSpeedDirection_free,
+ RANAP_VerticalSpeedDirection_print,
+ RANAP_VerticalSpeedDirection_constraint,
+ RANAP_VerticalSpeedDirection_decode_ber,
+ RANAP_VerticalSpeedDirection_encode_der,
+ RANAP_VerticalSpeedDirection_decode_xer,
+ RANAP_VerticalSpeedDirection_encode_xer,
+ RANAP_VerticalSpeedDirection_decode_uper,
+ RANAP_VerticalSpeedDirection_encode_uper,
+ RANAP_VerticalSpeedDirection_decode_aper,
+ RANAP_VerticalSpeedDirection_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_VerticalSpeedDirection_tags_1,
+ sizeof(asn_DEF_RANAP_VerticalSpeedDirection_tags_1)
+ /sizeof(asn_DEF_RANAP_VerticalSpeedDirection_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_VerticalSpeedDirection_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_VerticalSpeedDirection_tags_1)
+ /sizeof(asn_DEF_RANAP_VerticalSpeedDirection_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_VerticalSpeedDirection_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_VerticalSpeedDirection_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_VerticalSpeedDirection.h b/src/ranap/RANAP_VerticalSpeedDirection.h
new file mode 100644
index 0000000..feac00c
--- /dev/null
+++ b/src/ranap/RANAP_VerticalSpeedDirection.h
@@ -0,0 +1,48 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_VerticalSpeedDirection_H_
+#define _RANAP_VerticalSpeedDirection_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_VerticalSpeedDirection {
+ RANAP_VerticalSpeedDirection_upward = 0,
+ RANAP_VerticalSpeedDirection_downward = 1
+} e_RANAP_VerticalSpeedDirection;
+
+/* RANAP_VerticalSpeedDirection */
+typedef long RANAP_VerticalSpeedDirection_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_VerticalSpeedDirection;
+asn_struct_free_f RANAP_VerticalSpeedDirection_free;
+asn_struct_print_f RANAP_VerticalSpeedDirection_print;
+asn_constr_check_f RANAP_VerticalSpeedDirection_constraint;
+ber_type_decoder_f RANAP_VerticalSpeedDirection_decode_ber;
+der_type_encoder_f RANAP_VerticalSpeedDirection_encode_der;
+xer_type_decoder_f RANAP_VerticalSpeedDirection_decode_xer;
+xer_type_encoder_f RANAP_VerticalSpeedDirection_encode_xer;
+per_type_decoder_f RANAP_VerticalSpeedDirection_decode_uper;
+per_type_encoder_f RANAP_VerticalSpeedDirection_encode_uper;
+per_type_decoder_f RANAP_VerticalSpeedDirection_decode_aper;
+per_type_encoder_f RANAP_VerticalSpeedDirection_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_VerticalSpeedDirection_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_VerticalVelocity.c b/src/ranap/RANAP_VerticalVelocity.c
new file mode 100644
index 0000000..659971f
--- /dev/null
+++ b/src/ranap/RANAP_VerticalVelocity.c
@@ -0,0 +1,101 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_VerticalVelocity.h"
+
+static int
+memb_veritcalSpeed_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0l && value <= 255l)) {
+ /* Constraint 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_veritcalSpeed_constr_2 GCC_NOTUSED = {
+ { APC_CONSTRAINED, 8, 8, 0l, 255l } /* (0..255) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_RANAP_VerticalVelocity_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_VerticalVelocity, veritcalSpeed),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NativeInteger,
+ memb_veritcalSpeed_constraint_1,
+ &asn_PER_memb_veritcalSpeed_constr_2,
+ 0,
+ "veritcalSpeed"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RANAP_VerticalVelocity, veritcalSpeedDirection),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RANAP_VerticalSpeedDirection,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* No PER visible constraints */
+ 0,
+ "veritcalSpeedDirection"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_RANAP_VerticalVelocity_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_RANAP_VerticalVelocity_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* veritcalSpeed */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* veritcalSpeedDirection */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RANAP_VerticalVelocity_specs_1 = {
+ sizeof(struct RANAP_VerticalVelocity),
+ offsetof(struct RANAP_VerticalVelocity, _asn_ctx),
+ asn_MAP_RANAP_VerticalVelocity_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* Start extensions */
+ -1 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_VerticalVelocity = {
+ "RANAP_VerticalVelocity",
+ "RANAP_VerticalVelocity",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ SEQUENCE_decode_uper,
+ SEQUENCE_encode_uper,
+ SEQUENCE_decode_aper,
+ SEQUENCE_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_VerticalVelocity_tags_1,
+ sizeof(asn_DEF_RANAP_VerticalVelocity_tags_1)
+ /sizeof(asn_DEF_RANAP_VerticalVelocity_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_VerticalVelocity_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_VerticalVelocity_tags_1)
+ /sizeof(asn_DEF_RANAP_VerticalVelocity_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RANAP_VerticalVelocity_1,
+ 2, /* Elements count */
+ &asn_SPC_RANAP_VerticalVelocity_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_VerticalVelocity.h b/src/ranap/RANAP_VerticalVelocity.h
new file mode 100644
index 0000000..45be83c
--- /dev/null
+++ b/src/ranap/RANAP_VerticalVelocity.h
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_VerticalVelocity_H_
+#define _RANAP_VerticalVelocity_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+#include "RANAP_VerticalSpeedDirection.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* RANAP_VerticalVelocity */
+typedef struct RANAP_VerticalVelocity {
+ long veritcalSpeed;
+ RANAP_VerticalSpeedDirection_t veritcalSpeedDirection;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RANAP_VerticalVelocity_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_VerticalVelocity;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_VerticalVelocity_H_ */
+#include <asn_internal.h>
diff --git a/src/ranap/RANAP_VoiceSupportMatchIndicator.c b/src/ranap/RANAP_VoiceSupportMatchIndicator.c
new file mode 100644
index 0000000..eff0a3b
--- /dev/null
+++ b/src/ranap/RANAP_VoiceSupportMatchIndicator.c
@@ -0,0 +1,167 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#include "RANAP_VoiceSupportMatchIndicator.h"
+
+int
+RANAP_VoiceSupportMatchIndicator_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using NativeEnumerated,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+RANAP_VoiceSupportMatchIndicator_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeEnumerated.free_struct;
+ td->print_struct = asn_DEF_NativeEnumerated.print_struct;
+ td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
+ td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
+ td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
+ td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
+ td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder;
+ td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
+ td->elements = asn_DEF_NativeEnumerated.elements;
+ td->elements_count = asn_DEF_NativeEnumerated.elements_count;
+ /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
+}
+
+void
+RANAP_VoiceSupportMatchIndicator_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ RANAP_VoiceSupportMatchIndicator_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+RANAP_VoiceSupportMatchIndicator_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_VoiceSupportMatchIndicator_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_VoiceSupportMatchIndicator_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ RANAP_VoiceSupportMatchIndicator_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+RANAP_VoiceSupportMatchIndicator_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_VoiceSupportMatchIndicator_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_VoiceSupportMatchIndicator_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ RANAP_VoiceSupportMatchIndicator_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+RANAP_VoiceSupportMatchIndicator_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ RANAP_VoiceSupportMatchIndicator_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+asn_dec_rval_t
+RANAP_VoiceSupportMatchIndicator_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_VoiceSupportMatchIndicator_1_inherit_TYPE_descriptor(td);
+ return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+asn_enc_rval_t
+RANAP_VoiceSupportMatchIndicator_encode_uper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_VoiceSupportMatchIndicator_1_inherit_TYPE_descriptor(td);
+ return td->uper_encoder(td, constraints, structure, per_out);
+}
+
+asn_enc_rval_t
+RANAP_VoiceSupportMatchIndicator_encode_aper(asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints,
+ void *structure, asn_per_outp_t *per_out) {
+ RANAP_VoiceSupportMatchIndicator_1_inherit_TYPE_descriptor(td);
+ return td->aper_encoder(td, constraints, structure, per_out);
+}
+
+asn_dec_rval_t
+RANAP_VoiceSupportMatchIndicator_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
+ RANAP_VoiceSupportMatchIndicator_1_inherit_TYPE_descriptor(td);
+ return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
+}
+
+static asn_per_constraints_t asn_PER_type_RANAP_VoiceSupportMatchIndicator_constr_1 GCC_NOTUSED = {
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */,
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static const asn_INTEGER_enum_map_t asn_MAP_RANAP_VoiceSupportMatchIndicator_value2enum_1[] = {
+ { 0, 9, "supported" },
+ { 1, 13, "not-supported" }
+ /* This list is extensible */
+};
+static const unsigned int asn_MAP_RANAP_VoiceSupportMatchIndicator_enum2value_1[] = {
+ 1, /* not-supported(1) */
+ 0 /* supported(0) */
+ /* This list is extensible */
+};
+static const asn_INTEGER_specifics_t asn_SPC_RANAP_VoiceSupportMatchIndicator_specs_1 = {
+ asn_MAP_RANAP_VoiceSupportMatchIndicator_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_RANAP_VoiceSupportMatchIndicator_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_RANAP_VoiceSupportMatchIndicator_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_RANAP_VoiceSupportMatchIndicator = {
+ "RANAP_VoiceSupportMatchIndicator",
+ "RANAP_VoiceSupportMatchIndicator",
+ RANAP_VoiceSupportMatchIndicator_free,
+ RANAP_VoiceSupportMatchIndicator_print,
+ RANAP_VoiceSupportMatchIndicator_constraint,
+ RANAP_VoiceSupportMatchIndicator_decode_ber,
+ RANAP_VoiceSupportMatchIndicator_encode_der,
+ RANAP_VoiceSupportMatchIndicator_decode_xer,
+ RANAP_VoiceSupportMatchIndicator_encode_xer,
+ RANAP_VoiceSupportMatchIndicator_decode_uper,
+ RANAP_VoiceSupportMatchIndicator_encode_uper,
+ RANAP_VoiceSupportMatchIndicator_decode_aper,
+ RANAP_VoiceSupportMatchIndicator_encode_aper,
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RANAP_VoiceSupportMatchIndicator_tags_1,
+ sizeof(asn_DEF_RANAP_VoiceSupportMatchIndicator_tags_1)
+ /sizeof(asn_DEF_RANAP_VoiceSupportMatchIndicator_tags_1[0]), /* 1 */
+ asn_DEF_RANAP_VoiceSupportMatchIndicator_tags_1, /* Same as above */
+ sizeof(asn_DEF_RANAP_VoiceSupportMatchIndicator_tags_1)
+ /sizeof(asn_DEF_RANAP_VoiceSupportMatchIndicator_tags_1[0]), /* 1 */
+ &asn_PER_type_RANAP_VoiceSupportMatchIndicator_constr_1,
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_RANAP_VoiceSupportMatchIndicator_specs_1 /* Additional specs */
+};
+
diff --git a/src/ranap/RANAP_VoiceSupportMatchIndicator.h b/src/ranap/RANAP_VoiceSupportMatchIndicator.h
new file mode 100644
index 0000000..f4644b3
--- /dev/null
+++ b/src/ranap/RANAP_VoiceSupportMatchIndicator.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
+ * From ASN.1 module "RANAP-IEs"
+ * found in "../../asn1/ranap/RANAP-IEs.asn"
+ */
+
+#ifndef _RANAP_VoiceSupportMatchIndicator_H_
+#define _RANAP_VoiceSupportMatchIndicator_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeEnumerated.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum RANAP_VoiceSupportMatchIndicator {
+ RANAP_VoiceSupportMatchIndicator_supported = 0,
+ RANAP_VoiceSupportMatchIndicator_not_supported = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_RANAP_VoiceSupportMatchIndicator;
+
+/* RANAP_VoiceSupportMatchIndicator */
+typedef long RANAP_VoiceSupportMatchIndicator_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RANAP_VoiceSupportMatchIndicator;
+asn_struct_free_f RANAP_VoiceSupportMatchIndicator_free;
+asn_struct_print_f RANAP_VoiceSupportMatchIndicator_print;
+asn_constr_check_f RANAP_VoiceSupportMatchIndicator_constraint;
+ber_type_decoder_f RANAP_VoiceSupportMatchIndicator_decode_ber;
+der_type_encoder_f RANAP_VoiceSupportMatchIndicator_encode_der;
+xer_type_decoder_f RANAP_VoiceSupportMatchIndicator_decode_xer;
+xer_type_encoder_f RANAP_VoiceSupportMatchIndicator_encode_xer;
+per_type_decoder_f RANAP_VoiceSupportMatchIndicator_decode_uper;
+per_type_encoder_f RANAP_VoiceSupportMatchIndicator_encode_uper;
+per_type_decoder_f RANAP_VoiceSupportMatchIndicator_decode_aper;
+per_type_encoder_f RANAP_VoiceSupportMatchIndicator_encode_aper;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RANAP_VoiceSupportMatchIndicator_H_ */
+#include <asn_internal.h>