Made IP address enumeration more flexible

Also added an option to enumerate addresses on ignored interfaces.
This commit is contained in:
Tobias Brunner
2012-09-21 18:16:26 +02:00
parent 308ec0b7df
commit 4106aea8e4
10 changed files with 50 additions and 53 deletions
+3 -5
View File
@@ -302,15 +302,13 @@ METHOD(kernel_interface_t, get_interface, bool,
}
METHOD(kernel_interface_t, create_address_enumerator, enumerator_t*,
private_kernel_interface_t *this, bool include_down_ifaces,
bool include_virtual_ips, bool include_loopback)
private_kernel_interface_t *this, kernel_address_type_t which)
{
if (!this->net)
{
return enumerator_create_empty();
}
return this->net->create_address_enumerator(this->net, include_down_ifaces,
include_virtual_ips, include_loopback);
return this->net->create_address_enumerator(this->net, which);
}
METHOD(kernel_interface_t, add_ip, status_t,
@@ -423,7 +421,7 @@ METHOD(kernel_interface_t, get_address_by_ts, status_t,
}
host->destroy(host);
addrs = create_address_enumerator(this, TRUE, TRUE, TRUE);
addrs = create_address_enumerator(this, ADDR_TYPE_ALL);
while (addrs->enumerate(addrs, (void**)&host))
{
if (ts->includes(ts, host))