60 lines
2.3 KiB
C#
60 lines
2.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace System.Net.NetworkInformation
|
|
{
|
|
// Token: 0x020001C4 RID: 452
|
|
internal class UnicastIPAddressInformationImplCollection : UnicastIPAddressInformationCollection
|
|
{
|
|
// Token: 0x06000ED9 RID: 3801 RVA: 0x000295BC File Offset: 0x000277BC
|
|
private UnicastIPAddressInformationImplCollection(bool isReadOnly)
|
|
{
|
|
this.is_readonly = isReadOnly;
|
|
}
|
|
|
|
// Token: 0x1700050A RID: 1290
|
|
// (get) Token: 0x06000EDB RID: 3803 RVA: 0x000295DC File Offset: 0x000277DC
|
|
public override bool IsReadOnly
|
|
{
|
|
get
|
|
{
|
|
return this.is_readonly;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000EDC RID: 3804 RVA: 0x000295E4 File Offset: 0x000277E4
|
|
public static UnicastIPAddressInformationCollection Win32FromUnicast(int ifIndex, IntPtr ptr)
|
|
{
|
|
UnicastIPAddressInformationImplCollection unicastIPAddressInformationImplCollection = new UnicastIPAddressInformationImplCollection(false);
|
|
IntPtr intPtr = ptr;
|
|
while (intPtr != IntPtr.Zero)
|
|
{
|
|
Win32_IP_ADAPTER_UNICAST_ADDRESS win32_IP_ADAPTER_UNICAST_ADDRESS = (Win32_IP_ADAPTER_UNICAST_ADDRESS)Marshal.PtrToStructure(intPtr, typeof(Win32_IP_ADAPTER_UNICAST_ADDRESS));
|
|
unicastIPAddressInformationImplCollection.Add(new Win32UnicastIPAddressInformation(ifIndex, win32_IP_ADAPTER_UNICAST_ADDRESS));
|
|
intPtr = win32_IP_ADAPTER_UNICAST_ADDRESS.Next;
|
|
}
|
|
unicastIPAddressInformationImplCollection.is_readonly = true;
|
|
return unicastIPAddressInformationImplCollection;
|
|
}
|
|
|
|
// Token: 0x06000EDD RID: 3805 RVA: 0x00029644 File Offset: 0x00027844
|
|
public static UnicastIPAddressInformationCollection LinuxFromList(List<IPAddress> addresses)
|
|
{
|
|
UnicastIPAddressInformationImplCollection unicastIPAddressInformationImplCollection = new UnicastIPAddressInformationImplCollection(false);
|
|
foreach (IPAddress ipaddress in addresses)
|
|
{
|
|
unicastIPAddressInformationImplCollection.Add(new LinuxUnicastIPAddressInformation(ipaddress));
|
|
}
|
|
unicastIPAddressInformationImplCollection.is_readonly = true;
|
|
return unicastIPAddressInformationImplCollection;
|
|
}
|
|
|
|
// Token: 0x04000D25 RID: 3365
|
|
public static readonly UnicastIPAddressInformationImplCollection Empty = new UnicastIPAddressInformationImplCollection(true);
|
|
|
|
// Token: 0x04000D26 RID: 3366
|
|
private bool is_readonly;
|
|
}
|
|
}
|