static int manual_ipv4_set(struct connman_network *network, struct connman_ipconfig *ipconfig) { struct connman_service *service; int err; service = __connman_service_lookup_from_network(network); if (service == NULL) return -EINVAL; err = __connman_ipconfig_address_add(ipconfig); if (err < 0) { connman_network_set_error(network, CONNMAN_NETWORK_ERROR_CONFIGURE_FAIL); return err; } #if defined TIZEN_EXT /* * Description: __connman_service_lookup_from_index cannot find correct service */ return __connman_ipconfig_gateway_add(ipconfig, service); #else return __connman_ipconfig_gateway_add(ipconfig); #endif }
static int manual_ipv6_set(struct connman_network *network, struct connman_ipconfig *ipconfig_ipv6) { struct connman_service *service; int err; DBG("network %p ipv6 %p", network, ipconfig_ipv6); service = __connman_service_lookup_from_network(network); if (service == NULL) return -EINVAL; if (__connman_ipconfig_get_local(ipconfig_ipv6) == NULL) __connman_service_read_ip6config(service); err = __connman_ipconfig_address_add(ipconfig_ipv6); if (err < 0) { connman_network_set_error(network, CONNMAN_NETWORK_ERROR_CONFIGURE_FAIL); return err; } #if defined TIZEN_EXT /* * Description: __connman_service_lookup_from_index cannot find correct service */ err = __connman_ipconfig_gateway_add(ipconfig_ipv6, service); #else err = __connman_ipconfig_gateway_add(ipconfig_ipv6); #endif if (err < 0) return err; __connman_connection_gateway_activate(service, CONNMAN_IPCONFIG_TYPE_IPV6); __connman_device_set_network(network->device, network); connman_device_set_disconnected(network->device, FALSE); network->connecting = FALSE; return 0; }
static void set_connected_manual(struct connman_network *network) { struct connman_service *service; struct connman_ipconfig *ipconfig; int err; DBG("network %p", network); service = __connman_service_lookup_from_network(network); ipconfig = __connman_service_get_ip4config(service); if (__connman_ipconfig_get_local(ipconfig) == NULL) __connman_service_read_ip4config(service); set_configuration(network); err = __connman_ipconfig_address_add(ipconfig); if (err < 0) goto err; #if defined TIZEN_EXT /* * Description: __connman_service_lookup_from_index cannot find correct service */ err = __connman_ipconfig_gateway_add(ipconfig, service); #else err = __connman_ipconfig_gateway_add(ipconfig); #endif if (err < 0) goto err; network->connecting = FALSE; connman_network_set_associating(network, FALSE); return; err: connman_network_set_error(network, CONNMAN_NETWORK_ERROR_CONFIGURE_FAIL); return; }
static int set_connected_fixed(struct connman_network *network) { struct connman_service *service; struct connman_ipconfig *ipconfig_ipv4; int err; DBG(""); service = __connman_service_lookup_from_network(network); ipconfig_ipv4 = __connman_service_get_ip4config(service); set_configuration(network); network->connecting = FALSE; connman_network_set_associating(network, FALSE); err = __connman_ipconfig_address_add(ipconfig_ipv4); if (err < 0) goto err; #if defined TIZEN_EXT /* * Description: __connman_service_lookup_from_index cannot find correct service */ err = __connman_ipconfig_gateway_add(ipconfig_ipv4, service); #else err = __connman_ipconfig_gateway_add(ipconfig_ipv4); #endif if (err < 0) goto err; return 0; err: connman_network_set_error(network, CONNMAN_NETWORK_ERROR_CONFIGURE_FAIL); return err; }
static void dhcp_callback(struct connman_ipconfig *ipconfig, struct connman_network *network, bool success, gpointer data) { struct connman_peer *peer = data; int err; if (!success) goto error; DBG("lease acquired for ipconfig %p", ipconfig); err = __connman_ipconfig_address_add(ipconfig); if (err < 0) goto error; return; error: __connman_ipconfig_address_remove(ipconfig); connman_peer_set_state(peer, CONNMAN_PEER_STATE_FAILURE); }