Exemplo n.º 1
0
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;
}
Exemplo n.º 2
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;
}
Exemplo n.º 3
0
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;
}
Exemplo n.º 4
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(&notifier) < 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;
}
Exemplo n.º 6
0
static int iospm_init(void)
{
	connection = connman_dbus_get_connection();

	return connman_notifier_register(&iospm_notifier);
}