notifier: Add old state to __connman_notifier_disconnect()
[framework/connectivity/connman.git] / src / connman.h
index a83c2a4..5d8cbe7 100644 (file)
@@ -84,12 +84,13 @@ void __connman_counter_cleanup(void);
 
 struct connman_service;
 
-void __connman_service_add_passphrase(struct connman_service *service,
-                               const gchar *passphrase);
+int __connman_service_add_passphrase(struct connman_service *service,
+                                       const gchar *passphrase);
 typedef void (* authentication_cb_t) (struct connman_service *service,
                                connman_bool_t values_received,
                                const char *name, int name_len,
                                const char *identifier, const char *secret,
+                               gboolean wps, const char *wpspin,
                                void *user_data);
 typedef void (* browser_authentication_cb_t) (struct connman_service *service,
                                connman_bool_t authentication_done,
@@ -116,9 +117,6 @@ void __connman_log_cleanup(void);
 void __connman_log_enable(struct connman_debug_desc *start,
                                        struct connman_debug_desc *stop);
 
-void __connman_debug_list_available(DBusMessageIter *iter, void *user_data);
-void __connman_debug_list_enabled(DBusMessageIter *iter, void *user_data);
-
 #include <connman/option.h>
 
 #include <connman/setting.h>
@@ -152,6 +150,46 @@ int __connman_inet_ipv6_send_rs(int index, int timeout,
 GSList *__connman_inet_ipv6_get_prefixes(struct nd_router_advert *hdr,
                                        unsigned int length);
 
+struct __connman_inet_rtnl_handle {
+       int                     fd;
+       struct sockaddr_nl      local;
+       struct sockaddr_nl      peer;
+       __u32                   seq;
+       __u32                   dump;
+
+       struct {
+               struct nlmsghdr n;
+               union {
+                       struct {
+                               struct rtmsg rt;
+                       } r;
+                       struct {
+                               struct ifaddrmsg ifa;
+                       } i;
+               } u;
+               char buf[1024];
+       } req;
+};
+
+int __connman_inet_rtnl_open(struct __connman_inet_rtnl_handle *rth);
+typedef void (*__connman_inet_rtnl_cb_t) (struct nlmsghdr *answer,
+                                       void *user_data);
+int __connman_inet_rtnl_talk(struct __connman_inet_rtnl_handle *rtnl,
+                       struct nlmsghdr *n, int timeout,
+                       __connman_inet_rtnl_cb_t callback, void *user_data);
+static inline
+int __connman_inet_rtnl_send(struct __connman_inet_rtnl_handle *rtnl,
+                                               struct nlmsghdr *n)
+{
+       return __connman_inet_rtnl_talk(rtnl, n, 0, NULL, NULL);
+}
+
+void __connman_inet_rtnl_close(struct __connman_inet_rtnl_handle *rth);
+int __connman_inet_rtnl_addattr_l(struct nlmsghdr *n, size_t max_length,
+                       int type, const void *data, size_t data_length);
+int __connman_inet_rtnl_addattr32(struct nlmsghdr *n, size_t maxlen,
+                       int type, __u32 data);
+
 #include <connman/resolver.h>
 
 int __connman_resolver_init(connman_bool_t dnsproxy);
@@ -331,7 +369,6 @@ char **__connman_timeserver_system_get();
 
 int __connman_timeserver_sync(struct connman_service *service);
 void __connman_timeserver_sync_next();
-void __connman_timeserver_stop();
 
 typedef void (* dhcp_cb) (struct connman_network *network,
                                connman_bool_t success);
@@ -363,6 +400,7 @@ int __connman_connection_gateway_add(struct connman_service *service,
                                        const char *peer);
 void __connman_connection_gateway_remove(struct connman_service *service,
                                        enum connman_ipconfig_type type);
+int __connman_connection_get_vpn_index(int phy_index);
 
 gboolean __connman_connection_update_gateway(void);
 void __connman_connection_gateway_activate(struct connman_service *service,
@@ -471,8 +509,6 @@ int __connman_network_set_ipconfig(struct connman_network *network,
                                struct connman_ipconfig *ipconfig_ipv4,
                                struct connman_ipconfig *ipconfig_ipv6);
 
-connman_bool_t __connman_network_has_driver(struct connman_network *network);
-
 const char *__connman_network_get_type(struct connman_network *network);
 const char *__connman_network_get_group(struct connman_network *network);
 const char *__connman_network_get_ident(struct connman_network *network);
@@ -526,6 +562,7 @@ struct connman_service *__connman_service_lookup_from_network(struct connman_net
 struct connman_service *__connman_service_lookup_from_index(int index);
 struct connman_service *__connman_service_create_from_network(struct connman_network *network);
 struct connman_service *__connman_service_create_from_provider(struct connman_provider *provider);
+struct connman_service *__connman_service_get_default(void);
 void __connman_service_update_from_network(struct connman_network *network);
 void __connman_service_remove_from_network(struct connman_network *network);
 void __connman_service_read_ip4config(struct connman_service *service);
@@ -579,6 +616,7 @@ void __connman_service_auto_connect(void);
 void __connman_service_provision_changed(const char *ident);
 
 const char *__connman_service_type2string(enum connman_service_type type);
+enum connman_service_type __connman_service_string2type(const char *str);
 
 int __connman_service_nameserver_append(struct connman_service *service,
                                const char *nameserver, gboolean is_auto);
@@ -596,6 +634,7 @@ int __connman_service_timeserver_remove(struct connman_service *service,
 void __connman_service_set_pac(struct connman_service *service,
                                        const char *pac);
 connman_bool_t __connman_service_is_hidden(struct connman_service *service);
+connman_bool_t __connman_service_is_split_routing(struct connman_service *service);
 int __connman_service_get_index(struct connman_service *service);
 void __connman_service_set_domainname(struct connman_service *service,
                                                const char *domainname);
@@ -608,8 +647,8 @@ void __connman_service_set_identity(struct connman_service *service,
                                        const char *identity);
 void __connman_service_set_agent_identity(struct connman_service *service,
                                                const char *agent_identity);
-void __connman_service_set_passphrase(struct connman_service *service,
-                                       const charpassphrase);
+int __connman_service_set_passphrase(struct connman_service *service,
+                                       const char *passphrase);
 void __connman_service_set_agent_passphrase(struct connman_service *service,
                                                const char *agent_passphrase);
 
@@ -651,7 +690,8 @@ void __connman_notifier_service_add(struct connman_service *service,
                                        const char *name);
 void __connman_notifier_service_remove(struct connman_service *service);
 void __connman_notifier_connect(enum connman_service_type type);
-void __connman_notifier_disconnect(enum connman_service_type type);
+void __connman_notifier_disconnect(enum connman_service_type type,
+                                       enum connman_service_state old_state);
 void __connman_notifier_offlinemode(connman_bool_t enabled);
 void __connman_notifier_default_changed(struct connman_service *service);
 void __connman_notifier_proxy_changed(struct connman_service *service);