void ni_addrconf_lease_destroy(ni_addrconf_lease_t *lease) { ni_addrconf_updater_free(&lease->updater); if (lease->old) { ni_addrconf_lease_free(lease->old); lease->old = NULL; } ni_string_free(&lease->owner); ni_string_free(&lease->hostname); ni_address_list_destroy(&lease->addrs); ni_route_tables_destroy(&lease->routes); if (lease->nis) { ni_nis_info_free(lease->nis); lease->nis = NULL; } if (lease->resolver) { ni_resolver_info_free(lease->resolver); lease->resolver = NULL; } ni_string_array_destroy(&lease->ntp_servers); ni_string_array_destroy(&lease->nds_servers); ni_string_array_destroy(&lease->nds_context); ni_string_free(&lease->nds_tree); ni_string_array_destroy(&lease->netbios_name_servers); ni_string_array_destroy(&lease->netbios_dd_servers); ni_string_free(&lease->netbios_scope); ni_string_array_destroy(&lease->slp_servers); ni_string_array_destroy(&lease->slp_scopes); ni_string_array_destroy(&lease->sip_servers); ni_string_array_destroy(&lease->lpr_servers); ni_string_array_destroy(&lease->log_servers); ni_string_free(&lease->posix_tz_string); ni_string_free(&lease->posix_tz_dbname); switch (lease->type) { case NI_ADDRCONF_DHCP: switch (lease->family) { case AF_INET: ni_addrconf_lease_dhcp4_destroy(&lease->dhcp4); break; case AF_INET6: ni_addrconf_lease_dhcp6_destroy(&lease->dhcp6); break; default: ; } break; default: ; } }
void ni_netdev_clear_routes(ni_netdev_t *dev) { ni_route_tables_destroy(&dev->routes); }