public static DeactivationIndication Extension(BitArrayInputStream input) { int nBits = 1; return((DeactivationIndication)input.ReadBits(nBits)); }
public locationCoordinates_r10_Type Decode(BitArrayInputStream input) { int nBits; locationCoordinates_r10_Type type = new locationCoordinates_r10_Type(); type.InitDefaults(); bool flag = input.ReadBit() != 0; switch (input.ReadBits(3)) { case 0: nBits = input.ReadBits(8); type.ellipsoid_Point_r10 = input.readOctetString(nBits); return(type); case 1: nBits = input.ReadBits(8); type.ellipsoidPointWithAltitude_r10 = input.readOctetString(nBits); return(type); case 2: if (flag) { nBits = input.ReadBits(8); type.ellipsoidPointWithUncertaintyCircle_r11 = input.readOctetString(nBits); } return(type); case 3: if (flag) { nBits = input.ReadBits(8); type.ellipsoidPointWithUncertaintyEllipse_r11 = input.readOctetString(nBits); } return(type); case 4: if (flag) { nBits = input.ReadBits(8); type.ellipsoidPointWithAltitudeAndUncertaintyEllipsoid_r11 = input.readOctetString(nBits); } return(type); case 5: if (flag) { nBits = input.ReadBits(8); type.ellipsoidArc_r11 = input.readOctetString(nBits); } return(type); case 6: if (flag) { nBits = input.ReadBits(8); type.polygon_r11 = input.readOctetString(nBits); } return(type); } throw new Exception(GetType().Name + ":NoChoice had been choose"); }
public long Decode(BitArrayInputStream input) { input.ReadBit(); return(input.ReadBits(4)); }
public PDCP_Parameters Decode(BitArrayInputStream input) { PDCP_Parameters parameters = new PDCP_Parameters(); parameters.InitDefaults(); BitMaskStream stream = (input.ReadBit() != 0) ? new BitMaskStream(input, 1) : new BitMaskStream(input, 1); parameters.supportedROHC_Profiles = supportedROHC_Profiles_Type.PerDecoder.Instance.Decode(input); if (stream.Read()) { int nBits = 4; parameters.maxNumberROHC_ContextSessions = (maxNumberROHC_ContextSessions_Enum)input.ReadBits(nBits); } return(parameters); }
protected override void ProcessConfig(SupportedBandEUTRA config, BitArrayInputStream input) { config.bandEUTRA = input.ReadBits(6) + 1; config.halfDuplex = input.ReadBit() == 1; }
protected override void ProcessConfig(CountingResponseInfo_r10 config, BitArrayInputStream input) { input.ReadBit(); config.countingResponseService_r10 = input.ReadBits(4); }
public RadioResourceConfigCommon Decode(BitArrayInputStream input) { BitMaskStream stream2; RadioResourceConfigCommon common = new RadioResourceConfigCommon(); common.InitDefaults(); bool flag = input.ReadBit() != 0; BitMaskStream stream = new BitMaskStream(input, 9); if (stream.Read()) { common.rach_ConfigCommon = RACH_ConfigCommon.PerDecoder.Instance.Decode(input); } common.prach_Config = PRACH_Config.PerDecoder.Instance.Decode(input); if (stream.Read()) { common.pdsch_ConfigCommon = PDSCH_ConfigCommon.PerDecoder.Instance.Decode(input); } common.pusch_ConfigCommon = PUSCH_ConfigCommon.PerDecoder.Instance.Decode(input); if (stream.Read()) { common.phich_Config = PHICH_Config.PerDecoder.Instance.Decode(input); } if (stream.Read()) { common.pucch_ConfigCommon = PUCCH_ConfigCommon.PerDecoder.Instance.Decode(input); } if (stream.Read()) { common.soundingRS_UL_ConfigCommon = SoundingRS_UL_ConfigCommon.PerDecoder.Instance.Decode(input); } if (stream.Read()) { common.uplinkPowerControlCommon = UplinkPowerControlCommon.PerDecoder.Instance.Decode(input); } if (stream.Read()) { common.antennaInfoCommon = AntennaInfoCommon.PerDecoder.Instance.Decode(input); } if (stream.Read()) { common.p_Max = input.ReadBits(6) + -30; } if (stream.Read()) { common.tdd_Config = TDD_Config.PerDecoder.Instance.Decode(input); } int nBits = 1; common.ul_CyclicPrefixLength = (UL_CyclicPrefixLength)input.ReadBits(nBits); if (flag) { stream2 = new BitMaskStream(input, 1); if (stream2.Read()) { common.uplinkPowerControlCommon_v1020 = UplinkPowerControlCommon_v1020.PerDecoder.Instance.Decode(input); } } if (flag) { stream2 = new BitMaskStream(input, 1); if (stream2.Read()) { common.tdd_Config_v1130 = TDD_Config_v1130.PerDecoder.Instance.Decode(input); } } return(common); }
public PhysicalConfigDedicatedSCell_r10 Decode(BitArrayInputStream input) { BitMaskStream stream2; PhysicalConfigDedicatedSCell_r10 _r = new PhysicalConfigDedicatedSCell_r10(); _r.InitDefaults(); bool flag = input.ReadBit() != 0; BitMaskStream stream = new BitMaskStream(input, 2); if (stream.Read()) { _r.nonUL_Configuration_r10 = nonUL_Configuration_r10_Type.PerDecoder.Instance.Decode(input); } if (stream.Read()) { _r.ul_Configuration_r10 = ul_Configuration_r10_Type.PerDecoder.Instance.Decode(input); } if (flag) { int num2; stream2 = new BitMaskStream(input, 9); if (stream2.Read()) { _r.csi_RS_ConfigNZPToReleaseList_r11 = new List <long>(); num2 = 2; int num3 = input.ReadBits(num2) + 1; for (int i = 0; i < num3; i++) { long item = input.ReadBits(2) + 1; _r.csi_RS_ConfigNZPToReleaseList_r11.Add(item); } } if (stream2.Read()) { _r.csi_RS_ConfigNZPToAddModList_r11 = new List <CSI_RS_ConfigNZP_r11>(); num2 = 2; int num6 = input.ReadBits(num2) + 1; for (int j = 0; j < num6; j++) { CSI_RS_ConfigNZP_r11 _r2 = CSI_RS_ConfigNZP_r11.PerDecoder.Instance.Decode(input); _r.csi_RS_ConfigNZPToAddModList_r11.Add(_r2); } } if (stream2.Read()) { _r.csi_RS_ConfigZPToReleaseList_r11 = new List <long>(); num2 = 2; int num8 = input.ReadBits(num2) + 1; for (int k = 0; k < num8; k++) { long num10 = input.ReadBits(2) + 1; _r.csi_RS_ConfigZPToReleaseList_r11.Add(num10); } } if (stream2.Read()) { _r.csi_RS_ConfigZPToAddModList_r11 = new List <CSI_RS_ConfigZP_r11>(); num2 = 2; int num11 = input.ReadBits(num2) + 1; for (int m = 0; m < num11; m++) { CSI_RS_ConfigZP_r11 _r3 = CSI_RS_ConfigZP_r11.PerDecoder.Instance.Decode(input); _r.csi_RS_ConfigZPToAddModList_r11.Add(_r3); } } if (stream2.Read()) { _r.epdcch_Config_r11 = EPDCCH_Config_r11.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { _r.pdsch_ConfigDedicated_v1130 = PDSCH_ConfigDedicated_v1130.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { _r.cqi_ReportConfig_v1130 = CQI_ReportConfig_v1130.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { _r.pusch_ConfigDedicated_v1130 = PUSCH_ConfigDedicated_v1130.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { _r.uplinkPowerControlDedicatedSCell_v1130 = UplinkPowerControlDedicated_v1130.PerDecoder.Instance.Decode(input); } } if (flag) { stream2 = new BitMaskStream(input, 1); if (stream2.Read()) { _r.antennaInfo_v12xx = AntennaInfoDedicated_v12xx.PerDecoder.Instance.Decode(input); } } return(_r); }
public LogicalChannelConfig Decode(BitArrayInputStream input) { LogicalChannelConfig config = new LogicalChannelConfig(); config.InitDefaults(); bool flag = input.ReadBit() != 0; BitMaskStream stream = new BitMaskStream(input, 1); if (stream.Read()) { config.ul_SpecificParameters = ul_SpecificParameters_Type.PerDecoder.Instance.Decode(input); } if (flag) { BitMaskStream stream2 = new BitMaskStream(input, 1); if (stream2.Read()) { const int nBits = 1; config.logicalChannelSR_Mask_r9 = (logicalChannelSR_Mask_r9_Enum)input.ReadBits(nBits); } } return(config); }
public SystemInformationBlockType8 Decode(BitArrayInputStream input) { int num2; BitMaskStream stream2; var type = new SystemInformationBlockType8(); type.InitDefaults(); var flag = false; flag = input.ReadBit() != 0; var stream = flag ? new BitMaskStream(input, 5) : new BitMaskStream(input, 4); if (stream.Read()) { type.systemTimeInfo = SystemTimeInfoCDMA2000.PerDecoder.Instance.Decode(input); } if (stream.Read()) { type.searchWindowSize = (long)input.ReadBits(4); } if (stream.Read()) { type.parametersHRPD = parametersHRPD_Type.PerDecoder.Instance.Decode(input); } if (stream.Read()) { type.parameters1XRTT = parameters1XRTT_Type.PerDecoder.Instance.Decode(input); } if (flag && stream.Read()) { var nBits = input.ReadBits(8); type.lateNonCriticalExtension = input.readOctetString(nBits); } if (flag) { stream2 = new BitMaskStream(input, 5); if (stream2.Read()) { type.csfb_SupportForDualRxUEs_r9 = input.ReadBit() == 1; } if (stream2.Read()) { type.cellReselectionParametersHRPD_v920 = CellReselectionParametersCDMA2000_v920.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { type.cellReselectionParameters1XRTT_v920 = CellReselectionParametersCDMA2000_v920.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { type.csfb_RegistrationParam1XRTT_v920 = CSFB_RegistrationParam1XRTT_v920.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { type.ac_BarringConfig1XRTT_r9 = AC_BarringConfig1XRTT_r9.PerDecoder.Instance.Decode(input); } } if (flag) { stream2 = new BitMaskStream(input, 1); if (stream2.Read()) { num2 = 1; type.csfb_DualRxTxSupport_r10 = (csfb_DualRxTxSupport_r10_Enum)input.ReadBits(num2); } } if (flag) { stream2 = new BitMaskStream(input, 1); if (!stream2.Read()) { return(type); } type.sib8_PerPLMN_List_r11 = new List <SIB8_PerPLMN_r11>(); num2 = 3; var num3 = input.ReadBits(num2) + 1; for (var i = 0; i < num3; i++) { var item = SIB8_PerPLMN_r11.PerDecoder.Decode(input); type.sib8_PerPLMN_List_r11.Add(item); } } return(type); }
public PhysicalConfigDedicated Decode(BitArrayInputStream input) { BitMaskStream stream2; PhysicalConfigDedicated dedicated = new PhysicalConfigDedicated(); dedicated.InitDefaults(); bool flag = input.ReadBit() != 0; BitMaskStream stream = new BitMaskStream(input, 10); if (stream.Read()) { dedicated.pdsch_ConfigDedicated = PDSCH_ConfigDedicated.PerDecoder.Instance.Decode(input); } if (stream.Read()) { dedicated.pucch_ConfigDedicated = PUCCH_ConfigDedicated.PerDecoder.Instance.Decode(input); } if (stream.Read()) { dedicated.pusch_ConfigDedicated = PUSCH_ConfigDedicated.PerDecoder.Instance.Decode(input); } if (stream.Read()) { dedicated.uplinkPowerControlDedicated = UplinkPowerControlDedicated.PerDecoder.Instance.Decode(input); } if (stream.Read()) { dedicated.tpc_PDCCH_ConfigPUCCH = TPC_PDCCH_Config.PerDecoder.Instance.Decode(input); } if (stream.Read()) { dedicated.tpc_PDCCH_ConfigPUSCH = TPC_PDCCH_Config.PerDecoder.Instance.Decode(input); } if (stream.Read()) { dedicated.cqi_ReportConfig = CQI_ReportConfig.PerDecoder.Instance.Decode(input); } if (stream.Read()) { dedicated.soundingRS_UL_ConfigDedicated = SoundingRS_UL_ConfigDedicated.PerDecoder.Instance.Decode(input); } if (stream.Read()) { dedicated.antennaInfo = antennaInfo_Type.PerDecoder.Instance.Decode(input); } if (stream.Read()) { dedicated.schedulingRequestConfig = SchedulingRequestConfig.PerDecoder.Instance.Decode(input); } if (flag) { stream2 = new BitMaskStream(input, 2); if (stream2.Read()) { dedicated.cqi_ReportConfig_v920 = CQI_ReportConfig_v920.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { dedicated.antennaInfo_v920 = AntennaInfoDedicated_v920.PerDecoder.Instance.Decode(input); } } if (flag) { stream2 = new BitMaskStream(input, 11); if (stream2.Read()) { dedicated.antennaInfo_r10 = antennaInfo_r10_Type.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { dedicated.antennaInfoUL_r10 = AntennaInfoUL_r10.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { dedicated.cif_Presence_r10 = input.ReadBit() == 1; } if (stream2.Read()) { dedicated.cqi_ReportConfig_r10 = CQI_ReportConfig_r10.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { dedicated.csi_RS_Config_r10 = CSI_RS_Config_r10.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { dedicated.pucch_ConfigDedicated_v1020 = PUCCH_ConfigDedicated_v1020.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { dedicated.pusch_ConfigDedicated_v1020 = PUSCH_ConfigDedicated_v1020.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { dedicated.schedulingRequestConfig_v1020 = SchedulingRequestConfig_v1020.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { dedicated.soundingRS_UL_ConfigDedicated_v1020 = SoundingRS_UL_ConfigDedicated_v1020.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { dedicated.soundingRS_UL_ConfigDedicatedAperiodic_r10 = SoundingRS_UL_ConfigDedicatedAperiodic_r10.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { dedicated.uplinkPowerControlDedicated_v1020 = UplinkPowerControlDedicated_v1020.PerDecoder.Instance.Decode(input); } } if (flag) { stream2 = new BitMaskStream(input, 1); if (stream2.Read()) { dedicated.additionalSpectrumEmissionCA_r10 = additionalSpectrumEmissionCA_r10_Type.PerDecoder.Instance.Decode(input); } } if (flag) { int num2; stream2 = new BitMaskStream(input, 10); if (stream2.Read()) { dedicated.csi_RS_ConfigNZPToReleaseList_r11 = new List <long>(); num2 = 2; int num3 = input.ReadBits(num2) + 1; for (int i = 0; i < num3; i++) { long item = input.ReadBits(2) + 1; dedicated.csi_RS_ConfigNZPToReleaseList_r11.Add(item); } } if (stream2.Read()) { dedicated.csi_RS_ConfigNZPToAddModList_r11 = new List <CSI_RS_ConfigNZP_r11>(); num2 = 2; int num6 = input.ReadBits(num2) + 1; for (int j = 0; j < num6; j++) { CSI_RS_ConfigNZP_r11 _r = CSI_RS_ConfigNZP_r11.PerDecoder.Instance.Decode(input); dedicated.csi_RS_ConfigNZPToAddModList_r11.Add(_r); } } if (stream2.Read()) { dedicated.csi_RS_ConfigZPToReleaseList_r11 = new List <long>(); num2 = 2; int num8 = input.ReadBits(num2) + 1; for (int k = 0; k < num8; k++) { long num10 = input.ReadBits(2) + 1; dedicated.csi_RS_ConfigZPToReleaseList_r11.Add(num10); } } if (stream2.Read()) { dedicated.csi_RS_ConfigZPToAddModList_r11 = new List <CSI_RS_ConfigZP_r11>(); num2 = 2; int num11 = input.ReadBits(num2) + 1; for (int m = 0; m < num11; m++) { CSI_RS_ConfigZP_r11 _r2 = CSI_RS_ConfigZP_r11.PerDecoder.Instance.Decode(input); dedicated.csi_RS_ConfigZPToAddModList_r11.Add(_r2); } } if (stream2.Read()) { dedicated.epdcch_Config_r11 = EPDCCH_Config_r11.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { dedicated.pdsch_ConfigDedicated_v1130 = PDSCH_ConfigDedicated_v1130.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { dedicated.cqi_ReportConfig_v1130 = CQI_ReportConfig_v1130.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { dedicated.pucch_ConfigDedicated_v1130 = PUCCH_ConfigDedicated_v1130.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { dedicated.pusch_ConfigDedicated_v1130 = PUSCH_ConfigDedicated_v1130.PerDecoder.Instance.Decode(input); } if (stream2.Read()) { dedicated.uplinkPowerControlDedicated_v1130 = UplinkPowerControlDedicated_v1130.PerDecoder.Instance.Decode(input); } } if (flag) { stream2 = new BitMaskStream(input, 1); if (stream2.Read()) { dedicated.antennaInfo_v12xx = AntennaInfoDedicated_v12xx.PerDecoder.Instance.Decode(input); } } return(dedicated); }
protected override void ProcessConfig(c1_Type config, BitArrayInputStream input) { InitDefaults(); switch (input.ReadBits(4)) { case 0: config.csfbParametersResponseCDMA2000 = CSFBParametersResponseCDMA2000.PerDecoder.Instance.Decode(input); return; case 1: config.dlInformationTransfer = DLInformationTransfer.PerDecoder.Instance.Decode(input); return; case 2: config.handoverFromEUTRAPreparationRequest = HandoverFromEUTRAPreparationRequest.PerDecoder.Instance.Decode(input); return; case 3: config.mobilityFromEUTRACommand = MobilityFromEUTRACommand.PerDecoder.Instance.Decode(input); return; case 4: config.rrcConnectionReconfiguration = RRCConnectionReconfiguration.PerDecoder.Instance.Decode(input); return; case 5: config.rrcConnectionRelease = RRCConnectionRelease.PerDecoder.Instance.Decode(input); return; case 6: config.securityModeCommand = SecurityModeCommand.PerDecoder.Instance.Decode(input); return; case 7: config.ueCapabilityEnquiry = UECapabilityEnquiry.PerDecoder.Instance.Decode(input); return; case 8: config.counterCheck = CounterCheck.PerDecoder.Instance.Decode(input); return; case 9: config.ueInformationRequest_r9 = UEInformationRequest_r9.PerDecoder.Instance.Decode(input); return; case 10: config.loggedMeasurementConfiguration_r10 = LoggedMeasurementConfiguration_r10.PerDecoder.Instance.Decode(input); return; case 11: config.rnReconfiguration_r10 = RNReconfiguration_r10.PerDecoder.Instance.Decode(input); return; case 12: case 13: case 14: case 15: return; } throw new Exception(GetType().Name + ":NoChoice had been choose"); }
public InterFreqCarrierFreqInfo Decode(BitArrayInputStream input) { BitMaskStream stream3; InterFreqCarrierFreqInfo info = new InterFreqCarrierFreqInfo(); info.InitDefaults(); bool flag = input.ReadBit() != 0; BitMaskStream stream = new BitMaskStream(input, 1); BitMaskStream stream2 = new BitMaskStream(input, 5); info.dl_CarrierFreq = input.ReadBits(0x10); info.q_RxLevMin = input.ReadBits(6) + -70; if (stream2.Read()) { info.p_Max = input.ReadBits(6) + -30; } info.t_ReselectionEUTRA = input.ReadBits(3); if (stream2.Read()) { info.t_ReselectionEUTRA_SF = SpeedStateScaleFactors.PerDecoder.Instance.Decode(input); } info.threshX_High = input.ReadBits(5); info.threshX_Low = input.ReadBits(5); int nBits = 3; info.allowedMeasBandwidth = (AllowedMeasBandwidth)input.ReadBits(nBits); info.presenceAntennaPort1 = input.ReadBit() == 1; if (stream2.Read()) { info.cellReselectionPriority = input.ReadBits(3); } info.neighCellConfig = input.ReadBitString(2); if (stream.Read()) { nBits = 5; info.q_OffsetFreq = (Q_OffsetRange)input.ReadBits(nBits); } if (stream2.Read()) { info.interFreqNeighCellList = new List <InterFreqNeighCellInfo>(); nBits = 4; int num3 = input.ReadBits(nBits) + 1; for (int i = 0; i < num3; i++) { InterFreqNeighCellInfo item = InterFreqNeighCellInfo.PerDecoder.Instance.Decode(input); info.interFreqNeighCellList.Add(item); } } if (stream2.Read()) { info.interFreqBlackCellList = new List <PhysCellIdRange>(); nBits = 4; int num5 = input.ReadBits(nBits) + 1; for (int j = 0; j < num5; j++) { PhysCellIdRange range = PhysCellIdRange.PerDecoder.Instance.Decode(input); info.interFreqBlackCellList.Add(range); } } if (flag) { stream3 = new BitMaskStream(input, 2); if (stream3.Read()) { info.q_QualMin_r9 = input.ReadBits(5) + -34; } if (stream3.Read()) { info.threshX_Q_r9 = threshX_Q_r9_Type.PerDecoder.Instance.Decode(input); } } if (flag) { stream3 = new BitMaskStream(input, 1); if (stream3.Read()) { info.q_QualMinWB_r11 = input.ReadBits(5) + -34; } } return(info); }
public ProtocolIE_FieldPair Decode(BitArrayInputStream input) { int nBits = 0; long num3 = 0L; ProtocolIE_FieldPair pair = new ProtocolIE_FieldPair(); pair.InitDefaults(); int num4 = input.ReadBits(1) + 1; input.skipUnreadedBits(); pair.id = input.ReadBits(num4 * 8); num4 = 2; pair.firstCriticality = (Criticality)input.ReadBits(num4); input.skipUnreadedBits(); nBits = 0; while (true) { switch (input.ReadBit()) { case 0: nBits += input.ReadBits(7); goto Label_00DD; case 1: switch (input.ReadBit()) { case 0: nBits += input.ReadBits(14); goto Label_00DD; case 1: input.ReadBits(2); nBits += input.ReadBits(4) * 0x400; break; } break; } } Label_00DD: num3 = input.Position; try { pair.firstValue = X2AP_PROTOCOL_IES_PAIR.Switcher(pair.id, "FirstValue", input); input.skipUnreadedBits(); } catch (Exception) { input.skipUnreadedBits(); input.Position = num3; pair.firstValue = input.readOctetString(nBits); } if (input.Position != (num3 + nBits)) { input.Position = num3 + nBits; } num4 = 2; pair.secondCriticality = (Criticality)input.ReadBits(num4); input.skipUnreadedBits(); nBits = 0; while (true) { switch (input.ReadBit()) { case 0: nBits += input.ReadBits(7); goto Label_01ED; case 1: switch (input.ReadBit()) { case 0: nBits += input.ReadBits(14); goto Label_01ED; case 1: input.ReadBits(2); nBits += input.ReadBits(4) * 0x400; break; } break; } } Label_01ED: num3 = input.Position; try { pair.secondValue = X2AP_PROTOCOL_IES_PAIR.Switcher(pair.id, "SecondValue", input); input.skipUnreadedBits(); } catch (Exception) { input.skipUnreadedBits(); input.Position = num3; pair.secondValue = input.readOctetString(nBits); } if (input.Position != (num3 + nBits)) { input.Position = num3 + nBits; } return(pair); }
public ReportConfigEUTRA Decode(BitArrayInputStream input) { BitMaskStream stream; ReportConfigEUTRA geutra = new ReportConfigEUTRA(); geutra.InitDefaults(); bool flag = input.ReadBit() != 0; geutra.triggerType = triggerType_Type.PerDecoder.Instance.Decode(input); int nBits = 1; geutra.triggerQuantity = (triggerQuantity_Enum)input.ReadBits(nBits); nBits = 1; geutra.reportQuantity = (reportQuantity_Enum)input.ReadBits(nBits); geutra.maxReportCells = input.ReadBits(3) + 1; nBits = 4; geutra.reportInterval = (ReportInterval)input.ReadBits(nBits); nBits = 3; geutra.reportAmount = (reportAmount_Enum)input.ReadBits(nBits); if (flag) { stream = new BitMaskStream(input, 8); bool flag2 = input.ReadBit() != 0;//verExt3Present stream = new BitMaskStream(input, 6); stream = new BitMaskStream(input, 2); if (stream.Read()) { nBits = 1; geutra.si_RequestForHO_r9 = (si_RequestForHO_r9_Enum)input.ReadBits(nBits); } if (stream.Read()) { nBits = 1; geutra.ue_RxTxTimeDiffPeriodical_r9 = (ue_RxTxTimeDiffPeriodical_r9_Enum)input.ReadBits(nBits); } stream = new BitMaskStream(input, 7); if (flag2) { stream = new BitMaskStream(input, 8); stream = new BitMaskStream(input, 2); if (stream.Read()) { nBits = 1; geutra.includeLocationInfo_r10 = (includeLocationInfo_r10_Enum)input.ReadBits(nBits); } if (stream.Read()) { nBits = 1; geutra.reportAddNeighMeas_r10 = (reportAddNeighMeas_r10_Enum)input.ReadBits(nBits); } stream = new BitMaskStream(input, 4); bool flag3 = input.ReadBit() != 0; //verExt4Present if (flag3) { stream = new BitMaskStream(input, 1); if (stream.Read()) { nBits = 4; geutra.alternativeTimeToTrigger_r12 = (TimeToTrigger)input.ReadBits(nBits); } } } } return(geutra); }
public PrivateIE_Field Decode(BitArrayInputStream input) { PrivateIE_Field field = new PrivateIE_Field(); field.InitDefaults(); input.skipUnreadedBits(); int nBits = 0; while (true) { switch (input.ReadBit()) { case 0: nBits += input.ReadBits(7); goto Label_00A5; case 1: switch (input.ReadBit()) { case 0: nBits += input.ReadBits(14); goto Label_00A5; case 1: input.ReadBits(2); nBits += input.ReadBits(4) * 0x400; break; } break; } } Label_00A5: long num3 = input.Position; try { field.id = PrivateIE_ID.PerDecoder.Instance.Decode(input); input.skipUnreadedBits(); } catch (Exception) { input.skipUnreadedBits(); input.Position = num3; field.id.global = input.readOctetString(nBits); } if (input.Position != (num3 + nBits)) { input.Position = num3 + nBits; } int num4 = 2; field.criticality = (Criticality)input.ReadBits(num4); input.skipUnreadedBits(); nBits = 0; while (true) { switch (input.ReadBit()) { case 0: nBits += input.ReadBits(7); goto Label_01AE; case 1: switch (input.ReadBit()) { case 0: nBits += input.ReadBits(14); goto Label_01AE; case 1: input.ReadBits(2); nBits += input.ReadBits(4) * 0x400; break; } break; } } Label_01AE: num3 = input.Position; try { field.value = S1AP_PRIVATE_IES.Switcher(field.id, "Value", input); input.skipUnreadedBits(); } catch (Exception) { input.skipUnreadedBits(); input.Position = num3; field.value = input.readOctetString(nBits); } if (input.Position != (num3 + nBits)) { input.Position = num3 + nBits; } return(field); }
protected override void ProcessConfig(CounterCheckResponse config, BitArrayInputStream input) { config.rrc_TransactionIdentifier = input.ReadBits(2); config.criticalExtensions = criticalExtensions_Type.PerDecoder.Instance.Decode(input); }
public cellInfoList_r9_Type Decode(BitArrayInputStream input) { int num2; cellInfoList_r9_Type type = new cellInfoList_r9_Type(); type.InitDefaults(); bool flag = input.ReadBit() != 0; switch (input.ReadBits(2)) { case 0: { type.geran_r9 = new List <CellInfoGERAN_r9>(); num2 = 5; int num4 = input.ReadBits(num2) + 1; for (int i = 0; i < num4; i++) { CellInfoGERAN_r9 item = CellInfoGERAN_r9.PerDecoder.Instance.Decode(input); type.geran_r9.Add(item); } return(type); } case 1: { type.utra_FDD_r9 = new List <CellInfoUTRA_FDD_r9>(); num2 = 4; int num6 = input.ReadBits(num2) + 1; for (int j = 0; j < num6; j++) { CellInfoUTRA_FDD_r9 _r2 = CellInfoUTRA_FDD_r9.PerDecoder.Instance.Decode(input); type.utra_FDD_r9.Add(_r2); } return(type); } case 2: { type.utra_TDD_r9 = new List <CellInfoUTRA_TDD_r9>(); num2 = 4; int num8 = input.ReadBits(num2) + 1; for (int k = 0; k < num8; k++) { CellInfoUTRA_TDD_r9 _r3 = CellInfoUTRA_TDD_r9.PerDecoder.Instance.Decode(input); type.utra_TDD_r9.Add(_r3); } return(type); } case 3: if (flag) { type.utra_TDD_r10 = new List <CellInfoUTRA_TDD_r10>(); num2 = 4; int num10 = input.ReadBits(num2) + 1; for (int m = 0; m < num10; m++) { CellInfoUTRA_TDD_r10 _r4 = CellInfoUTRA_TDD_r10.PerDecoder.Instance.Decode(input); type.utra_TDD_r10.Add(_r4); } } return(type); } throw new Exception(GetType().Name + ":NoChoice had been choose"); }
public RadioResourceConfigDedicated Decode(BitArrayInputStream input) { int num2; BitMaskStream stream2; RadioResourceConfigDedicated dedicated = new RadioResourceConfigDedicated(); dedicated.InitDefaults(); bool flag = input.ReadBit() != 0; BitMaskStream stream = new BitMaskStream(input, 6); if (stream.Read()) { dedicated.srb_ToAddModList = new List <SRB_ToAddMod>(); num2 = 1; int num3 = input.ReadBits(num2) + 1; for (int i = 0; i < num3; i++) { SRB_ToAddMod item = SRB_ToAddMod.PerDecoder.Instance.Decode(input); dedicated.srb_ToAddModList.Add(item); } } if (stream.Read()) { dedicated.drb_ToAddModList = new List <DRB_ToAddMod>(); num2 = 4; int num5 = input.ReadBits(num2) + 1; for (int j = 0; j < num5; j++) { DRB_ToAddMod mod2 = DRB_ToAddMod.PerDecoder.Instance.Decode(input); dedicated.drb_ToAddModList.Add(mod2); } } if (stream.Read()) { dedicated.drb_ToReleaseList = new List <long>(); num2 = 4; int num7 = input.ReadBits(num2) + 1; for (int k = 0; k < num7; k++) { long num9 = input.ReadBits(5) + 1; dedicated.drb_ToReleaseList.Add(num9); } } if (stream.Read()) { dedicated.mac_MainConfig = mac_MainConfig_Type.PerDecoder.Instance.Decode(input); } if (stream.Read()) { dedicated.sps_Config = SPS_Config.PerDecoder.Instance.Decode(input); } if (stream.Read()) { dedicated.physicalConfigDedicated = PhysicalConfigDedicated.PerDecoder.Instance.Decode(input); } if (flag) { stream2 = new BitMaskStream(input, 1); if (stream2.Read()) { dedicated.rlf_TimersAndConstants_r9 = RLF_TimersAndConstants_r9.PerDecoder.Instance.Decode(input); } } if (flag) { stream2 = new BitMaskStream(input, 1); if (stream2.Read()) { dedicated.measSubframePatternPCell_r10 = MeasSubframePatternPCell_r10.PerDecoder.Instance.Decode(input); } } if (flag) { stream2 = new BitMaskStream(input, 1); if (stream2.Read()) { dedicated.neighCellsCRS_Info_r11 = NeighCellsCRS_Info_r11.PerDecoder.Instance.Decode(input); } } return(dedicated); }
public E_RABToBeSetupItemCtxtSUReq Decode(BitArrayInputStream input) { E_RABToBeSetupItemCtxtSUReq req = new E_RABToBeSetupItemCtxtSUReq(); req.InitDefaults(); BitMaskStream stream = (input.ReadBit() != 0) ? new BitMaskStream(input, 2) : new BitMaskStream(input, 2); input.ReadBit(); req.e_RAB_ID = input.ReadBits(4); req.e_RABlevelQoSParameters = E_RABLevelQoSParameters.PerDecoder.Instance.Decode(input); input.ReadBit(); int nBits = input.ReadBits(8); input.skipUnreadedBits(); req.transportLayerAddress = input.ReadBitString(nBits + 1); input.skipUnreadedBits(); req.gTP_TEID = input.readOctetString(4); if (!stream.Read()) { goto Label_0154; } input.skipUnreadedBits(); nBits = 0; while (true) { switch (input.ReadBit()) { case 0: nBits += input.ReadBits(7); goto Label_0144; case 1: switch (input.ReadBit()) { case 0: nBits += input.ReadBits(14); goto Label_0144; case 1: input.ReadBits(2); nBits += input.ReadBits(4) * 0x400; break; } break; } } Label_0144: req.nAS_PDU = input.readOctetString(nBits); Label_0154: if (stream.Read()) { input.skipUnreadedBits(); req.iE_Extensions = new List <ProtocolExtensionField>(); int num4 = 0x10; int num5 = input.ReadBits(num4) + 1; for (int i = 0; i < num5; i++) { ProtocolExtensionField item = ProtocolExtensionField.PerDecoder.Instance.Decode(input); req.iE_Extensions.Add(item); } } return(req); }
public MeasObjectEUTRA Decode(BitArrayInputStream input) { int num3; int num4; long num5; BitMaskStream stream3; MeasObjectEUTRA teutra = new MeasObjectEUTRA(); teutra.InitDefaults(); bool flag = input.ReadBit() != 0; BitMaskStream stream = new BitMaskStream(input, 1); BitMaskStream stream2 = new BitMaskStream(input, 5); teutra.carrierFreq = input.ReadBits(0x10); int nBits = 3; teutra.allowedMeasBandwidth = (AllowedMeasBandwidth)input.ReadBits(nBits); teutra.presenceAntennaPort1 = input.ReadBit() == 1; teutra.neighCellConfig = input.ReadBitString(2); if (stream.Read()) { nBits = 5; teutra.offsetFreq = (Q_OffsetRange)input.ReadBits(nBits); } if (stream2.Read()) { teutra.cellsToRemoveList = new List <long>(); nBits = 5; num3 = input.ReadBits(nBits) + 1; for (num4 = 0; num4 < num3; num4++) { num5 = input.ReadBits(5) + 1; teutra.cellsToRemoveList.Add(num5); } } if (stream2.Read()) { teutra.cellsToAddModList = new List <CellsToAddMod>(); nBits = 5; int num6 = input.ReadBits(nBits) + 1; for (int i = 0; i < num6; i++) { CellsToAddMod item = CellsToAddMod.PerDecoder.Instance.Decode(input); teutra.cellsToAddModList.Add(item); } } if (stream2.Read()) { teutra.blackCellsToRemoveList = new List <long>(); nBits = 5; num3 = input.ReadBits(nBits) + 1; for (num4 = 0; num4 < num3; num4++) { num5 = input.ReadBits(5) + 1; teutra.blackCellsToRemoveList.Add(num5); } } if (stream2.Read()) { teutra.blackCellsToAddModList = new List <BlackCellsToAddMod>(); nBits = 5; int num8 = input.ReadBits(nBits) + 1; for (int j = 0; j < num8; j++) { BlackCellsToAddMod mod2 = BlackCellsToAddMod.PerDecoder.Instance.Decode(input); teutra.blackCellsToAddModList.Add(mod2); } } if (stream2.Read()) { teutra.cellForWhichToReportCGI = input.ReadBits(9); } if (flag) { stream3 = new BitMaskStream(input, 2); if (stream3.Read()) { nBits = 3; teutra.measCycleSCell_r10 = (MeasCycleSCell_r10)input.ReadBits(nBits); } if (stream3.Read()) { teutra.measSubframePatternConfigNeigh_r10 = MeasSubframePatternConfigNeigh_r10.PerDecoder.Instance.Decode(input); } } if (flag) { stream3 = new BitMaskStream(input, 1); if (stream3.Read()) { teutra.widebandRSRQ_Meas_r11 = input.ReadBit() == 1; } } if (flag) { stream3 = new BitMaskStream(input, 2); if (stream3.Read()) { teutra.altTTT_CellsToRemoveList_r12 = new List <long>(); nBits = 5; num3 = input.ReadBits(nBits) + 1; for (num4 = 0; num4 < num3; num4++) { num5 = input.ReadBits(5) + 1; teutra.altTTT_CellsToRemoveList_r12.Add(num5); } } if (!stream3.Read()) { return(teutra); } teutra.altTTT_CellsToAddModList_r12 = new List <AltTTT_CellsToAddMod_r12>(); nBits = 5; int num10 = input.ReadBits(nBits) + 1; for (int k = 0; k < num10; k++) { AltTTT_CellsToAddMod_r12 _r = AltTTT_CellsToAddMod_r12.PerDecoder.Instance.Decode(input); teutra.altTTT_CellsToAddModList_r12.Add(_r); } } return(teutra); }
public longDRX_CycleStartOffset_Type Decode(BitArrayInputStream input) { longDRX_CycleStartOffset_Type type = new longDRX_CycleStartOffset_Type(); type.InitDefaults(); switch (input.ReadBits(4)) { case 0: type.sf10 = input.ReadBits(4); return(type); case 1: type.sf20 = input.ReadBits(5); return(type); case 2: type.sf32 = input.ReadBits(5); return(type); case 3: type.sf40 = input.ReadBits(6); return(type); case 4: type.sf64 = input.ReadBits(6); return(type); case 5: type.sf80 = input.ReadBits(7); return(type); case 6: type.sf128 = input.ReadBits(7); return(type); case 7: type.sf160 = input.ReadBits(8); return(type); case 8: type.sf256 = input.ReadBits(8); return(type); case 9: type.sf320 = input.ReadBits(9); return(type); case 10: type.sf512 = input.ReadBits(9); return(type); case 11: type.sf640 = input.ReadBits(10); return(type); case 12: type.sf1024 = input.ReadBits(10); return(type); case 13: type.sf1280 = input.ReadBits(11); return(type); case 14: type.sf2048 = input.ReadBits(11); return(type); case 15: type.sf2560 = input.ReadBits(12); return(type); } throw new Exception(GetType().Name + ":NoChoice had been choose"); }
protected override void ProcessConfig(BCCH_Config config, BitArrayInputStream input) { InitDefaults(); config.modificationPeriodCoeff = (modificationPeriodCoeff_Enum)input.ReadBits(2); }
public long Decode(BitArrayInputStream input) { input.skipUnreadedBits(); return(input.ReadBits(8) + 1); }
protected override void ProcessConfig(BandClassPriorityHRPD config, BitArrayInputStream input) { input.ReadBit(); config.bandClass = (BandclassCDMA2000)input.ReadBits(5); config.cellReselectionPriority = input.ReadBits(3); }
public measResultNeighCells_r10_Type Decode(BitArrayInputStream input) { int num2; measResultNeighCells_r10_Type type = new measResultNeighCells_r10_Type(); type.InitDefaults(); BitMaskStream stream = new BitMaskStream(input, 4); if (stream.Read()) { type.measResultListEUTRA_r10 = new List <MeasResult2EUTRA_r9>(); num2 = 3; int num3 = input.ReadBits(num2) + 1; for (int i = 0; i < num3; i++) { MeasResult2EUTRA_r9 item = MeasResult2EUTRA_r9.PerDecoder.Instance.Decode(input); type.measResultListEUTRA_r10.Add(item); } } if (stream.Read()) { type.measResultListUTRA_r10 = new List <MeasResult2UTRA_r9>(); num2 = 3; int num5 = input.ReadBits(num2) + 1; for (int j = 0; j < num5; j++) { MeasResult2UTRA_r9 _r2 = MeasResult2UTRA_r9.PerDecoder.Instance.Decode(input); type.measResultListUTRA_r10.Add(_r2); } } if (stream.Read()) { type.measResultListGERAN_r10 = new List <List <MeasResultGERAN> >(); num2 = 2; int num7 = input.ReadBits(num2) + 1; for (int k = 0; k < num7; k++) { List <MeasResultGERAN> list = new List <MeasResultGERAN>(); num2 = 3; int num9 = input.ReadBits(num2) + 1; for (int m = 0; m < num9; m++) { MeasResultGERAN tgeran = MeasResultGERAN.PerDecoder.Instance.Decode(input); list.Add(tgeran); } type.measResultListGERAN_r10.Add(list); } } if (stream.Read()) { type.measResultListCDMA2000_r10 = new List <MeasResult2CDMA2000_r9>(); num2 = 3; int num11 = input.ReadBits(num2) + 1; for (int n = 0; n < num11; n++) { MeasResult2CDMA2000_r9 _r3 = MeasResult2CDMA2000_r9.PerDecoder.Instance.Decode(input); type.measResultListCDMA2000_r10.Add(_r3); } } return(type); }
public RRCConnectionReestablishmentComplete_v1130_IEs Decode(BitArrayInputStream input) { RRCConnectionReestablishmentComplete_v1130_IEs es = new RRCConnectionReestablishmentComplete_v1130_IEs(); es.InitDefaults(); BitMaskStream stream = new BitMaskStream(input, 2); if (stream.Read()) { const int nBits = 1; es.connEstFailInfoAvailable_r11 = (connEstFailInfoAvailable_r11_Enum)input.ReadBits(nBits); } if (stream.Read()) { es.nonCriticalExtension = nonCriticalExtension_Type.PerDecoder.Instance.Decode(input); } return(es); }
public HandoverRestrictionList Decode(BitArrayInputStream input) { int num4; HandoverRestrictionList list = new HandoverRestrictionList(); list.InitDefaults(); BitMaskStream stream = (input.ReadBit() != 0) ? new BitMaskStream(input, 5) : new BitMaskStream(input, 5); input.skipUnreadedBits(); list.servingPLMN = input.readOctetString(3); if (stream.Read()) { list.equivalentPLMNs = new List <string>(); num4 = 4; int num5 = input.ReadBits(num4) + 1; for (int i = 0; i < num5; i++) { input.skipUnreadedBits(); string str = input.readOctetString(3); list.equivalentPLMNs.Add(str); } } if (stream.Read()) { list.forbiddenTAs = new List <ForbiddenTAs_Item>(); num4 = 4; int num7 = input.ReadBits(num4) + 1; for (int j = 0; j < num7; j++) { ForbiddenTAs_Item item = ForbiddenTAs_Item.PerDecoder.Instance.Decode(input); list.forbiddenTAs.Add(item); } } if (stream.Read()) { list.forbiddenLAs = new List <ForbiddenLAs_Item>(); num4 = 4; int num9 = input.ReadBits(num4) + 1; for (int k = 0; k < num9; k++) { ForbiddenLAs_Item item2 = ForbiddenLAs_Item.PerDecoder.Instance.Decode(input); list.forbiddenLAs.Add(item2); } } if (stream.Read()) { num4 = (input.ReadBit() == 0) ? 3 : 3; list.forbiddenInterRATs = (ForbiddenInterRATs)input.ReadBits(num4); } if (stream.Read()) { input.skipUnreadedBits(); list.iE_Extensions = new List <ProtocolExtensionField>(); num4 = 0x10; int num11 = input.ReadBits(num4) + 1; for (int m = 0; m < num11; m++) { ProtocolExtensionField field = ProtocolExtensionField.PerDecoder.Instance.Decode(input); list.iE_Extensions.Add(field); } } return(list); }
public NonContiguousUL_RA_WithinCC_r10 Decode(BitArrayInputStream input) { NonContiguousUL_RA_WithinCC_r10 _r = new NonContiguousUL_RA_WithinCC_r10(); _r.InitDefaults(); BitMaskStream stream = new BitMaskStream(input, 1); if (stream.Read()) { const int nBits = 1; _r.nonContiguousUL_RA_WithinCC_Info_r10 = (nonContiguousUL_RA_WithinCC_Info_r10_Enum)input.ReadBits(nBits); } return(_r); }
public static TimeToWait Value(BitArrayInputStream input) { int nBits = (input.ReadBit() == 0) ? 3 : 3; return((TimeToWait)input.ReadBits(nBits)); }