---
 src/config.c  | 31 +++++++++++++++++++++++++++++++
 src/connman.h |  1 +
 2 files changed, 32 insertions(+)

diff --git a/src/config.c b/src/config.c
index 1a05c61..606f857 100644
--- a/src/config.c
+++ b/src/config.c
@@ -1504,3 +1504,34 @@ void connman_config_free_entries(struct 
connman_config_entry **entries)
        g_free(entries);
        return;
 }
+
+bool __connman_config_is_address_provisioned(const char *address, int family)
+{
+       GHashTableIter iter, siter;
+       gpointer value, key, svalue, skey;
+
+       if (!address)
+               return false;
+
+       g_hash_table_iter_init(&iter, config_table);
+
+       while (g_hash_table_iter_next(&iter, &key, &value)) {
+               struct connman_config *config = value;
+
+               g_hash_table_iter_init(&siter, config->service_table);
+               while (g_hash_table_iter_next(&siter, &skey, &svalue)) {
+                       struct connman_config_service *service = svalue;
+
+                       if (family == AF_INET) {
+                               if (!g_strcmp0(address, service->ipv4_address))
+                                       return true;
+                       } else if (family == AF_INET6) {
+                               if (!g_strcmp0(address, service->ipv6_address))
+                                       return true;
+                       } else
+                               return false;
+               }
+       }
+
+       return false;
+}
diff --git a/src/connman.h b/src/connman.h
index a0f06bd..f32f979 100644
--- a/src/connman.h
+++ b/src/connman.h
@@ -595,6 +595,7 @@ char **__connman_config_get_string_list(GKeyFile *key_file,
 
 bool __connman_config_get_bool(GKeyFile *key_file,
        const char *group_name, const char *key, GError **error);
+bool __connman_config_is_address_provisioned(const char *address, int family);
 
 int __connman_tethering_init(void);
 void __connman_tethering_cleanup(void);
-- 
1.7.11.7

_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman

Reply via email to