SharpCifs.Smb.Trans2GetDfsReferralResponse.Referral.ReadWireFormat C# (CSharp) Method

ReadWireFormat() private method

private ReadWireFormat ( byte buffer, int bufferIndex, int len ) : int
buffer byte
bufferIndex int
len int
return int
			internal virtual int ReadWireFormat(byte[] buffer, int bufferIndex, int len)
			{
				int start = bufferIndex;
				_version = ReadInt2(buffer, bufferIndex);
				if (_version != 3 && _version != 1)
				{
					throw new RuntimeException("Version " + _version + " referral not supported. Please report this to jcifs at samba dot org."
						);
				}
				bufferIndex += 2;
				_size = ReadInt2(buffer, bufferIndex);
				bufferIndex += 2;
				_serverType = ReadInt2(buffer, bufferIndex);
				bufferIndex += 2;
				_flags = ReadInt2(buffer, bufferIndex);
				bufferIndex += 2;
				if (_version == 3)
				{
					_proximity = ReadInt2(buffer, bufferIndex);
					bufferIndex += 2;
					Ttl = ReadInt2(buffer, bufferIndex);
					bufferIndex += 2;
					_pathOffset = ReadInt2(buffer, bufferIndex);
					bufferIndex += 2;
					_altPathOffset = ReadInt2(buffer, bufferIndex);
					bufferIndex += 2;
					_nodeOffset = ReadInt2(buffer, bufferIndex);
					bufferIndex += 2;
					Path = _enclosing.ReadString(buffer, start + _pathOffset, len, (_enclosing.Flags2 & SmbConstants.Flags2Unicode) != 0);
					if (_nodeOffset > 0)
					{
						Node = _enclosing.ReadString(buffer, start + _nodeOffset, len, (_enclosing.Flags2 & SmbConstants.Flags2Unicode) != 0);
					}
				}
				else
				{
					if (_version == 1)
					{
						Node = _enclosing.ReadString(buffer, bufferIndex, len, (_enclosing
							.Flags2 & SmbConstants.Flags2Unicode) != 0);
					}
				}
				return _size;
			}
Trans2GetDfsReferralResponse.Referral