Fix resource leak
[platform/upstream/connman.git] / include / inet.h
index 05d1705..579f7f7 100644 (file)
@@ -2,7 +2,7 @@
  *
  *  Connection Manager
  *
- *  Copyright (C) 2007-2009  Intel Corporation. All rights reserved.
+ *  Copyright (C) 2007-2013  Intel Corporation. All rights reserved.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License version 2 as
 #ifndef __CONNMAN_INET_H
 #define __CONNMAN_INET_H
 
+#include <arpa/inet.h>
+#include <linux/netlink.h>
+#include <linux/rtnetlink.h>
+
+#include <connman/device.h>
+#include <connman/ipconfig.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-#include <connman/device.h>
+int connman_inet_ifindex(const char *name);
+char *connman_inet_ifname(int index);
+
+int connman_inet_ifup(int index);
+int connman_inet_ifdown(int index);
+bool connman_inet_is_ifup(int index);
+
+#if defined TIZEN_EXT
+void connman_inet_update_device_ident(struct connman_device *device);
+#endif
+
+int connman_inet_set_address(int index, struct connman_ipaddress *ipaddress);
+int connman_inet_clear_address(int index, struct connman_ipaddress *ipaddress);
+int connman_inet_add_host_route(int index, const char *host, const char *gateway);
+int connman_inet_del_host_route(int index, const char *host);
+int connman_inet_add_network_route(int index, const char *host, const char *gateway,
+                                       const char *netmask);
+int connman_inet_del_network_route(int index, const char *host);
+int connman_inet_clear_gateway_address(int index, const char *gateway);
+int connman_inet_set_gateway_interface(int index);
+int connman_inet_clear_gateway_interface(int index);
+bool connman_inet_compare_subnet(int index, const char *host);
+bool connman_inet_compare_ipv6_subnet(int index, const char *host);
+int connman_inet_set_ipv6_address(int index,
+               struct connman_ipaddress *ipaddress);
+int connman_inet_clear_ipv6_address(int index,
+                                       struct connman_ipaddress *ipaddress);
+int connman_inet_add_ipv6_network_route(int index, const char *host,
+                                       const char *gateway, unsigned char prefix_len);
+int connman_inet_add_ipv6_host_route(int index, const char *host,
+                                               const char *gateway);
+int connman_inet_del_ipv6_network_route(int index, const char *host,
+                                       unsigned char prefix_len);
+int connman_inet_del_ipv6_host_route(int index, const char *host);
+int connman_inet_clear_ipv6_gateway_address(int index, const char *gateway);
+int connman_inet_set_ipv6_gateway_interface(int index);
+int connman_inet_clear_ipv6_gateway_interface(int index);
+
+int connman_inet_add_to_bridge(int index, const char *bridge);
+int connman_inet_remove_from_bridge(int index, const char *bridge);
 
-extern struct connman_device *connman_inet_create_device(int index);
+int connman_inet_set_mtu(int index, int mtu);
+int connman_inet_setup_tunnel(char *tunnel, int mtu);
+int connman_inet_create_tunnel(char **iface);
+int connman_inet_get_dest_addr(int index, char **dest);
+int connman_inet_ipv6_get_dest_addr(int index, char **dest);
+int connman_inet_check_ipaddress(const char *host);
+bool connman_inet_check_hostname(const char *ptr, size_t len);
+bool connman_inet_is_ipv6_supported();
+bool connman_inet_is_default_route(int family, const char *host,
+                               const char *gateway, const char *netmask);
+
+int connman_inet_get_route_addresses(int index, char **network, char **netmask,
+                                                       char **destination);
+int connman_inet_ipv6_get_route_addresses(int index, char **network,
+                                                       char **netmask,
+                                                       char **destination);
+
+#if defined TIZEN_EXT_WIFI_MESH
+char *connman_inet_ifaddr(const char *name);
+char *connman_inet_ifname2addr(const char *name);
+#endif
 
 #ifdef __cplusplus
 }