public ProtocolExtensionField Decode(BitArrayInputStream input) { int nBits = 0; long num3 = 0L; ProtocolExtensionField field = new ProtocolExtensionField(); field.InitDefaults(); int num4 = input.readBits(1) + 1; input.skipUnreadedBits(); field.id = input.readBits(num4 * 8); 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_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 { field.extensionValue = S1AP_PROTOCOL_EXTENSION.Switcher(field.id, "Extension", input); input.skipUnreadedBits(); } catch (Exception) { input.skipUnreadedBits(); input.Position = num3; field.extensionValue = input.readOctetString(nBits); } if (input.Position != (num3 + nBits)) { input.Position = num3 + nBits; } return field; }
public CompletedCellinEAI_Item Decode(BitArrayInputStream input) { CompletedCellinEAI_Item item = new CompletedCellinEAI_Item(); item.InitDefaults(); BitMaskStream stream = (input.ReadBit() != 0) ? new BitMaskStream(input, 1) : new BitMaskStream(input, 1); item.eCGI = EUTRAN_CGI.PerDecoder.Instance.Decode(input); if (stream.Read()) { input.skipUnreadedBits(); item.iE_Extensions = new List <ProtocolExtensionField>(); int nBits = 0x10; int num5 = input.ReadBits(nBits) + 1; for (int i = 0; i < num5; i++) { ProtocolExtensionField field = ProtocolExtensionField.PerDecoder.Instance.Decode(input); item.iE_Extensions.Add(field); } } return(item); }
public TargetRNC_ID Decode(BitArrayInputStream input) { int num4; TargetRNC_ID trnc_id = new TargetRNC_ID(); trnc_id.InitDefaults(); BitMaskStream stream = (input.readBit() != 0) ? new BitMaskStream(input, 3) : new BitMaskStream(input, 3); trnc_id.lAI = LAI.PerDecoder.Decode(input); if (stream.Read()) { input.skipUnreadedBits(); trnc_id.rAC = input.readOctetString(1); } input.skipUnreadedBits(); trnc_id.rNC_ID = input.readBits(0x10); if (stream.Read()) { num4 = input.readBits(1) + 1; input.skipUnreadedBits(); trnc_id.extendedRNC_ID = input.readBits(num4 * 8) + 0x1000; } if (stream.Read()) { input.skipUnreadedBits(); trnc_id.iE_Extensions = new List <ProtocolExtensionField>(); num4 = 0x10; int num5 = input.readBits(num4) + 1; for (int i = 0; i < num5; i++) { ProtocolExtensionField item = ProtocolExtensionField.PerDecoder.Instance.Decode(input); trnc_id.iE_Extensions.Add(item); } } return(trnc_id); }
public E_RABReleaseItemBearerRelComp Decode(BitArrayInputStream input) { E_RABReleaseItemBearerRelComp comp = new E_RABReleaseItemBearerRelComp(); comp.InitDefaults(); BitMaskStream stream = (input.readBit() != 0) ? new BitMaskStream(input, 1) : new BitMaskStream(input, 1); input.readBit(); comp.e_RAB_ID = input.readBits(4); if (stream.Read()) { input.skipUnreadedBits(); comp.iE_Extensions = new List <ProtocolExtensionField>(); int nBits = 0x10; int num5 = input.readBits(nBits) + 1; for (int i = 0; i < num5; i++) { ProtocolExtensionField item = ProtocolExtensionField.PerDecoder.Instance.Decode(input); comp.iE_Extensions.Add(item); } } return(comp); }
public UESecurityCapabilities Decode(BitArrayInputStream input) { UESecurityCapabilities capabilities = new UESecurityCapabilities(); capabilities.InitDefaults(); BitMaskStream stream = (input.readBit() != 0) ? new BitMaskStream(input, 1) : new BitMaskStream(input, 1); capabilities.encryptionAlgorithms = input.readBitString(0x10); capabilities.integrityProtectionAlgorithms = input.readBitString(0x10); if (stream.Read()) { input.skipUnreadedBits(); capabilities.iE_Extensions = new List <ProtocolExtensionField>(); int nBits = 0x10; int num5 = input.readBits(nBits) + 1; for (int i = 0; i < num5; i++) { ProtocolExtensionField item = ProtocolExtensionField.PerDecoder.Instance.Decode(input); capabilities.iE_Extensions.Add(item); } } return(capabilities); }
public CellType Decode(BitArrayInputStream input) { CellType type = new CellType(); type.InitDefaults(); BitMaskStream stream = (input.readBit() != 0) ? new BitMaskStream(input, 1) : new BitMaskStream(input, 1); int nBits = (input.readBit() == 0) ? 2 : 2; type.cell_Size = (Cell_Size)input.readBits(nBits); if (stream.Read()) { input.skipUnreadedBits(); type.iE_Extensions = new List <ProtocolExtensionField>(); nBits = 0x10; int num5 = input.readBits(nBits) + 1; for (int i = 0; i < num5; i++) { ProtocolExtensionField item = ProtocolExtensionField.PerDecoder.Instance.Decode(input); type.iE_Extensions.Add(item); } } return(type); }
public E_RABModifyItemBearerModRes Decode(BitArrayInputStream input) { E_RABModifyItemBearerModRes res = new E_RABModifyItemBearerModRes(); res.InitDefaults(); BitMaskStream stream = (input.ReadBit() != 0) ? new BitMaskStream(input, 1) : new BitMaskStream(input, 1); input.ReadBit(); res.e_RAB_ID = input.ReadBits(4); if (stream.Read()) { input.skipUnreadedBits(); res.iE_Extensions = new List <ProtocolExtensionField>(); int nBits = 0x10; int num5 = input.ReadBits(nBits) + 1; for (int i = 0; i < num5; i++) { ProtocolExtensionField item = ProtocolExtensionField.PerDecoder.Instance.Decode(input); res.iE_Extensions.Add(item); } } return(res); }
public SourceeNB_ID Decode(BitArrayInputStream input) { SourceeNB_ID enb_id = new SourceeNB_ID(); enb_id.InitDefaults(); BitMaskStream stream = new BitMaskStream(input, 1); enb_id.global_ENB_ID = Global_ENB_ID.PerDecoder.Instance.Decode(input); enb_id.selected_TAI = TAI.PerDecoder.Instance.Decode(input); if (stream.Read()) { input.skipUnreadedBits(); enb_id.iE_Extensions = new List <ProtocolExtensionField>(); int nBits = 0x10; int num5 = input.readBits(nBits) + 1; for (int i = 0; i < num5; i++) { ProtocolExtensionField item = ProtocolExtensionField.PerDecoder.Instance.Decode(input); enb_id.iE_Extensions.Add(item); } } return(enb_id); }
public EUTRAN_CGI Decode(BitArrayInputStream input) { EUTRAN_CGI eutran_cgi = new EUTRAN_CGI(); eutran_cgi.InitDefaults(); BitMaskStream stream = (input.readBit() != 0) ? new BitMaskStream(input, 1) : new BitMaskStream(input, 1); input.skipUnreadedBits(); eutran_cgi.pLMNidentity = input.readOctetString(3); eutran_cgi.cell_ID = input.readBitString(0x1c); if (stream.Read()) { input.skipUnreadedBits(); eutran_cgi.iE_Extensions = new List <ProtocolExtensionField>(); int nBits = 0x10; int num5 = input.readBits(nBits) + 1; for (int i = 0; i < num5; i++) { ProtocolExtensionField item = ProtocolExtensionField.PerDecoder.Instance.Decode(input); eutran_cgi.iE_Extensions.Add(item); } } return(eutran_cgi); }
public E_RABItem Decode(BitArrayInputStream input) { E_RABItem item = new E_RABItem(); item.InitDefaults(); BitMaskStream stream = (input.ReadBit() != 0) ? new BitMaskStream(input, 1) : new BitMaskStream(input, 1); input.ReadBit(); item.e_RAB_ID = input.ReadBits(4); item.cause = Cause.PerDecoder.Instance.Decode(input); if (stream.Read()) { input.skipUnreadedBits(); item.iE_Extensions = new List <ProtocolExtensionField>(); int nBits = 0x10; int num5 = input.ReadBits(nBits) + 1; for (int i = 0; i < num5; i++) { ProtocolExtensionField field = ProtocolExtensionField.PerDecoder.Instance.Decode(input); item.iE_Extensions.Add(field); } } return(item); }
public E_RABFailedToSetupItemHOReqAck Decode(BitArrayInputStream input) { E_RABFailedToSetupItemHOReqAck ack = new E_RABFailedToSetupItemHOReqAck(); ack.InitDefaults(); BitMaskStream stream = (input.ReadBit() != 0) ? new BitMaskStream(input, 1) : new BitMaskStream(input, 1); input.ReadBit(); ack.e_RAB_ID = input.ReadBits(4); ack.cause = Cause.PerDecoder.Instance.Decode(input); if (stream.Read()) { input.skipUnreadedBits(); ack.iE_Extensions = new List <ProtocolExtensionField>(); int nBits = 0x10; int num5 = input.ReadBits(nBits) + 1; for (int i = 0; i < num5; i++) { ProtocolExtensionField item = ProtocolExtensionField.PerDecoder.Instance.Decode(input); ack.iE_Extensions.Add(item); } } return(ack); }
public SONConfigurationTransfer Decode(BitArrayInputStream input) { SONConfigurationTransfer transfer = new SONConfigurationTransfer(); transfer.InitDefaults(); BitMaskStream stream = (input.ReadBit() != 0) ? new BitMaskStream(input, 1) : new BitMaskStream(input, 1); transfer.targeteNB_ID = TargeteNB_ID.PerDecoder.Instance.Decode(input); transfer.sourceeNB_ID = SourceeNB_ID.PerDecoder.Instance.Decode(input); transfer.sONInformation = SONInformation.PerDecoder.Instance.Decode(input); if (stream.Read()) { input.skipUnreadedBits(); transfer.iE_Extensions = new List <ProtocolExtensionField>(); int nBits = 0x10; int num5 = input.ReadBits(nBits) + 1; for (int i = 0; i < num5; i++) { ProtocolExtensionField item = ProtocolExtensionField.PerDecoder.Instance.Decode(input); transfer.iE_Extensions.Add(item); } } return(transfer); }
public SecurityContext Decode(BitArrayInputStream input) { SecurityContext context = new SecurityContext(); context.InitDefaults(); BitMaskStream stream = (input.readBit() != 0) ? new BitMaskStream(input, 1) : new BitMaskStream(input, 1); context.nextHopChainingCount = input.readBits(3); input.skipUnreadedBits(); context.nextHopParameter = input.readBitString(0x100); if (stream.Read()) { input.skipUnreadedBits(); context.iE_Extensions = new List <ProtocolExtensionField>(); int nBits = 0x10; int num5 = input.readBits(nBits) + 1; for (int i = 0; i < num5; i++) { ProtocolExtensionField item = ProtocolExtensionField.PerDecoder.Instance.Decode(input); context.iE_Extensions.Add(item); } } return(context); }
public Cdma2000OneXSRVCCInfo Decode(BitArrayInputStream input) { Cdma2000OneXSRVCCInfo info = new Cdma2000OneXSRVCCInfo(); info.InitDefaults(); BitMaskStream stream = (input.ReadBit() != 0) ? new BitMaskStream(input, 1) : new BitMaskStream(input, 1); input.skipUnreadedBits(); int nBits = 0; while (true) { switch (input.ReadBit()) { case 0: nBits += input.ReadBits(7); goto Label_00C9; case 1: switch (input.ReadBit()) { case 0: nBits += input.ReadBits(14); goto Label_00C9; case 1: input.ReadBits(2); nBits += input.ReadBits(4) * 0x400; break; } break; } } Label_00C9: info.cdma2000OneXMEID = input.readOctetString(nBits); input.skipUnreadedBits(); nBits = 0; while (true) { switch (input.ReadBit()) { case 0: nBits += input.ReadBits(7); goto Label_0163; case 1: switch (input.ReadBit()) { case 0: nBits += input.ReadBits(14); goto Label_0163; case 1: input.ReadBits(2); nBits += input.ReadBits(4) * 0x400; break; } break; } } Label_0163: info.cdma2000OneXMSI = input.readOctetString(nBits); input.skipUnreadedBits(); nBits = 0; while (true) { switch (input.ReadBit()) { case 0: nBits += input.ReadBits(7); goto Label_01FD; case 1: switch (input.ReadBit()) { case 0: nBits += input.ReadBits(14); goto Label_01FD; case 1: input.ReadBits(2); nBits += input.ReadBits(4) * 0x400; break; } break; } } Label_01FD: info.cdma2000OneXPilot = input.readOctetString(nBits); if (stream.Read()) { input.skipUnreadedBits(); info.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); info.iE_Extensions.Add(item); } } return(info); }
public SourceeNB_ToTargeteNB_TransparentContainer Decode(BitArrayInputStream input) { int num4; SourceeNB_ToTargeteNB_TransparentContainer container = new SourceeNB_ToTargeteNB_TransparentContainer(); container.InitDefaults(); BitMaskStream stream = (input.readBit() != 0) ? new BitMaskStream(input, 3) : new BitMaskStream(input, 3); input.skipUnreadedBits(); int nBits = 0; while (true) { switch (input.readBit()) { case 0: nBits += input.readBits(7); goto Label_00C9; case 1: switch (input.readBit()) { case 0: nBits += input.readBits(14); goto Label_00C9; case 1: input.readBits(2); nBits += input.readBits(4) * 0x400; break; } break; } } Label_00C9: container.rRC_Container = input.readOctetString(nBits); if (stream.Read()) { input.skipUnreadedBits(); container.e_RABInformationList = new List <ProtocolIE_Field>(); num4 = 8; int num5 = input.readBits(num4) + 1; for (int j = 0; j < num5; j++) { ProtocolIE_Field field = ProtocolIE_Field.PerDecoder.Instance.Decode(input); container.e_RABInformationList.Add(field); } } container.targetCell_ID = EUTRAN_CGI.PerDecoder.Instance.Decode(input); if (stream.Read()) { input.skipUnreadedBits(); container.subscriberProfileIDforRFP = input.readBits(8) + 1; } container.uE_HistoryInformation = new List <LastVisitedCell_Item>(); num4 = 4; int num7 = input.readBits(num4) + 1; for (int i = 0; i < num7; i++) { LastVisitedCell_Item item = LastVisitedCell_Item.PerDecoder.Instance.Decode(input); container.uE_HistoryInformation.Add(item); } if (stream.Read()) { input.skipUnreadedBits(); container.iE_Extensions = new List <ProtocolExtensionField>(); num4 = 0x10; int num9 = input.readBits(num4) + 1; for (int k = 0; k < num9; k++) { ProtocolExtensionField field2 = ProtocolExtensionField.PerDecoder.Instance.Decode(input); container.iE_Extensions.Add(field2); } } return(container); }
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 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); }