From: Daniel Wagner <[email protected]>
---
src/connman.h | 11 +++++++
src/ipconfig.c | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 95 insertions(+), 0 deletions(-)
diff --git a/src/connman.h b/src/connman.h
index 2917b03..88e6409 100644
--- a/src/connman.h
+++ b/src/connman.h
@@ -223,6 +223,17 @@ unsigned int __connman_ipconfig_get_flags_from_index(int
index);
const char *__connman_ipconfig_get_gateway_from_index(int index);
void __connman_ipconfig_set_index(struct connman_ipconfig *ipconfig, int
index);
+const char *__connman_ipconfig_get_local(struct connman_ipconfig *ipconfig);
+void __connman_ipconfig_set_local(struct connman_ipconfig *ipconfig, const
char *address);
+const char *__connman_ipconfig_get_peer(struct connman_ipconfig *ipconfig);
+void __connman_ipconfig_set_peer(struct connman_ipconfig *ipconfig, const char
*address);
+const char *__connman_ipconfig_get_broadcast(struct connman_ipconfig
*ipconfig);
+void __connman_ipconfig_set_broadcast(struct connman_ipconfig *ipconfig, const
char *broadcast);
+const char *__connman_ipconfig_get_gateway(struct connman_ipconfig *ipconfig);
+void __connman_ipconfig_set_gateway(struct connman_ipconfig *ipconfig, const
char *gateway);
+unsigned char __connman_ipconfig_get_prefixlen(struct connman_ipconfig
*ipconfig);
+void __connman_ipconfig_set_prefixlen(struct connman_ipconfig *ipconfig,
unsigned char prefixlen);
+
int __connman_ipconfig_enable(struct connman_ipconfig *ipconfig);
int __connman_ipconfig_disable(struct connman_ipconfig *ipconfig);
diff --git a/src/ipconfig.c b/src/ipconfig.c
index 7975c9e..a271cac 100644
--- a/src/ipconfig.c
+++ b/src/ipconfig.c
@@ -904,6 +904,90 @@ void __connman_ipconfig_set_index(struct connman_ipconfig
*ipconfig, int index)
ipconfig->index = index;
}
+const char *__connman_ipconfig_get_local(struct connman_ipconfig *ipconfig)
+{
+ if (ipconfig->address)
+ return NULL;
+
+ return ipconfig->address->local;
+}
+
+void __connman_ipconfig_set_local(struct connman_ipconfig *ipconfig, const
char *address)
+{
+ if (ipconfig->address)
+ return;
+
+ g_free(ipconfig->address->local);
+ ipconfig->address->local = g_strdup(address);
+}
+
+const char *__connman_ipconfig_get_peer(struct connman_ipconfig *ipconfig)
+{
+ if (ipconfig->address)
+ return NULL;
+
+ return ipconfig->address->peer;
+}
+
+void __connman_ipconfig_set_peer(struct connman_ipconfig *ipconfig, const char
*address)
+{
+ if (ipconfig->address)
+ return;
+
+ g_free(ipconfig->address->peer);
+ ipconfig->address->peer = g_strdup(address);
+}
+
+const char *__connman_ipconfig_get_broadcast(struct connman_ipconfig *ipconfig)
+{
+ if (ipconfig->address)
+ return NULL;
+
+ return ipconfig->address->broadcast;
+}
+
+void __connman_ipconfig_set_broadcast(struct connman_ipconfig *ipconfig, const
char *broadcast)
+{
+ if (ipconfig->address)
+ return;
+
+ g_free(ipconfig->address->broadcast);
+ ipconfig->address->broadcast = g_strdup(broadcast);
+}
+
+const char *__connman_ipconfig_get_gateway(struct connman_ipconfig *ipconfig)
+{
+ if (ipconfig->address)
+ return NULL;
+
+ return ipconfig->address->gateway;
+}
+
+void __connman_ipconfig_set_gateway(struct connman_ipconfig *ipconfig, const
char *gateway)
+{
+ if (ipconfig->address)
+ return;
+
+ g_free(ipconfig->address->gateway);
+ ipconfig->address->gateway = g_strdup(gateway);
+}
+
+unsigned char __connman_ipconfig_get_prefixlen(struct connman_ipconfig
*ipconfig)
+{
+ if (ipconfig->address)
+ return 0;
+
+ return ipconfig->address->prefixlen;
+}
+
+void __connman_ipconfig_set_prefixlen(struct connman_ipconfig *ipconfig,
unsigned char prefixlen)
+{
+ if (ipconfig->address)
+ return;
+
+ ipconfig->address->prefixlen = prefixlen;
+}
+
static struct connman_ipconfig *create_ipv6config(int index)
{
struct connman_ipconfig *ipv6config;
--
1.7.4
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman