}
}
+#if !MOBILE
class Win32GatewayIPAddressInformationCollection : GatewayIPAddressInformationCollection
{
public static readonly Win32GatewayIPAddressInformationCollection Empty = new Win32GatewayIPAddressInformationCollection (true);
get { return is_readonly; }
}
}
+#endif
class UnixGatewayIPAddressInformationCollection : GatewayIPAddressInformationCollection
{
}
}
+#if !MOBILE
class Win32IPAddressCollection : IPAddressCollection
{
public static readonly Win32IPAddressCollection Empty = new Win32IPAddressCollection (IntPtr.Zero);
get { return is_readonly; }
}
}
+#endif
}
get { return is_readonly; }
}
+#if !MOBILE
public static IPAddressInformationCollection Win32FromAnycast (IntPtr ptr)
{
IPAddressInformationImplCollection c = new IPAddressInformationImplCollection (false);
c.is_readonly = true;
return c;
}
+#endif
public static IPAddressInformationImplCollection LinuxFromAnycast (IList<IPAddress> addresses)
{
{
#if MONODROID
return new AndroidIPGlobalProperties ();
+#elif MONOTOUCH || XAMMAC
+ return new UnixIPGlobalProperties ();
#else
switch (Environment.OSVersion.Platform) {
case PlatformID.Unix:
}
}
+#if MONODROID
sealed class AndroidIPGlobalProperties : UnixIPGlobalProperties
{
public override string DomainName {
}
}
}
+#endif
// It expects /proc/net/snmp (or /usr/compat/linux/proc/net/snmp),
// formatted like:
}
}
+#if !MOBILE
class Win32IPGlobalProperties : IPGlobalProperties
{
public const int AF_INET = 2;
}
}
}
+#endif
}
}
}
+#if !MOBILE
class Win32IPGlobalStatistics : IPGlobalStatistics
{
Win32_MIB_IPSTATS info;
get { return info.InUnknownProtos; }
}
}
-
+
[StructLayout (LayoutKind.Sequential)]
struct Win32_MIB_IPSTATS
{
public int NumAddr;
public int NumRoutes;
}
+#endif
}
}
}
+#if !MOBILE
class Win32IPInterfaceProperties2 : IPInterfaceProperties
{
readonly Win32_IP_ADAPTER_ADDRESSES addr;
}
}
+#endif
}
}
}
+#if !MOBILE
sealed class Win32IPv4InterfaceProperties : IPv4InterfaceProperties
{
[DllImport ("iphlpapi.dll")]
public IntPtr CurrentDnsServer; // to Win32_IP_ADDR_STRING
public Win32_IP_ADDR_STRING DnsServerList;
}
+#endif
}
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
namespace System.Net.NetworkInformation {
+#if !MOBILE
class Win32IPv4InterfaceStatistics : IPv4InterfaceStatistics
{
Win32_MIB_IFROW info;
}
}
+#endif
class LinuxIPv4InterfaceStatistics : IPv4InterfaceStatistics
{
public abstract int Index { get; }
public abstract int Mtu { get; }
}
-
+#if !MOBILE
class Win32IPv6InterfaceProperties : IPv6InterfaceProperties
{
Win32_MIB_IFROW mib;
get { return mib.Mtu; }
}
}
+#endif
}
}
}
+#if !MOBILE
class Win32IcmpV4Statistics : IcmpV4Statistics
{
Win32_MIBICMPSTATS iin, iout;
public uint AddrMasks;
public uint AddrMaskReps;
}
+#endif
}
public const int RouterRenumbering = 138;
}
+#if !MOBILE
class Win32IcmpV6Statistics : IcmpV6Statistics
{
Win32_MIBICMPSTATS_EX iin, iout;
[MarshalAs (UnmanagedType.ByValArray, SizeConst = 256)]
public uint [] Counts;
}
+#endif
}
get { return is_readonly; }
}
+#if !MOBILE
public static MulticastIPAddressInformationCollection Win32FromMulticast (IntPtr ptr)
{
MulticastIPAddressInformationImplCollection c = new MulticastIPAddressInformationImplCollection (false);
c.is_readonly = true;
return c;
}
+#endif
public static MulticastIPAddressInformationImplCollection LinuxFromList (List<IPAddress> addresses)
{
}
}
+#if !MOBILE
class Win32NetworkInterfaceAPI : NetworkInterfaceFactory
{
[DllImport ("iphlpapi.dll", SetLastError = true)]
throw new NotImplementedException ();
}
}
+#endif
public abstract NetworkInterface [] GetAllNetworkInterfaces ();
public abstract int GetLoopbackInterfaceIndex ();
public static NetworkInterfaceFactory Create ()
{
-#if MONOTOUCH
+#if MONOTOUCH || XAMMAC
return new MacOsNetworkInterfaceAPI ();
#else
Version windowsVer51 = new Version (5, 1);
}
}
+#if !MOBILE
class Win32NetworkInterface2 : NetworkInterface
{
[DllImport ("iphlpapi.dll", SetLastError = true)]
get { return !addr.NoMulticast; }
}
}
+#endif
}
}
}
+#if !MOBILE
class Win32TcpStatistics : TcpStatistics
{
Win32_MIB_TCPSTATS info;
public uint OutRsts;
public uint NumConns;
}
-
+#endif
}
}
}
+#if !MOBILE
class Win32UdpStatistics : UdpStatistics
{
Win32_MIB_UDPSTATS info;
public uint OutDatagrams;
public int NumAddrs;
}
+#endif
}
using System.Net.Sockets;
namespace System.Net.NetworkInformation {
+#if !MOBILE
class Win32UnicastIPAddressInformation : UnicastIPAddressInformation
{
int if_index;
get { return info.SuffixOrigin; }
}
}
+#endif
class LinuxUnicastIPAddressInformation : UnicastIPAddressInformation
{
get { return is_readonly; }
}
+#if !MOBILE
public static UnicastIPAddressInformationCollection Win32FromUnicast (int ifIndex, IntPtr ptr)
{
UnicastIPAddressInformationImplCollection c = new UnicastIPAddressInformationImplCollection (false);
c.is_readonly = true;
return c;
}
+#endif
public static UnicastIPAddressInformationCollection LinuxFromList (List<IPAddress> addresses)
{
System.Net.NetworkInformation/UdpStatistics.cs
System.Net.NetworkInformation/UnicastIPAddressInformation.cs
System.Net.NetworkInformation/UnicastIPAddressInformationCollection.cs
-System.Net.NetworkInformation/Win32NetworkInterfaceMarshal.cs
System.Net.Security/AuthenticatedStream.cs
System.Net.Security/AuthenticationLevel.cs
System.Net.Security/EncryptionPolicy.cs