int __connman_nat_init(void) { int err; DBG(""); err = connman_notifier_register(&nat_notifier); if (err < 0) return err; nat_hash = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, cleanup_nat); return 0; }
int __connman_ipv6pd_setup(const char *bridge) { struct connman_service *service; int err; if (connman_inet_is_ipv6_supported() == FALSE) return -EPFNOSUPPORT; if (bridge_index >= 0) { DBG("Prefix delegation already running"); return -EALREADY; } err = connman_notifier_register(&pd_notifier); if (err < 0) return err; bridge_index = connman_inet_ifindex(bridge); timer_hash = g_hash_table_new_full(g_direct_hash, g_direct_equal, NULL, cleanup_timer); err = __connman_inet_ipv6_start_recv_rs(bridge_index, rs_received, NULL, &rs_context); if (err < 0) DBG("Cannot receive router solicitation %d/%s", err, strerror(-err)); service = __connman_service_get_default(); if (service != NULL) { /* * We have an uplink connection already, try to use it. */ return setup_prefix_delegation(service); } /* * The prefix delegation is started after have got the uplink * connection up i.e., when the default service is setup in which * case the update_default_interface() will be called. */ return -EINPROGRESS; }
int __connman_manager_init(void) { DBG(""); connection = connman_dbus_get_connection(); if (!connection) return -1; if (connman_notifier_register(&technology_notifier) < 0) connman_error("Failed to register technology notifier"); g_dbus_register_interface(connection, CONNMAN_MANAGER_PATH, CONNMAN_MANAGER_INTERFACE, manager_methods, manager_signals, NULL, NULL, NULL); connman_state_idle = true; return 0; }
static int pacrunner_init(void) { connection = connman_dbus_get_connection(); if (connection == NULL) return -EIO; pacrunner_watch = g_dbus_add_service_watch(connection, PACRUNNER_SERVICE, pacrunner_connect, pacrunner_disconnect, NULL, NULL); if (pacrunner_watch == 0) { dbus_connection_unref(connection); return -EIO; } connman_notifier_register(&pacrunner_notifier); connman_proxy_driver_register(&pacrunner_proxy); return 0; }
static int nmcompat_init(void) { gboolean ret; DBG(""); connection = connman_dbus_get_connection(); if (connection == NULL) return -1; if (g_dbus_request_name(connection, NM_SERVICE, NULL) == FALSE) { connman_error("nmcompat: can't register nm service\n"); return -1; } if (connman_notifier_register(¬ifier) < 0) { connman_error("nmcompat: failed to register notifier"); return -1; } ret = g_dbus_register_interface(connection, NM_PATH, NM_INTERFACE, nm_methods, NULL, NULL, NULL, NULL); if (ret == FALSE) { connman_error("nmcompat: can't register " NM_INTERFACE); return -1; } ret = g_dbus_register_interface(connection, NM_PATH, DBUS_PROPERTIES_INTERFACE, nm_prop_methods, NULL, NULL, NULL, NULL); if (ret == FALSE) { connman_error("nmcompat: can't register " DBUS_PROPERTIES_INTERFACE); return -1; } return 0; }
static int iospm_init(void) { connection = connman_dbus_get_connection(); return connman_notifier_register(&iospm_notifier); }