/**@class android.net.LinkProperties implements android.os.Parcelable @extends java.lang.Object Describes the properties of a network link. A link represents a connection to a network. It may have multiple addresses and multiple gateways, multiple dns servers but only one http proxy and one network interface. Note that this is just a holder of data. Modifying it does not affect live networks. */ var LinkProperties = { /** Implement the Parcelable interface. */ CREATOR : "null", /**Compare the provisioning states of two LinkProperties instances. @hide */ compareProvisioning : function( ) {}, /**Sets the interface name for this link. All {@link android.net.RouteInfo} already set for this will have their interface changed to match this new value. @param {String} iface The name of the network interface used for this link. @hide */ setInterfaceName : function( ) {}, /**Gets the interface name for this link. May be {@code null} if not set. @return {String} The interface name set for this link or {@code null}. */ getInterfaceName : function( ) {}, /** @hide */ getAllInterfaceNames : function( ) {}, /**Returns all the addresses on this link. We often think of a link having a single address, however, particularly with Ipv6 several addresses are typical. Note that the {@code LinkProperties} actually contains {@link android.net.LinkAddress} objects which also include prefix lengths for each address. This is a simplified utility alternative to {@link android.net.LinkProperties#getLinkAddresses}. @return {Object {java.util.List}} An umodifiable {@link List} of {@link InetAddress} for this link. @hide */ getAddresses : function( ) {}, /**Returns all the addresses on this link and all the links stacked above it. @hide */ getAllAddresses : function( ) {}, /**Adds a {@link android.net.LinkAddress} to this {@code LinkProperties} if a {@link android.net.LinkAddress} of the same address/prefix does not already exist. If it does exist it is replaced. @param {Object {LinkAddress}} address The {@code LinkAddress} to add. @return {Boolean} true if {@code address} was added or updated, false otherwise. @hide */ addLinkAddress : function( ) {}, /**Removes a {@link android.net.LinkAddress} from this {@code LinkProperties}. Specifically, matches and {@link android.net.LinkAddress} with the same address and prefix. @param {Object {LinkAddress}} toRemove A {@link LinkAddress} specifying the address to remove. @return {Boolean} true if the address was removed, false if it did not exist. @hide */ removeLinkAddress : function( ) {}, /**Returns all the {@link android.net.LinkAddress} on this link. Typically a link will have one IPv4 address and one or more IPv6 addresses. @return {Object {java.util.List}} An unmodifiable {@link List} of {@link LinkAddress} for this link. */ getLinkAddresses : function( ) {}, /**Returns all the addresses on this link and all the links stacked above it. @hide */ getAllLinkAddresses : function( ) {}, /**Replaces the {@link android.net.LinkAddress} in this {@code LinkProperties} with the given {@link Collection} of {@link android.net.LinkAddress}. @param {Object {java.util.Collection}} addresses The {@link Collection} of {@link LinkAddress} to set in this object. @hide */ setLinkAddresses : function( ) {}, /**Adds the given {@link InetAddress} to the list of DNS servers, if not present. @param {Object {InetAddress}} dnsServer The {@link InetAddress} to add to the list of DNS servers. @return {Boolean} true if the DNS server was added, false if it was already present. @hide */ addDnsServer : function( ) {}, /**Removes the given {@link InetAddress} from the list of DNS servers. @param {Object {InetAddress}} dnsServer The {@link InetAddress} to remove from the list of DNS servers. @return {Boolean} true if the DNS server was removed, false if it did not exist. @hide */ removeDnsServer : function( ) {}, /**Replaces the DNS servers in this {@code LinkProperties} with the given {@link Collection} of {@link InetAddress} objects. @param {Object {java.util.Collection}} addresses The {@link Collection} of DNS servers to set in this object. @hide */ setDnsServers : function( ) {}, /**Returns all the {@link InetAddress} for DNS servers on this link. @return {Object {java.util.List}} An umodifiable {@link List} of {@link InetAddress} for DNS servers on this link. */ getDnsServers : function( ) {}, /**Sets the DNS domain search path used on this link. @param {String} domains A {@link String} listing in priority order the comma separated domains to search when resolving host names on this link. @hide */ setDomains : function( ) {}, /**Get the DNS domains search path set for this link. @return {String} A {@link String} containing the comma separated domains to search when resolving host names on this link. */ getDomains : function( ) {}, /**Sets the Maximum Transmission Unit size to use on this link. This should not be used unless the system default (1500) is incorrect. Values less than 68 or greater than 10000 will be ignored. @param {Number} mtu The MTU to use for this link. @hide */ setMtu : function( ) {}, /**Gets any non-default MTU size set for this link. Note that if the default is being used this will return 0. @return {Number} The mtu value set for this link. @hide */ getMtu : function( ) {}, /**Sets the tcp buffers sizes to be used when this link is the system default. Should be of the form "rmem_min,rmem_def,rmem_max,wmem_min,wmem_def,wmem_max". @param {String} tcpBufferSizes The tcp buffers sizes to use. @hide */ setTcpBufferSizes : function( ) {}, /**Gets the tcp buffer sizes. @return {String} the tcp buffer sizes to use when this link is the system default. @hide */ getTcpBufferSizes : function( ) {}, /**Adds a {@link android.net.RouteInfo} to this {@code LinkProperties}, if not present. If the {@link android.net.RouteInfo} had an interface name set and that differs from the interface set for this {@code LinkProperties} an {@link IllegalArgumentException} will be thrown. The proper course is to add either un-named or properly named {@link android.net.RouteInfo}. @param {Object {RouteInfo}} route A {@link RouteInfo} to add to this object. @return {Boolean} {@code false} if the route was already present, {@code true} if it was added. @hide */ addRoute : function( ) {}, /**Removes a {@link android.net.RouteInfo} from this {@code LinkProperties}, if present. The route must specify an interface and the interface must match the interface of this {@code LinkProperties}, or it will not be removed. @return {Boolean} {@code true} if the route was removed, {@code false} if it was not present. @hide */ removeRoute : function( ) {}, /**Returns all the {@link android.net.RouteInfo} set on this link. @return {Object {java.util.List}} An unmodifiable {@link List} of {@link RouteInfo} for this link. */ getRoutes : function( ) {}, /**Returns all the routes on this link and all the links stacked above it. @hide */ getAllRoutes : function( ) {}, /**Sets the recommended {@link android.net.ProxyInfo} to use on this link, or {@code null} for none. Note that Http Proxies are only a hint - the system recommends their use, but it does not enforce it and applications may ignore them. @param {Object {ProxyInfo}} proxy A {@link ProxyInfo} defining the HTTP Proxy to use on this link. @hide */ setHttpProxy : function( ) {}, /**Gets the recommended {@link android.net.ProxyInfo} (or {@code null}) set on this link. @return {Object {android.net.ProxyInfo}} The {@link ProxyInfo} set on this link */ getHttpProxy : function( ) {}, /**Adds a stacked link. If there is already a stacked link with the same interfacename as link, that link is replaced with link. Otherwise, link is added to the list of stacked links. If link is null, nothing changes. @param {Object {LinkProperties}} link The link to add. @return {Boolean} true if the link was stacked, false otherwise. @hide */ addStackedLink : function( ) {}, /**Removes a stacked link. If there is a stacked link with the given interface name, it is removed. Otherwise, nothing changes. @param {String} iface The interface name of the link to remove. @return {Boolean} true if the link was removed, false otherwise. @hide */ removeStackedLink : function( ) {}, /**Returns all the links stacked on top of this link. @hide */ getStackedLinks : function( ) {}, /**Clears this object to its initial state. @hide */ clear : function( ) {}, /**Implement the Parcelable interface */ describeContents : function( ) {}, /** */ toString : function( ) {}, /**Returns true if this link has an IPv4 address. @return {Boolean} {@code true} if there is an IPv4 address, {@code false} otherwise. @hide */ hasIPv4Address : function( ) {}, /**Returns true if this link has a global preferred IPv6 address. @return {Boolean} {@code true} if there is a global preferred IPv6 address, {@code false} otherwise. @hide */ hasGlobalIPv6Address : function( ) {}, /**Returns true if this link has an IPv4 default route. @return {Boolean} {@code true} if there is an IPv4 default route, {@code false} otherwise. @hide */ hasIPv4DefaultRoute : function( ) {}, /**Returns true if this link has an IPv6 default route. @return {Boolean} {@code true} if there is an IPv6 default route, {@code false} otherwise. @hide */ hasIPv6DefaultRoute : function( ) {}, /**Returns true if this link has an IPv4 DNS server. @return {Boolean} {@code true} if there is an IPv4 DNS server, {@code false} otherwise. @hide */ hasIPv4DnsServer : function( ) {}, /**Returns true if this link has an IPv6 DNS server. @return {Boolean} {@code true} if there is an IPv6 DNS server, {@code false} otherwise. @hide */ hasIPv6DnsServer : function( ) {}, /**Returns true if this link is provisioned for global IPv4 connectivity. This requires an IP address, default route, and DNS server. @return {Boolean} {@code true} if the link is provisioned, {@code false} otherwise. @hide */ isIPv4Provisioned : function( ) {}, /**Returns true if this link is provisioned for global IPv6 connectivity. This requires an IP address, default route, and DNS server. @return {Boolean} {@code true} if the link is provisioned, {@code false} otherwise. @hide */ isIPv6Provisioned : function( ) {}, /**Returns true if this link is provisioned for global connectivity, for at least one Internet Protocol family. @return {Boolean} {@code true} if the link is provisioned, {@code false} otherwise. @hide */ isProvisioned : function( ) {}, /**Evaluate whether the {@link InetAddress} is considered reachable. @return {Boolean} {@code true} if the given {@link InetAddress} is considered reachable, {@code false} otherwise. @hide */ isReachable : function( ) {}, /**Compares this {@code LinkProperties} interface name against the target @param {Object {LinkProperties}} target LinkProperties to compare. @return {Boolean} {@code true} if both are identical, {@code false} otherwise. @hide */ isIdenticalInterfaceName : function( ) {}, /**Compares this {@code LinkProperties} interface addresses against the target @param {Object {LinkProperties}} target LinkProperties to compare. @return {Boolean} {@code true} if both are identical, {@code false} otherwise. @hide */ isIdenticalAddresses : function( ) {}, /**Compares this {@code LinkProperties} DNS addresses against the target @param {Object {LinkProperties}} target LinkProperties to compare. @return {Boolean} {@code true} if both are identical, {@code false} otherwise. @hide */ isIdenticalDnses : function( ) {}, /**Compares this {@code LinkProperties} Routes against the target @param {Object {LinkProperties}} target LinkProperties to compare. @return {Boolean} {@code true} if both are identical, {@code false} otherwise. @hide */ isIdenticalRoutes : function( ) {}, /**Compares this {@code LinkProperties} HttpProxy against the target @param {Object {LinkProperties}} target LinkProperties to compare. @return {Boolean} {@code true} if both are identical, {@code false} otherwise. @hide */ isIdenticalHttpProxy : function( ) {}, /**Compares this {@code LinkProperties} stacked links against the target @param {Object {LinkProperties}} target LinkProperties to compare. @return {Boolean} {@code true} if both are identical, {@code false} otherwise. @hide */ isIdenticalStackedLinks : function( ) {}, /**Compares this {@code LinkProperties} MTU against the target @param {Object {LinkProperties}} target LinkProperties to compare. @return {Boolean} {@code true} if both are identical, {@code false} otherwise. @hide */ isIdenticalMtu : function( ) {}, /**Compares this {@code LinkProperties} Tcp buffer sizes against the target. @param {Object {LinkProperties}} target LinkProperties to compare. @return {Boolean} {@code true} if both are identical, {@code false} otherwise. @hide */ isIdenticalTcpBufferSizes : function( ) {}, /** */ equals : function( ) {}, /**Compares the addresses in this LinkProperties with another LinkProperties, examining only addresses on the base link. @param {Object {LinkProperties}} target a LinkProperties with the new list of addresses @return {Object {android.net.LinkProperties.CompareResult}} the differences between the addresses. @hide */ compareAddresses : function( ) {}, /**Compares the DNS addresses in this LinkProperties with another LinkProperties, examining only DNS addresses on the base link. @param {Object {LinkProperties}} target a LinkProperties with the new list of dns addresses @return {Object {android.net.LinkProperties.CompareResult}} the differences between the DNS addresses. @hide */ compareDnses : function( ) {}, /**Compares all routes in this LinkProperties with another LinkProperties, examining both the the base link and all stacked links. @param {Object {LinkProperties}} target a LinkProperties with the new list of routes @return {Object {android.net.LinkProperties.CompareResult}} the differences between the routes. @hide */ compareAllRoutes : function( ) {}, /**Compares all interface names in this LinkProperties with another LinkProperties, examining both the the base link and all stacked links. @param {Object {LinkProperties}} target a LinkProperties with the new list of interface names @return {Object {android.net.LinkProperties.CompareResult}} the differences between the interface names. @hide */ compareAllInterfaceNames : function( ) {}, /** */ hashCode : function( ) {}, /**Implement the Parcelable interface. */ writeToParcel : function( ) {}, /**Check the valid MTU range based on IPv4 or IPv6. @hide */ isValidMtu : function( ) {}, };