internal static DHCPClient CreateFromMessage(DHCPMessage message) { DHCPClient result = new DHCPClient(); result.m_HardwareAddress = message.ClientHardwareAddress; DHCPOptionHostName dhcpOptionHostName = (DHCPOptionHostName)message.GetOption(TDHCPOption.HostName); if (dhcpOptionHostName != null) { result.m_HostName = dhcpOptionHostName.HostName; } DHCPOptionClientIdentifier dhcpOptionClientIdentifier = (DHCPOptionClientIdentifier)message.GetOption(TDHCPOption.ClientIdentifier); if (dhcpOptionClientIdentifier != null) { result.m_Identifier = dhcpOptionClientIdentifier.Data; } else { result.m_Identifier = message.ClientHardwareAddress; } return(result); }
public override IDHCPOption FromStream(Stream s) { DHCPOptionClientIdentifier result = new DHCPOptionClientIdentifier(); m_HardwareType = (DHCPMessage.THardwareType)ParseHelper.ReadUInt8(s); result.m_Data = new byte[s.Length - s.Position]; s.Read(result.m_Data, 0, result.m_Data.Length); return(result); }