using System;
namespace System.Net.Sockets
{
/// Presents the packet information from a call to or .
// Token: 0x020001DA RID: 474
public struct IPPacketInformation
{
// Token: 0x06000F53 RID: 3923 RVA: 0x0002A268 File Offset: 0x00028468
internal IPPacketInformation(IPAddress address, int iface)
{
this.address = address;
this.iface = iface;
}
/// Gets the origin information of the packet that was received as a result of calling the method or method.
/// An that indicates the origin information of the packet that was received as a result of calling the method or method. For packets that were sent from a unicast address, the property will return the of the sender; for multicast or broadcast packets, the property will return the multicast or broadcast .
// Token: 0x1700053E RID: 1342
// (get) Token: 0x06000F54 RID: 3924 RVA: 0x0002A278 File Offset: 0x00028478
public IPAddress Address
{
get
{
return this.address;
}
}
/// Gets the network interface information that is associated with a call to or .
/// An value, which represents the index of the network interface. You can use this index with to get more information about the relevant interface.
// Token: 0x1700053F RID: 1343
// (get) Token: 0x06000F55 RID: 3925 RVA: 0x0002A280 File Offset: 0x00028480
public int Interface
{
get
{
return this.iface;
}
}
/// Returns a value that indicates whether this instance is equal to a specified object.
/// true if is an instance of and equals the value of the instance; otherwise, false.
/// The object to compare with this instance.
// Token: 0x06000F56 RID: 3926 RVA: 0x0002A288 File Offset: 0x00028488
public override bool Equals(object comparand)
{
if (!(comparand is IPPacketInformation))
{
return false;
}
IPPacketInformation ippacketInformation = (IPPacketInformation)comparand;
return ippacketInformation.iface == this.iface && ippacketInformation.address.Equals(this.address);
}
/// Returns the hash code for this instance.
/// An Int32 hash code.
// Token: 0x06000F57 RID: 3927 RVA: 0x0002A2D0 File Offset: 0x000284D0
public override int GetHashCode()
{
return this.address.GetHashCode() + this.iface;
}
/// Tests whether two specified instances are equivalent.
/// true if and are equal; otherwise, false.
/// The instance that is to the left of the equality operator.
/// The instance that is to the right of the equality operator.
// Token: 0x06000F58 RID: 3928 RVA: 0x0002A2E4 File Offset: 0x000284E4
public static bool operator ==(IPPacketInformation p1, IPPacketInformation p2)
{
return p1.Equals(p2);
}
/// Tests whether two specified instances are not equal.
/// true if and are unequal; otherwise, false.
/// The instance that is to the left of the inequality operator.
/// The instance that is to the right of the inequality operator.
// Token: 0x06000F59 RID: 3929 RVA: 0x0002A2F4 File Offset: 0x000284F4
public static bool operator !=(IPPacketInformation p1, IPPacketInformation p2)
{
return !p1.Equals(p2);
}
// Token: 0x04000DF4 RID: 3572
private IPAddress address;
// Token: 0x04000DF5 RID: 3573
private int iface;
}
}