public EricScanner(uint recordLength, uint recordType, BigEndianBinaryReader contentStream) { RecordLength = recordLength; RecordType = recordType; Hour = contentStream.ReadByte(); Minute = contentStream.ReadByte(); Second = contentStream.ReadUInt16(); Millisecond = contentStream.ReadUInt16(); Scannerid = contentStream.ReadUInts(3); Status = contentStream.ReadByte(); PaddingBytes = contentStream.ReadChars(2); }
public EricHeader(uint recordLength, uint recordType, BigEndianBinaryReader contentStream) { RecordLength = recordLength; RecordType = recordType; FileFormatVersion = contentStream.ReadChars(5); PmRecordingRevision = contentStream.ReadChars(((int)RecordLength) - 0x18f); Year = contentStream.ReadUInt16(); Month = contentStream.ReadByte(); Day = contentStream.ReadByte(); Hour = contentStream.ReadByte(); Minute = contentStream.ReadByte(); Second = contentStream.ReadByte(); NeUserLabel = contentStream.ReadChars(0x80); NeLogicalName = contentStream.ReadChars(0xff); }
private void InitailEvent(uint recordLength, uint recordType, BigEndianBinaryReader _contentStream, Hashtable htEventPm) { RecordLength = recordLength; RecordType = recordType; byte[] buffer = _contentStream.ReadBytes(((int)recordLength) - 4); recordLength -= 4; MemoryStream input = new MemoryStream(buffer); BigEndianBinaryReader reader = new BigEndianBinaryReader(input); long position = reader.BaseStream.Position; long num3; EventId = reader.ReadUInts(3); _AsnType = htEventPm[(int)EventId] as EricPmEvent; TimeStampHour = reader.ReadByte(); TimeStampMinute = reader.ReadByte(); TimeStampSecond = reader.ReadByte(); TimeStampMilliSec = reader.ReadUInt16(); ScannerId = reader.ReadUInts(3); RbsModuleId = reader.ReadByte(); GlobalCellId = reader.ReadUInt32(); if (((_AsnType == null) || _AsnType.EventType.Equals("CELL")) || _AsnType.EventType.Equals("RBS")) { num3 = reader.BaseStream.Position - position; UnPaserTraseContent = reader.ReadHex((int)(recordLength - num3)); } else { EnbS1ApId = reader.ReadUInts(3); MmeS1ApId = reader.ReadUInt32(); Gummei = reader.ReadHex(7); RacUeRef = reader.ReadUInt32(); TraceRecordingSessionReference = reader.ReadUInts(3); MessageDirection = reader.ReadByte(); if (_AsnType.EventType.Equals("UE")) { num3 = reader.BaseStream.Position - position; UnPaserTraseContent = reader.ReadHex((int)(recordLength - num3)); } else { L3MessageLength = reader.ReadUInt16(); L3MessageContents = reader.ReadBytes(L3MessageLength); num3 = reader.BaseStream.Position - position; PaddingBytes = reader.ReadChars((int)(recordLength - num3)); } } }
public EricFooter(uint recordLength, uint recordType, BigEndianBinaryReader contentStream) { RecordLength = recordLength; RecordType = recordType; Year = contentStream.ReadUInt16(); Month = contentStream.ReadByte(); Day = contentStream.ReadByte(); Hour = contentStream.ReadByte(); Minute = contentStream.ReadByte(); Second = contentStream.ReadByte(); PaddingBytes = contentStream.ReadByte(); }
public void Parse(Stream stream, bool isParseAsn, uint[] parTraces = null) { if (stream == null) { throw new ArgumentNullException("stream"); } BigEndianBinaryReader reader = new BigEndianBinaryReader(stream); HuaweiHeader header = new HuaweiHeader { file_flag_ui4 = reader.ReadUInt32() }; reader.ReadString(4); reader.ReadUInt32(); header.fver_ui2 = reader.ReadUInt16(); reader.ReadString(4); reader.ReadUInt32(); header.ttyp_ui2 = reader.ReadUInt16(); reader.ReadString(4); reader.ReadUInt32(); header.fno_ui4 = reader.ReadUInt32(); reader.ReadString(4); reader.ReadUInt32(); header.ntyp_i1 = reader.ReadByte(); reader.ReadString(4); reader.ReadUInt32(); header.nver_s40 = reader.ReadString(40); reader.ReadString(4); reader.ReadUInt32(); header.ndep_ui1 = reader.ReadSByte(); OnFileHeader(header); ParTraces = parTraces; IsParseAsn = isParseAsn; uint num = BlockType("msg0"); while (!reader.Eof()) { uint num2 = reader.ReadUInt32(); if (num2 == num) { ParseMsg0(reader); } else { Console.WriteLine("unknown block type as {0:X}, expect {1:X}, but {2:X}", reader.BaseStream.Position, num, num2); return; } } }