b574e476ec
Allow getting interfaces names and assigned names. On UWP this is not supported, and the function will return one interface for each local address (with interface name the local address itself).
127 lines
4.7 KiB
XML
127 lines
4.7 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="IP" inherits="Object" category="Core" version="3.2">
|
|
<brief_description>
|
|
Internet protocol (IP) support functions like DNS resolution.
|
|
</brief_description>
|
|
<description>
|
|
IP contains support functions for the Internet Protocol (IP). TCP/IP support is in different classes (see [StreamPeerTCP] and [TCP_Server]). IP provides DNS hostname resolution support, both blocking and threaded.
|
|
</description>
|
|
<tutorials>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="clear_cache">
|
|
<return type="void">
|
|
</return>
|
|
<argument index="0" name="hostname" type="String" default="""">
|
|
</argument>
|
|
<description>
|
|
Removes all of a "hostname"'s cached references. If no "hostname" is given then all cached IP addresses are removed.
|
|
</description>
|
|
</method>
|
|
<method name="erase_resolve_item">
|
|
<return type="void">
|
|
</return>
|
|
<argument index="0" name="id" type="int">
|
|
</argument>
|
|
<description>
|
|
Removes a given item "id" from the queue. This should be used to free a queue after it has completed to enable more queries to happen.
|
|
</description>
|
|
</method>
|
|
<method name="get_local_addresses" qualifiers="const">
|
|
<return type="Array">
|
|
</return>
|
|
<description>
|
|
Returns all of the user's current IPv4 and IPv6 addresses as an array.
|
|
</description>
|
|
</method>
|
|
<method name="get_local_interfaces" qualifiers="const">
|
|
<return type="Array">
|
|
</return>
|
|
<description>
|
|
Returns all network adapters as an array.
|
|
Each adapter is a dictionary of the form:
|
|
[codeblock]
|
|
{
|
|
"index": "1", # Interface index.
|
|
"name": "eth0", # Interface name.
|
|
"friendly": "Ethernet One", # A friendly name (might be empty).
|
|
"addresses": ["192.168.1.101"], # An array of IP addresses associated to this interface.
|
|
}
|
|
[/codeblock]
|
|
</description>
|
|
</method>
|
|
<method name="get_resolve_item_address" qualifiers="const">
|
|
<return type="String">
|
|
</return>
|
|
<argument index="0" name="id" type="int">
|
|
</argument>
|
|
<description>
|
|
Returns a queued hostname's IP address, given its queue "id". Returns an empty string on error or if resolution hasn't happened yet (see [method get_resolve_item_status]).
|
|
</description>
|
|
</method>
|
|
<method name="get_resolve_item_status" qualifiers="const">
|
|
<return type="int" enum="IP.ResolverStatus">
|
|
</return>
|
|
<argument index="0" name="id" type="int">
|
|
</argument>
|
|
<description>
|
|
Returns a queued hostname's status as a RESOLVER_STATUS_* constant, given its queue "id".
|
|
</description>
|
|
</method>
|
|
<method name="resolve_hostname">
|
|
<return type="String">
|
|
</return>
|
|
<argument index="0" name="host" type="String">
|
|
</argument>
|
|
<argument index="1" name="ip_type" type="int" enum="IP.Type" default="3">
|
|
</argument>
|
|
<description>
|
|
Returns a given hostname's IPv4 or IPv6 address when resolved (blocking-type method). The address type returned depends on the TYPE_* constant given as "ip_type".
|
|
</description>
|
|
</method>
|
|
<method name="resolve_hostname_queue_item">
|
|
<return type="int">
|
|
</return>
|
|
<argument index="0" name="host" type="String">
|
|
</argument>
|
|
<argument index="1" name="ip_type" type="int" enum="IP.Type" default="3">
|
|
</argument>
|
|
<description>
|
|
Creates a queue item to resolve a hostname to an IPv4 or IPv6 address depending on the TYPE_* constant given as "ip_type". Returns the queue ID if successful, or RESOLVER_INVALID_ID on error.
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
<constants>
|
|
<constant name="RESOLVER_STATUS_NONE" value="0" enum="ResolverStatus">
|
|
DNS hostname resolver status: No status.
|
|
</constant>
|
|
<constant name="RESOLVER_STATUS_WAITING" value="1" enum="ResolverStatus">
|
|
DNS hostname resolver status: Waiting.
|
|
</constant>
|
|
<constant name="RESOLVER_STATUS_DONE" value="2" enum="ResolverStatus">
|
|
DNS hostname resolver status: Done.
|
|
</constant>
|
|
<constant name="RESOLVER_STATUS_ERROR" value="3" enum="ResolverStatus">
|
|
DNS hostname resolver status: Error.
|
|
</constant>
|
|
<constant name="RESOLVER_MAX_QUERIES" value="32">
|
|
Maximum number of concurrent DNS resolver queries allowed, [code]RESOLVER_INVALID_ID[/code] is returned if exceeded.
|
|
</constant>
|
|
<constant name="RESOLVER_INVALID_ID" value="-1">
|
|
Invalid ID constant. Returned if [code]RESOLVER_MAX_QUERIES[/code] is exceeded.
|
|
</constant>
|
|
<constant name="TYPE_NONE" value="0" enum="Type">
|
|
Address type: None.
|
|
</constant>
|
|
<constant name="TYPE_IPV4" value="1" enum="Type">
|
|
Address type: Internet protocol version 4 (IPv4).
|
|
</constant>
|
|
<constant name="TYPE_IPV6" value="2" enum="Type">
|
|
Address type: Internet protocol version 6 (IPv6).
|
|
</constant>
|
|
<constant name="TYPE_ANY" value="3" enum="Type">
|
|
Address type: Any.
|
|
</constant>
|
|
</constants>
|
|
</class>
|