iptables: Add chain iterator
[platform/upstream/connman.git] / src / connman.h
index 492595d..6b81477 100644 (file)
@@ -70,9 +70,6 @@ int __connman_timezone_change(const char *zone);
 int __connman_agent_init(void);
 void __connman_agent_cleanup(void);
 
-int __connman_agent_register(const char *sender, const char *path);
-int __connman_agent_unregister(const char *sender, const char *path);
-
 void __connman_counter_send_usage(const char *path,
                                        DBusMessage *message);
 int __connman_counter_register(const char *owner, const char *path,
@@ -84,6 +81,8 @@ void __connman_counter_cleanup(void);
 
 struct connman_service;
 
+void __connman_agent_cancel(struct connman_service *service);
+
 int __connman_service_add_passphrase(struct connman_service *service,
                                        const gchar *passphrase);
 typedef void (* authentication_cb_t) (struct connman_service *service,
@@ -95,8 +94,6 @@ typedef void (* authentication_cb_t) (struct connman_service *service,
 typedef void (* browser_authentication_cb_t) (struct connman_service *service,
                                connman_bool_t authentication_done,
                                const char *error, void *user_data);
-typedef void (* report_error_cb_t) (struct connman_service *service,
-                               gboolean retry, void *user_data);
 int __connman_agent_request_passphrase_input(struct connman_service *service,
                                authentication_cb_t callback, void *user_data);
 int __connman_agent_request_login_input(struct connman_service *service,
@@ -104,16 +101,13 @@ int __connman_agent_request_login_input(struct connman_service *service,
 int __connman_agent_request_browser(struct connman_service *service,
                                browser_authentication_cb_t callback,
                                const char *url, void *user_data);
-int __connman_agent_report_error(struct connman_service *service,
-                               const char *error,
-                               report_error_cb_t callback, void *user_data);
-
 
 #include <connman/log.h>
 
 int __connman_log_init(const char *program, const char *debug,
-                                               connman_bool_t detach);
-void __connman_log_cleanup(void);
+               connman_bool_t detach, connman_bool_t backtrace,
+               const char *program_name, const char *program_version);
+void __connman_log_cleanup(connman_bool_t backtrace);
 void __connman_log_enable(struct connman_debug_desc *start,
                                        struct connman_debug_desc *stop);
 
@@ -153,6 +147,10 @@ int __connman_refresh_rs_ipv6(struct connman_network *network, int index);
 
 GSList *__connman_inet_ipv6_get_prefixes(struct nd_router_advert *hdr,
                                        unsigned int length);
+typedef void (*connman_inet_addr_cb_t) (const char *src_address, int index,
+                                       void *user_data);
+int __connman_inet_get_route(const char *dst_address,
+                       connman_inet_addr_cb_t callback, void *user_data);
 
 struct __connman_inet_rtnl_handle {
        int                     fd;
@@ -198,28 +196,34 @@ int __connman_inet_rtnl_addattr32(struct nlmsghdr *n, size_t maxlen,
 
 int __connman_resolver_init(connman_bool_t dnsproxy);
 void __connman_resolver_cleanup(void);
-int __connman_resolvfile_append(const char *interface, const char *domain, const char *server);
-int __connman_resolvfile_remove(const char *interface, const char *domain, const char *server);
-int __connman_resolver_redo_servers(const char *interface);
+int __connman_resolvfile_append(int index, const char *domain, const char *server);
+int __connman_resolvfile_remove(int index, const char *domain, const char *server);
+int __connman_resolver_redo_servers(int index);
 
-void __connman_storage_migrate(void);
-GKeyFile *__connman_storage_open_global();
-GKeyFile *__connman_storage_load_global();
+GKeyFile *__connman_storage_open_global(void);
+GKeyFile *__connman_storage_load_global(void);
 int __connman_storage_save_global(GKeyFile *keyfile);
-void __connman_storage_delete_global();
+void __connman_storage_delete_global(void);
 
 GKeyFile *__connman_storage_load_config(const char *ident);
+GKeyFile *__connman_storage_load_provider_config(const char *ident);
 
 GKeyFile *__connman_storage_open_service(const char *ident);
 int __connman_storage_save_service(GKeyFile *keyfile, const char *ident);
 GKeyFile *__connman_storage_load_provider(const char *identifier);
 void __connman_storage_save_provider(GKeyFile *keyfile, const char *identifier);
+gboolean __connman_storage_remove_provider(const char *identifier);
 char **__connman_storage_get_providers(void);
 gboolean __connman_storage_remove_service(const char *service_id);
 
 int __connman_detect_init(void);
 void __connman_detect_cleanup(void);
 
+#include <connman/inotify.h>
+
+int __connman_inotify_init(void);
+void __connman_inotify_cleanup(void);
+
 #include <connman/proxy.h>
 
 int __connman_proxy_init(void);
@@ -261,6 +265,7 @@ __connman_ipconfig_ref_debug(struct connman_ipconfig *ipconfig,
 void __connman_ipconfig_unref_debug(struct connman_ipconfig *ipconfig,
                        const char *file, int line, const char *caller);
 
+void __connman_ipconfig_clear_address(struct connman_ipconfig *ipconfig);
 void *__connman_ipconfig_get_data(struct connman_ipconfig *ipconfig);
 void __connman_ipconfig_set_data(struct connman_ipconfig *ipconfig, void *data);
 
@@ -343,7 +348,7 @@ int __connman_ipconfig_address_remove(struct connman_ipconfig *ipconfig);
 int __connman_ipconfig_address_unset(struct connman_ipconfig *ipconfig);
 int __connman_ipconfig_gateway_add(struct connman_ipconfig *ipconfig);
 void __connman_ipconfig_gateway_remove(struct connman_ipconfig *ipconfig);
-unsigned char __connman_ipconfig_netmask_prefix_len(const char *netmask);
+unsigned char __connman_ipaddress_netmask_prefix_len(const char *netmask);
 
 int __connman_ipconfig_set_proxy_autoconfig(struct connman_ipconfig *ipconfig,
                                                        const char *url);
@@ -357,6 +362,8 @@ int __connman_ipconfig_load(struct connman_ipconfig *ipconfig,
 int __connman_ipconfig_save(struct connman_ipconfig *ipconfig,
                GKeyFile *keyfile, const char *identifier, const char *prefix);
 gboolean __connman_ipconfig_ipv6_privacy_enabled(struct connman_ipconfig *ipconfig);
+int __connman_ipconfig_ipv6_set_privacy(struct connman_ipconfig *ipconfig,
+                                       const char *value);
 
 int __connman_ipconfig_set_rp_filter();
 void __connman_ipconfig_unset_rp_filter(int old_value);
@@ -552,8 +559,7 @@ int __connman_provider_indicate_state(struct connman_provider *provider,
 int __connman_provider_indicate_error(struct connman_provider *provider,
                                        enum connman_provider_error error);
 int __connman_provider_connect(struct connman_provider *provider);
-int __connman_provider_disconnect(struct connman_provider *provider);
-int __connman_provider_remove(const char *path);
+int __connman_provider_remove_by_path(const char *path);
 void __connman_provider_cleanup(void);
 int __connman_provider_init(void);
 
@@ -597,8 +603,12 @@ int __connman_service_set_favorite_delayed(struct connman_service *service,
                                        gboolean delay_ordering);
 int __connman_service_set_immutable(struct connman_service *service,
                                                connman_bool_t immutable);
+int __connman_service_set_ignore(struct connman_service *service,
+                                               connman_bool_t ignore);
 void __connman_service_set_userconnect(struct connman_service *service,
                                                connman_bool_t userconnect);
+void __connman_service_set_search_domains(struct connman_service *service,
+                                       char **domains);
 
 void __connman_service_set_string(struct connman_service *service,
                                        const char *key, const char *value);
@@ -621,11 +631,15 @@ int __connman_service_disconnect(struct connman_service *service);
 int __connman_service_disconnect_all(void);
 void __connman_service_auto_connect(void);
 gboolean __connman_service_remove(struct connman_service *service);
+connman_bool_t __connman_service_is_provider_pending(struct connman_service *service);
+void __connman_service_set_provider_pending(struct connman_service *service,
+                                                       DBusMessage *msg);
 void __connman_service_set_hidden_data(struct connman_service *service,
                                gpointer user_data);
 void __connman_service_return_error(struct connman_service *service,
                                int error, gpointer user_data);
-void __connman_service_reply_dbus_pending(DBusMessage *pending, int error);
+void __connman_service_reply_dbus_pending(DBusMessage *pending, int error,
+                                       const char *path);
 
 int __connman_service_provision_changed(const char *ident);
 void __connman_service_set_config(struct connman_service *service,
@@ -643,6 +657,8 @@ void __connman_service_nameserver_add_routes(struct connman_service *service,
                                                const char *gw);
 void __connman_service_nameserver_del_routes(struct connman_service *service,
                                        enum connman_ipconfig_type type);
+void __connman_service_set_timeservers(struct connman_service *service,
+                                               char **timeservers);
 int __connman_service_timeserver_append(struct connman_service *service,
                                                const char *timeserver);
 int __connman_service_timeserver_remove(struct connman_service *service,
@@ -671,6 +687,9 @@ int __connman_service_set_passphrase(struct connman_service *service,
 const char *__connman_service_get_passphrase(struct connman_service *service);
 void __connman_service_set_agent_passphrase(struct connman_service *service,
                                                const char *agent_passphrase);
+int __connman_service_reset_ipconfig(struct connman_service *service,
+               enum connman_ipconfig_type type, DBusMessageIter *array,
+               enum connman_service_state *new_state);
 
 void __connman_service_notify(struct connman_service *service,
                        unsigned int rx_packets, unsigned int tx_packets,
@@ -681,7 +700,8 @@ void __connman_service_notify(struct connman_service *service,
 int __connman_service_counter_register(const char *counter);
 void __connman_service_counter_unregister(const char *counter);
 
-struct connman_session;
+#include <connman/session.h>
+
 struct service_entry;
 typedef connman_bool_t (* service_match_cb) (struct connman_session *session,
                                        struct connman_service *service);
@@ -770,18 +790,42 @@ int __connman_stats_get(struct connman_service *service,
                                connman_bool_t roaming,
                                struct connman_stats_data *data);
 
+int __connman_iptables_dump(const char *table_name);
+int __connman_iptables_new_chain(const char *table_name,
+                                       const char *chain);
+int __connman_iptables_delete_chain(const char *table_name,
+                                       const char *chain);
+int __connman_iptables_flush_chain(const char *table_name,
+                                       const char *chain);
+int __connman_iptables_change_policy(const char *table_name,
+                                       const char *chain,
+                                       const char *policy);
+int __connman_iptables_append(const char *table_name,
+                       const char *chain,
+                       const char *rule_spec);
+int __connman_iptables_insert(const char *table_name,
+                       const char *chain,
+                       const char *rule_spec);
+int __connman_iptables_delete(const char *table_name,
+                       const char *chain,
+                       const char *rule_spec);
+
+typedef void (*connman_iptables_iterate_chains_cb_t) (const char *chain_name,
+                                                       void *user_data);
+int __connman_iptables_iterate_chains(const char *table_name,
+                               connman_iptables_iterate_chains_cb_t cb,
+                               void *user_data);
+
 int __connman_iptables_init(void);
 void __connman_iptables_cleanup(void);
-int __connman_iptables_command(const char *format, ...)
-                               __attribute__((format(printf, 1, 2)));
 int __connman_iptables_commit(const char *table_name);
 
 int __connman_dnsproxy_init(void);
 void __connman_dnsproxy_cleanup(void);
-int __connman_dnsproxy_add_listener(const char *interface);
-void __connman_dnsproxy_remove_listener(const char *interface);
-int __connman_dnsproxy_append(const char *interface, const char *domain, const char *server);
-int __connman_dnsproxy_remove(const char *interface, const char *domain, const char *server);
+int __connman_dnsproxy_add_listener(int index);
+void __connman_dnsproxy_remove_listener(int index);
+int __connman_dnsproxy_append(int index, const char *domain, const char *server);
+int __connman_dnsproxy_remove(int index, const char *domain, const char *server);
 void __connman_dnsproxy_flush(void);
 
 int __connman_6to4_probe(struct connman_service *service);