From: Daniel Wagner <daniel.wag...@bmw-carit.de> --- 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 ed68f91..1140664 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 ebc4cd6..0df7a46 100644 --- a/src/ipconfig.c +++ b/src/ipconfig.c @@ -906,6 +906,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 connman@connman.net http://lists.connman.net/listinfo/connman