summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/provider.h2
-rw-r--r--src/provider.c13
2 files changed, 15 insertions, 0 deletions
diff --git a/include/provider.h b/include/provider.h
index c9a3b917..bfefaed3 100644
--- a/include/provider.h
+++ b/include/provider.h
@@ -101,6 +101,8 @@ int connman_provider_set_ipaddress(struct connman_provider *provider,
int connman_provider_set_pac(struct connman_provider *provider,
const char *pac);
int connman_provider_create_service(struct connman_provider *provider);
+int connman_provider_set_immutable(struct connman_provider *provider,
+ connman_bool_t immutable);
struct connman_provider *connman_provider_get(const char *identifier);
void connman_provider_put(struct connman_provider *provider);
int connman_provider_set_domain(struct connman_provider *provider,
diff --git a/src/provider.c b/src/provider.c
index fa3bc485..ca868803 100644
--- a/src/provider.c
+++ b/src/provider.c
@@ -334,6 +334,19 @@ int connman_provider_create_service(struct connman_provider *provider)
return 0;
}
+int connman_provider_set_immutable(struct connman_provider *provider,
+ connman_bool_t immutable)
+{
+ if (provider == NULL)
+ return -EINVAL;
+
+ if (provider->vpn_service == NULL)
+ return -ESRCH;
+
+ return __connman_service_set_immutable(provider->vpn_service,
+ immutable);
+}
+
static struct connman_provider *provider_lookup(const char *identifier)
{
return g_hash_table_lookup(provider_hash, identifier);