+2006-02-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * UnicastIPAddressInformation.cs:
+ * PingException.cs:
+ * TcpConnectionInformation.cs:
+ * IPv4InterfaceStatistics.cs:
+ * NetworkInformationException.cs:
+ * IPAddressInformation.cs:
+ * MulticastIPAddressInformationCollection.cs:
+ * TcpStatistics.cs:
+ * IPGlobalStatistics.cs:
+ * NetworkInformationPermission.cs:
+ * MulticastIPAddressInformation.cs:
+ * IcmpV4Statistics.cs:
+ * IcmpV6Statistics.cs:
+ * IPv4InterfaceProperties.cs:
+ * PhysicalAddress.cs:
+ * IPv6InterfaceProperties.cs:
+ * GatewayIPAddressInformationCollection.cs:
+ * ChangeLog: Modified file.
+ * UnicastIPAddressInformationCollection.cs:
+ * IPAddressCollection.cs:
+ * NetworkInformationPermissionAttribute.cs:
+ * Ping.cs:
+ * NetworkChange.cs:
+ * IPAddressInformationCollection.cs:
+ * UdpStatistics.cs:
+ * GatewayIPAddressInformation.cs:
+ * IPGlobalProperties.cs:
+ * IPInterfaceProperties.cs:
+ * NetworkInterface.cs: implemented or stubbed out.
+
2006-02-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* NetBiosNodeType.cs:
--- /dev/null
+//
+// System.Net.NetworkInformation.GatewayIPAddressInformation
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+namespace System.Net.NetworkInformation {
+ public abstract class GatewayIPAddressInformation {
+ protected GatewayIPAddressInformation ()
+ {
+ }
+
+ public abstract IPAddress Address { get; }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.GatewayIPAddressInformationCollection
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+using System.Collections;
+using System.Collections.Generic;
+
+namespace System.Net.NetworkInformation {
+ public class GatewayIPAddressInformationCollection : ICollection<GatewayIPAddressInformation>, IEnumerable<GatewayIPAddressInformation>, IEnumerable {
+ List<GatewayIPAddressInformation> list;
+
+ protected GatewayIPAddressInformationCollection ()
+ {
+ }
+
+ public virtual void Add (GatewayIPAddressInformation address)
+ {
+ throw new NotSupportedException ("The collection is read-only.");
+ }
+
+ public virtual void Clear ()
+ {
+ throw new NotSupportedException ("The collection is read-only.");
+ }
+
+ public virtual bool Contains (GatewayIPAddressInformation address)
+ {
+ return list.Contains (address);
+ }
+
+ public virtual void CopyTo (GatewayIPAddressInformation [] array, int offset)
+ {
+ list.CopyTo (array, offset);
+ }
+
+ public virtual IEnumerator<GatewayIPAddressInformation> GetEnumerator ()
+ {
+ return ((IEnumerable<GatewayIPAddressInformation>)list).GetEnumerator ();
+ }
+
+ public virtual bool Remove (GatewayIPAddressInformation address)
+ {
+ throw new NotSupportedException ("The collection is read-only.");
+ }
+
+ IEnumerator IEnumerable.GetEnumerator ()
+ {
+ return list.GetEnumerator ();
+ }
+
+ public virtual int Count {
+ get { return list.Count; }
+ }
+
+ public virtual bool IsReadOnly {
+ get { return true; }
+ }
+
+ public virtual GatewayIPAddressInformation this [int index] {
+ get { return list [index]; }
+ }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.IPAddressCollection
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+using System;
+using System.Collections;
+using System.Collections.Generic;
+
+namespace System.Net.NetworkInformation {
+ public class IPAddressCollection : ICollection<IPAddress>, IEnumerable<IPAddress>, IEnumerable {
+ List<IPAddress> list;
+
+ protected internal IPAddressCollection ()
+ {
+ }
+
+ public virtual void Add (IPAddress address)
+ {
+ throw new NotSupportedException ("The collection is read-only.");
+ }
+
+ public virtual void Clear ()
+ {
+ throw new NotSupportedException ("The collection is read-only.");
+ }
+
+ public virtual bool Contains (IPAddress address)
+ {
+ return list.Contains (address);
+ }
+
+ public virtual void CopyTo (IPAddress [] array, int offset)
+ {
+ list.CopyTo (array, offset);
+ }
+
+ public virtual IEnumerator<IPAddress> GetEnumerator ()
+ {
+ return ((IEnumerable<IPAddress>)list).GetEnumerator ();
+ }
+
+ public virtual bool Remove (IPAddress address)
+ {
+ throw new NotSupportedException ("The collection is read-only.");
+ }
+
+ IEnumerator IEnumerable.GetEnumerator ()
+ {
+ return list.GetEnumerator ();
+ }
+
+ public virtual int Count {
+ get { return list.Count; }
+ }
+
+ public virtual bool IsReadOnly {
+ get { return true; }
+ }
+
+ public virtual IPAddress this [int index] {
+ get { return list [index]; }
+ }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.IPAddressInformation
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+using System;
+
+namespace System.Net.NetworkInformation {
+ public abstract class IPAddressInformation {
+ protected IPAddressInformation ()
+ {
+ }
+
+ public abstract IPAddress Address { get; }
+ public abstract bool IsDnsEligible { get; }
+ public abstract bool IsTransient { get; }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.IPAddressInformationCollection
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+using System;
+using System.Collections;
+using System.Collections.Generic;
+
+namespace System.Net.NetworkInformation {
+ public class IPAddressInformationCollection : ICollection<IPAddressInformation>, IEnumerable<IPAddressInformation>, IEnumerable {
+ List <IPAddressInformation> list;
+
+ internal IPAddressInformationCollection ()
+ {
+ }
+
+ public virtual void Add (IPAddressInformation address)
+ {
+ throw new NotSupportedException ("The collection is read-only.");
+ }
+
+ public virtual void Clear ()
+ {
+ throw new NotSupportedException ("The collection is read-only.");
+ }
+
+ public virtual bool Contains (IPAddressInformation address)
+ {
+ return list.Contains (address);
+ }
+
+ public virtual void CopyTo (IPAddressInformation [] array, int offset)
+ {
+ list.CopyTo (array, offset);
+ }
+
+ public virtual IEnumerator<IPAddressInformation> GetEnumerator ()
+ {
+ return ((IEnumerable<IPAddressInformation>)list).GetEnumerator ();
+ }
+
+ public virtual bool Remove (IPAddressInformation address)
+ {
+ throw new NotSupportedException ("The collection is read-only.");
+ }
+
+ IEnumerator IEnumerable.GetEnumerator ()
+ {
+ return list.GetEnumerator ();
+ }
+
+ public virtual int Count {
+ get { return list.Count; }
+ }
+
+ public virtual bool IsReadOnly {
+ get { return true; }
+ }
+
+ public virtual IPAddressInformation this [int index] {
+ get { return list [index]; }
+ }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.IPGlobalProperties
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+namespace System.Net.NetworkInformation {
+ public abstract class IPGlobalProperties {
+ protected IPGlobalProperties ()
+ {
+ }
+
+ [MonoTODO]
+ public static IPGlobalProperties GetIPGlobalProperties ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ public abstract TcpConnectionInformation [] GetActiveTcpConnections ();
+ public abstract IPEndPoint [] GetActiveTcpListeners ();
+ public abstract IPEndPoint [] GetActiveUdpListeners ();
+ public abstract IcmpV4Statistics GetIcmpV4Statistics ();
+ public abstract IcmpV6Statistics GetIcmpV6Statistics ();
+ public abstract IPGlobalStatistics GetIPv4GlobalStatistics ();
+ public abstract IPGlobalStatistics GetIPv6GlobalStatistics ();
+ public abstract TcpStatistics GetTcpIPv4Statistics ();
+ public abstract TcpStatistics GetTcpIPv6Statistics ();
+ public abstract UdpStatistics GetUdpIPv4Statistics ();
+ public abstract UdpStatistics GetUdpIPv6Statistics ();
+
+ public abstract string DhcpScopeName { get; }
+ public abstract string DomainName { get; }
+ public abstract string HostName { get; }
+ public abstract bool IsWinsProxy { get; }
+ public abstract NetBiosNodeType NodeType { get; }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.IPGlobalProperties
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+namespace System.Net.NetworkInformation {
+ public abstract class IPGlobalStatistics {
+ protected IPGlobalStatistics ()
+ {
+ }
+
+ public abstract int DefaultTtl { get; }
+ public abstract bool ForwardingEnabled { get; }
+ public abstract int NumberOfInterfaces { get; }
+ public abstract int NumberOfIPAddresses { get; }
+ public abstract int NumberOfRoutes { get; }
+ public abstract long OutputPacketRequests { get; }
+ public abstract long OutputPacketRoutingDiscards { get; }
+ public abstract long OutputPacketsDiscarded { get; }
+ public abstract long OutputPacketsWithNoRoute { get; }
+ public abstract long PacketFragmentFailures { get; }
+ public abstract long PacketReassembliesRequired { get; }
+ public abstract long PacketReassemblyFailures { get; }
+ public abstract long PacketReassemblyTimeout { get; }
+ public abstract long PacketsFragmented { get; }
+ public abstract long PacketsReassembled { get; }
+ public abstract long ReceivedPackets { get; }
+ public abstract long ReceivedPacketsDelivered { get; }
+ public abstract long ReceivedPacketsDiscarded { get; }
+ public abstract long ReceivedPacketsForwarded { get; }
+ public abstract long ReceivedPacketsWithAddressErrors { get; }
+ public abstract long ReceivedPacketsWithHeadersErrors { get; }
+ public abstract long ReceivedPacketsWithUnknownProtocol { get; }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.IPInterfaceProperties
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+namespace System.Net.NetworkInformation {
+ public abstract class IPInterfaceProperties {
+ protected IPInterfaceProperties ()
+ {
+ }
+
+ public abstract IPv4InterfaceProperties GetIPv4Properties ();
+ public abstract IPv6InterfaceProperties GetIPv6Properties ();
+
+ public abstract IPAddressInformationCollection AnycastAddresses { get; }
+ public abstract IPAddressCollection DhcpServerAddresses { get; }
+ public abstract IPAddressCollection DnsAddresses { get; }
+ public abstract string DnsSuffix { get; }
+ public abstract GatewayIPAddressInformationCollection GatewayAddresses { get; }
+ public abstract bool IsDnsEnabled { get; }
+ public abstract bool IsDynamicDnsEnabled { get; }
+ public abstract MulticastIPAddressInformationCollection MulticastAddresses { get; }
+ public abstract UnicastIPAddressInformationCollection UnicastAddresses { get; }
+ public abstract IPAddressCollection WinsServersAddresses { get; }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.IPv4InterfaceProperties
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+namespace System.Net.NetworkInformation {
+ public abstract class IPv4InterfaceProperties {
+ protected IPv4InterfaceProperties ()
+ {
+ }
+
+ public abstract int Index { get; }
+ public abstract bool IsAutomaticPrivateAddressingActive { get; }
+ public abstract bool IsAutomaticPrivateAddressingEnabled { get; }
+ public abstract bool IsDhcpEnabled { get; }
+ public abstract bool IsForwardingEnabled { get; }
+ public abstract int Mtu { get; }
+ public abstract bool UsesWins { get; }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.IPv4InterfaceStatistics
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+namespace System.Net.NetworkInformation {
+ public abstract class IPv4InterfaceStatistics {
+ protected IPv4InterfaceStatistics ()
+ {
+ }
+
+ public abstract long BytesReceived { get; }
+ public abstract long BytesSent { get; }
+ public abstract long IncomingPacketsDiscarded { get; }
+ public abstract long IncomingPacketsWithErrors { get; }
+ public abstract long IncomingUnknownProtocolPackets { get; }
+ public abstract long NonUnicastPacketsReceived { get; }
+ public abstract long NonUnicastPacketsSent { get; }
+ public abstract long OutgoingPacketsDiscarded { get; }
+ public abstract long OutgoingPacketsWithErrors { get; }
+ public abstract long OutputQueueLength { get; }
+ public abstract long UnicastPacketsReceived { get; }
+ public abstract long UnicastPacketsSent { get; }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.IPv6InterfaceProperties
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+namespace System.Net.NetworkInformation {
+ public abstract class IPv6InterfaceProperties {
+ protected IPv6InterfaceProperties ()
+ {
+ }
+
+ public abstract int Index { get; }
+ public abstract int Mtu { get; }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.IcmpV4Statistics
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+namespace System.Net.NetworkInformation {
+ public abstract class IcmpV4Statistics {
+ protected IcmpV4Statistics ()
+ {
+ }
+
+ public abstract long AddressMaskRepliesReceived { get; }
+ public abstract long AddressMaskRepliesSent { get; }
+ public abstract long AddressMaskRequestsReceived { get; }
+ public abstract long AddressMaskRequestsSent { get; }
+ public abstract long DestinationUnreachableMessagesReceived { get; }
+ public abstract long DestinationUnreachableMessagesSent { get; }
+ public abstract long EchoRepliesReceived { get; }
+ public abstract long EchoRepliesSent { get; }
+ public abstract long EchoRequestsReceived { get; }
+ public abstract long EchoRequestsSent { get; }
+ public abstract long ErrorsReceived { get; }
+ public abstract long ErrorsSent { get; }
+ public abstract long MessagesReceived { get; }
+ public abstract long MessagesSent { get; }
+ public abstract long ParameterProblemsReceived { get; }
+ public abstract long ParameterProblemsSent { get; }
+ public abstract long RedirectsReceived { get; }
+ public abstract long RedirectsSent { get; }
+ public abstract long SourceQuenchesReceived { get; }
+ public abstract long SourceQuenchesSent { get; }
+ public abstract long TimeExceededMessagesReceived { get; }
+ public abstract long TimeExceededMessagesSent { get; }
+ public abstract long TimestampRepliesReceived { get; }
+ public abstract long TimestampRepliesSent { get; }
+ public abstract long TimestampRequestsReceived { get; }
+ public abstract long TimestampRequestsSent { get; }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.IcmpV6Statistics
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+namespace System.Net.NetworkInformation {
+ public abstract class IcmpV6Statistics {
+ protected IcmpV6Statistics ()
+ {
+ }
+
+ public abstract long DestinationUnreachableMessagesReceived { get; }
+ public abstract long DestinationUnreachableMessagesSent { get; }
+ public abstract long EchoRepliesReceived { get; }
+ public abstract long EchoRepliesSent { get; }
+ public abstract long EchoRequestsReceived { get; }
+ public abstract long EchoRequestsSent { get; }
+ public abstract long ErrorsReceived { get; }
+ public abstract long ErrorsSent { get; }
+ public abstract long MembershipQueriesReceived { get; }
+ public abstract long MembershipQueriesSent { get; }
+ public abstract long MembershipReductionsReceived { get; }
+ public abstract long MembershipReductionsSent { get; }
+ public abstract long MembershipReportsReceived { get; }
+ public abstract long MembershipReportsSent { get; }
+ public abstract long MessagesReceived { get; }
+ public abstract long MessagesSent { get; }
+ public abstract long NeighborAdvertisementsReceived { get; }
+ public abstract long NeighborAdvertisementsSent { get; }
+ public abstract long NeighborSolicitsReceived { get; }
+ public abstract long NeighborSolicitsSent { get; }
+ public abstract long PacketTooBigMessagesReceived { get; }
+ public abstract long PacketTooBigMessagesSent { get; }
+ public abstract long ParameterProblemsReceived { get; }
+ public abstract long ParameterProblemsSent { get; }
+ public abstract long RedirectsReceived { get; }
+ public abstract long RedirectsSent { get; }
+ public abstract long RouterAdvertisementsReceived { get; }
+ public abstract long RouterAdvertisementsSent { get; }
+ public abstract long RouterSolicitsReceived { get; }
+ public abstract long RouterSolicitsSent { get; }
+ public abstract long TimeExceededMessagesReceived { get; }
+ public abstract long TimeExceededMessagesSent { get; }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.MulticastIPAddressInformation
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+namespace System.Net.NetworkInformation {
+ public abstract class MulticastIPAddressInformation : IPAddressInformation {
+ protected MulticastIPAddressInformation ()
+ {
+ }
+
+ public abstract long AddressPreferredLifetime { get; }
+ public abstract long AddressValidLifetime { get; }
+ public abstract long DhcpLeaseLifetime { get; }
+ public abstract DuplicateAddressDetectionState DuplicateAddressDetectionState { get; }
+ public abstract PrefixOrigin PrefixOrigin { get; }
+ public abstract SuffixOrigin SuffixOrigin { get; }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.MulticastIPAddressInformationCollection
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+using System.Collections;
+using System.Collections.Generic;
+
+namespace System.Net.NetworkInformation {
+ public class MulticastIPAddressInformationCollection : ICollection<MulticastIPAddressInformation>, IEnumerable<MulticastIPAddressInformation>, IEnumerable {
+ List<MulticastIPAddressInformation> list; // We want an internal ctor that fills this list up.
+
+ protected internal MulticastIPAddressInformationCollection ()
+ {
+ }
+
+ public virtual void Add (MulticastIPAddressInformation address)
+ {
+ throw new NotSupportedException ("The collection is read-only.");
+ }
+
+ public virtual void Clear ()
+ {
+ throw new NotSupportedException ("The collection is read-only.");
+ }
+
+ public virtual bool Contains (MulticastIPAddressInformation address)
+ {
+ return list.Contains (address);
+ }
+
+ public virtual void CopyTo (MulticastIPAddressInformation [] array, int offset)
+ {
+ list.CopyTo (array, offset);
+ }
+
+ public virtual IEnumerator<MulticastIPAddressInformation> GetEnumerator ()
+ {
+ return ((IEnumerable<MulticastIPAddressInformation>)list).GetEnumerator ();
+ }
+
+ public virtual bool Remove (MulticastIPAddressInformation address)
+ {
+ throw new NotSupportedException ("The collection is read-only.");
+ }
+
+ IEnumerator IEnumerable.GetEnumerator ()
+ {
+ return list.GetEnumerator ();
+ }
+
+ public virtual int Count {
+ get { return list.Count; }
+ }
+
+ public virtual bool IsReadOnly {
+ get { return true; }
+ }
+
+ public virtual MulticastIPAddressInformation this [int index] {
+ get { return list [index]; }
+ }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.NetworkChange
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+namespace System.Net.NetworkInformation {
+ public sealed class NetworkChange {
+ private NetworkChange ()
+ {
+ }
+
+ public static event NetworkAddressChangedEventHandler NetworkAddressChanged;
+ public static event NetworkAvailabilityChangedEventHandler NetworkAvailabilityChanged;
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.NetworkInformationException
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+using System.ComponentModel;
+using System.Runtime.Serialization;
+
+namespace System.Net.NetworkInformation {
+ [Serializable]
+ public class NetworkInformationException : Win32Exception {
+ int error_code;
+
+ public NetworkInformationException ()
+ {
+ }
+
+ public NetworkInformationException (int errorCode) : base (errorCode)
+ {
+ }
+
+ protected NetworkInformationException (SerializationInfo info, StreamingContext context)
+ : base (info, context)
+ {
+ error_code = info.GetInt32 ("ErrorCode");
+ }
+
+ public override int ErrorCode {
+ get { return NativeErrorCode; }
+ }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.NetworkInformationPermission
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+using System;
+using System.Security;
+using System.Security.Permissions;
+
+namespace System.Net.NetworkInformation {
+ [Serializable]
+ public sealed class NetworkInformationPermission : CodeAccessPermission, IUnrestrictedPermission {
+ [MonoTODO]
+ public NetworkInformationPermission (PermissionState state)
+ {
+ }
+
+ [MonoTODO]
+ public NetworkInformationPermission (NetworkInformationAccess access)
+ {
+ }
+
+ [MonoTODO]
+ public void AddPermission (NetworkInformationAccess access)
+ {
+ }
+
+ [MonoTODO]
+ public override IPermission Copy ()
+ {
+ return null;
+ }
+
+ [MonoTODO]
+ public override void FromXml (SecurityElement securityElement)
+ {
+ }
+
+ [MonoTODO]
+ public override IPermission Intersect (System.Security.IPermission target)
+ {
+ return null;
+ }
+
+ [MonoTODO]
+ public override bool IsSubsetOf (IPermission target)
+ {
+ return false;
+ }
+
+ [MonoTODO]
+ public bool IsUnrestricted ()
+ {
+ return false;
+ }
+
+ [MonoTODO]
+ public override SecurityElement ToXml ()
+ {
+ return null;
+ }
+
+ [MonoTODO]
+ public override IPermission Union (IPermission target)
+ {
+ return null;
+ }
+
+ [MonoTODO]
+ public NetworkInformationAccess Access {
+ get { return 0; }
+ }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.NetworkInformationPermissionAttribute
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+using System;
+using System.Security;
+using System.Security.Permissions;
+
+namespace System.Net.NetworkInformation {
+ [Serializable]
+ [AttributeUsage (AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Struct | AttributeTargets.Constructor | AttributeTargets.Method, AllowMultiple = true, Inherited = false)]
+ public sealed class NetworkInformationPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute {
+ string access;
+
+ public NetworkInformationPermissionAttribute (SecurityAction action)
+ : base (action)
+ {
+ }
+
+ [MonoTODO]
+ public override IPermission CreatePermission ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ public string Access {
+ get { return access; }
+ set { access = value; }
+ }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.NetworkInterface
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+using System;
+using System.Net;
+
+namespace System.Net.NetworkInformation {
+ public abstract class NetworkInterface {
+ protected NetworkInterface ()
+ {
+ }
+
+ [MonoTODO]
+ public static NetworkInterface [] GetAllNetworkInterfaces ()
+ {
+ return new NetworkInterface [0];
+ }
+
+ [MonoTODO]
+ public static bool GetIsNetworkAvailable ()
+ {
+ return true;
+ }
+
+ [MonoTODO]
+ public static int LoopbackInterfaceIndex {
+ get { return 0; }
+ }
+
+ public abstract IPInterfaceProperties GetIPProperties ();
+ public abstract IPv4InterfaceStatistics GetIPv4Statistics ();
+ public abstract PhysicalAddress GetPhysicalAddress ();
+ public abstract bool Supports (NetworkInterfaceComponent networkInterfaceComponent);
+
+ public abstract string Description { get; }
+ public abstract string Id { get; }
+ public abstract bool IsReceiveOnly { get; }
+ public abstract string Name { get; }
+ public abstract NetworkInterfaceType NetworkInterfaceType { get; }
+ public abstract OperationalStatus OperationalStatus { get; }
+ public abstract long Speed { get; }
+ public abstract bool SupportsMulticast { get; }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.PhysicalAddress
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+using System;
+using System.Text;
+
+namespace System.Net.NetworkInformation {
+ public class PhysicalAddress {
+ public static readonly PhysicalAddress None = new PhysicalAddress (new byte [0]);
+ byte [] bytes;
+
+ public PhysicalAddress (byte [] address)
+ {
+ this.bytes = address;
+ }
+
+ public static PhysicalAddress Parse (string address)
+ {
+ if (address == null)
+ return None;
+
+ if (address == "")
+ throw new FormatException ("Invalid physical address.");
+
+ // MS fails with IndexOutOfRange for something like: "00-0"
+ int ndashes = 0;
+ foreach (char c in address) {
+ if (c == '-')
+ ndashes++;
+ }
+
+ int len = address.Length;
+ if (((len - 2) / 3) != ndashes)
+ throw new FormatException ("Invalid physical address.");
+
+ byte [] data = new byte [ndashes + 1];
+ int idx = 0;
+ for (int i = 0; i < len; i++) {
+ byte b = (byte) (GetValue (address [i++]) << 8);
+ b += GetValue (address [i++]);
+ if (address [i] != '-')
+ throw new FormatException ("Invalid physical address.");
+ data [idx++] = b;
+ }
+
+ return new PhysicalAddress (data);
+ }
+
+ static byte GetValue (char c)
+ {
+ if (c >= 0 && c <= 9)
+ return (byte) (c - '0');
+
+ if (c >= 'a' && c <= 'f')
+ return (byte) (c - 'a' + 10);
+
+ if (c >= 'A' && c <= 'F')
+ return (byte) (c - 'A' + 10);
+
+ throw new FormatException ("Invalid physical address.");
+ }
+
+ public override bool Equals (object comparand)
+ {
+ PhysicalAddress other = comparand as PhysicalAddress;
+ if (other == null)
+ return false;
+
+ // new byte [0] != new byte [0]
+ return (bytes == other.bytes);
+ }
+
+ public override int GetHashCode ()
+ {
+ if (bytes == null)
+ return 0;
+
+ int a = 5;
+ foreach (byte b in bytes)
+ a = (a << 3) + b;
+
+ return a;
+ }
+
+ public byte [] GetAddressBytes ()
+ {
+ return bytes;
+ }
+
+ public override string ToString ()
+ {
+ if (bytes == null)
+ return "";
+
+ StringBuilder sb = new StringBuilder ();
+ foreach (byte b in bytes)
+ sb.AppendFormat ("{0:2X}", (uint) b);
+ return sb.ToString ();
+ }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.Ping
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+using System;
+using System.ComponentModel;
+
+namespace System.Net.NetworkInformation {
+ public class Ping : Component, IDisposable {
+
+ public event PingCompletedEventHandler PingCompleted;
+
+ public Ping ()
+ {
+ }
+
+ protected void OnPingCompleted (PingCompletedEventArgs e)
+ {
+ if (PingCompleted != null)
+ PingCompleted (this, e);
+ }
+
+ [MonoTODO]
+ public PingReply Send (IPAddress address)
+ {
+ return null;
+ }
+
+ [MonoTODO]
+ public PingReply Send (IPAddress address, int timeout)
+ {
+ return null;
+ }
+
+ [MonoTODO]
+ public PingReply Send (IPAddress address, int timeout, byte [] buffer)
+ {
+ return null;
+ }
+
+ [MonoTODO]
+ public PingReply Send (IPAddress address, int timeout, byte [] buffer, PingOptions options)
+ {
+ return null;
+ }
+
+ [MonoTODO]
+ public PingReply Send (string hostNameOrAddress)
+ {
+ return null;
+ }
+
+ [MonoTODO]
+ public PingReply Send (string hostNameOrAddress, int timeout)
+ {
+ return null;
+ }
+
+ [MonoTODO]
+ public PingReply Send (string hostNameOrAddress, int timeout, byte [] buffer)
+ {
+ return null;
+ }
+
+ [MonoTODO]
+ public PingReply Send (string hostNameOrAddress, int timeout, byte [] buffer, PingOptions options)
+ {
+ return null;
+ }
+
+ [MonoTODO]
+ public void SendAsync (IPAddress address, int timeout, byte [] buffer, object userToken)
+ {
+ }
+
+ [MonoTODO]
+ public void SendAsync (IPAddress address, int timeout, byte [] buffer, PingOptions options, object userToken)
+ {
+ }
+
+ [MonoTODO]
+ public void SendAsync (IPAddress address, int timeout, object userToken)
+ {
+ }
+
+ [MonoTODO]
+ public void SendAsync (IPAddress address, object userToken)
+ {
+ }
+
+ [MonoTODO]
+ public void SendAsync (string hostNameOrAddress, int timeout, byte [] buffer, object userToken)
+ {
+ }
+
+ [MonoTODO]
+ public void SendAsync (string hostNameOrAddress, int timeout, byte [] buffer, PingOptions options, object userToken)
+ {
+ }
+
+ [MonoTODO]
+ public void SendAsync (string hostNameOrAddress, int timeout, object userToken)
+ {
+ }
+
+ [MonoTODO]
+ public void SendAsync (string hostNameOrAddress, object userToken)
+ {
+ }
+
+ [MonoTODO]
+ public void SendAsyncCancel ()
+ {
+ }
+
+ void IDisposable.Dispose ()
+ {
+ }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.PingException
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+using System;
+using System.Collections;
+using System.Runtime.Serialization;
+
+namespace System.Net.NetworkInformation {
+ [Serializable]
+ public class PingException : InvalidOperationException {
+ public PingException (string message)
+ : base (message)
+ {
+ }
+
+ public PingException (string message, Exception innerException)
+ : base (message, innerException)
+ {
+ }
+
+ protected PingException (SerializationInfo serializationInfo, StreamingContext streamingContext)
+ : base (serializationInfo, streamingContext)
+ {
+ }
+
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.TcpConnectionInformation
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+using System.Net;
+
+namespace System.Net.NetworkInformation {
+ public abstract class TcpConnectionInformation {
+ protected TcpConnectionInformation ()
+ {
+ }
+
+ public abstract IPEndPoint LocalEndPoint { get; }
+ public abstract IPEndPoint RemoteEndPoint { get; }
+ public abstract TcpState State { get; }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.TcpStatistics
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+namespace System.Net.NetworkInformation {
+ public abstract class TcpStatistics {
+ protected TcpStatistics ()
+ {
+ }
+
+ public abstract long ConnectionsAccepted { get; }
+ public abstract long ConnectionsInitiated { get; }
+ public abstract long CumulativeConnections { get; }
+ public abstract long CurrentConnections { get; }
+ public abstract long ErrorsReceived { get; }
+ public abstract long FailedConnectionAttempts { get; }
+ public abstract long MaximumConnections { get; }
+ public abstract long MaximumTransmissionTimeout { get; }
+ public abstract long MinimumTransmissionTimeout { get; }
+ public abstract long ResetConnections { get; }
+ public abstract long ResetsSent { get; }
+ public abstract long SegmentsReceived { get; }
+ public abstract long SegmentsResent { get; }
+ public abstract long SegmentsSent { get; }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.UdpStatistics
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+namespace System.Net.NetworkInformation {
+ public abstract class UdpStatistics {
+ protected UdpStatistics ()
+ {
+ }
+
+ public abstract long DatagramsReceived { get; }
+ public abstract long DatagramsSent { get; }
+ public abstract long IncomingDatagramsDiscarded { get; }
+ public abstract long IncomingDatagramsWithErrors { get; }
+ public abstract int UdpListeners { get; }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.UnicastIPAddressInformation
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+using System;
+
+namespace System.Net.NetworkInformation {
+ public abstract class UnicastIPAddressInformation : IPAddressInformation {
+ protected UnicastIPAddressInformation ()
+ {
+ }
+
+ public abstract long AddressPreferredLifetime { get; }
+ public abstract long AddressValidLifetime { get; }
+ public abstract long DhcpLeaseLifetime { get; }
+ public abstract DuplicateAddressDetectionState DuplicateAddressDetectionState { get; }
+ public abstract IPAddress IPv4Mask { get; }
+ public abstract PrefixOrigin PrefixOrigin { get; }
+ public abstract SuffixOrigin SuffixOrigin { get; }
+ }
+}
+#endif
+
--- /dev/null
+//
+// System.Net.NetworkInformation.UnicastIPAddressInformationCollection
+//
+// Author:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2006 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+using System;
+using System.Collections;
+using System.Collections.Generic;
+
+namespace System.Net.NetworkInformation {
+ public class UnicastIPAddressInformationCollection : ICollection<UnicastIPAddressInformation>,
+ IEnumerable<UnicastIPAddressInformation> {
+
+ List<UnicastIPAddressInformation> list;
+
+ protected internal UnicastIPAddressInformationCollection ()
+ {
+ }
+
+ public virtual void Add (UnicastIPAddressInformation address)
+ {
+ throw new NotSupportedException ("The collection is read-only.");
+ }
+
+ public virtual void Clear ()
+ {
+ throw new NotSupportedException ("The collection is read-only.");
+ }
+
+ public virtual bool Contains (UnicastIPAddressInformation address)
+ {
+ return list.Contains (address);
+ }
+
+ public virtual void CopyTo (UnicastIPAddressInformation [] array, int offset)
+ {
+ list.CopyTo (array, offset);
+ }
+
+ public virtual IEnumerator<UnicastIPAddressInformation> GetEnumerator ()
+ {
+ return ((IEnumerable<UnicastIPAddressInformation>)list).GetEnumerator ();
+ }
+
+ public virtual bool Remove (UnicastIPAddressInformation address)
+ {
+ throw new NotSupportedException ("The collection is read-only.");
+ }
+
+ IEnumerator IEnumerable.GetEnumerator ()
+ {
+ return list.GetEnumerator ();
+ }
+
+ public virtual int Count {
+ get { return list.Count; }
+ }
+
+ public virtual bool IsReadOnly {
+ get { return true; }
+ }
+
+ public virtual UnicastIPAddressInformation this [int index] {
+ get { return list [index]; }
+ }
+ }
+}
+#endif
+
System.Net/NetworkAccess.cs
System.Net/NetworkCredential.cs
System.Net.NetworkInformation/DuplicateAddressDetectionState.cs
+System.Net.NetworkInformation/GatewayIPAddressInformationCollection.cs
+System.Net.NetworkInformation/GatewayIPAddressInformation.cs
+System.Net.NetworkInformation/IcmpV4Statistics.cs
+System.Net.NetworkInformation/IcmpV6Statistics.cs
+System.Net.NetworkInformation/IPAddressCollection.cs
+System.Net.NetworkInformation/IPAddressInformationCollection.cs
+System.Net.NetworkInformation/IPAddressInformation.cs
+System.Net.NetworkInformation/IPGlobalProperties.cs
+System.Net.NetworkInformation/IPGlobalStatistics.cs
+System.Net.NetworkInformation/IPInterfaceProperties.cs
System.Net.NetworkInformation/IPStatus.cs
+System.Net.NetworkInformation/IPv4InterfaceProperties.cs
+System.Net.NetworkInformation/IPv4InterfaceStatistics.cs
+System.Net.NetworkInformation/IPv6InterfaceProperties.cs
+System.Net.NetworkInformation/MulticastIPAddressInformationCollection.cs
+System.Net.NetworkInformation/MulticastIPAddressInformation.cs
System.Net.NetworkInformation/NetBiosNodeType.cs
-System.Net.NetworkInformation/NetworkAvailabilityEventArgs.cs
-System.Net.NetworkInformation/NetworkAvailabilityChangedEventHandler.cs
System.Net.NetworkInformation/NetworkAddressChangedEventHandler.cs
+System.Net.NetworkInformation/NetworkAvailabilityChangedEventHandler.cs
+System.Net.NetworkInformation/NetworkAvailabilityEventArgs.cs
+System.Net.NetworkInformation/NetworkChange.cs
System.Net.NetworkInformation/NetworkInformationAccess.cs
+System.Net.NetworkInformation/NetworkInformationException.cs
+System.Net.NetworkInformation/NetworkInformationPermissionAttribute.cs
+System.Net.NetworkInformation/NetworkInformationPermission.cs
System.Net.NetworkInformation/NetworkInterfaceComponent.cs
+System.Net.NetworkInformation/NetworkInterface.cs
System.Net.NetworkInformation/NetworkInterfaceType.cs
System.Net.NetworkInformation/OperationalStatus.cs
+System.Net.NetworkInformation/PhysicalAddress.cs
System.Net.NetworkInformation/PingCompletedEventArgs.cs
System.Net.NetworkInformation/PingCompletedEventHandler.cs
+System.Net.NetworkInformation/Ping.cs
+System.Net.NetworkInformation/PingException.cs
System.Net.NetworkInformation/PingOptions.cs
System.Net.NetworkInformation/PingReply.cs
System.Net.NetworkInformation/PrefixOrigin.cs
System.Net.NetworkInformation/SuffixOrigin.cs
+System.Net.NetworkInformation/TcpConnectionInformation.cs
System.Net.NetworkInformation/TcpState.cs
+System.Net.NetworkInformation/TcpStatistics.cs
+System.Net.NetworkInformation/UdpStatistics.cs
+System.Net.NetworkInformation/UnicastIPAddressInformationCollection.cs
+System.Net.NetworkInformation/UnicastIPAddressInformation.cs
System.Net/NtlmClient.cs
System/NetPipeStyleUriParser.cs
System.Net/ProtocolViolationException.cs