X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fapi%2Fconnection.git;a=blobdiff_plain;f=include%2Fnet_connection.h;h=59198ac42c1eae842c75db7f9bc71fccb6fb45a3;hp=47a24550fd38b55ed1769fd4f9f01422e8f916ee;hb=f2b44e908241a67403d8a791a32e9a9b95069961;hpb=e18cdeecd48cce1bfe6f59ab11de0ea00351a89c diff --git a/include/net_connection.h b/include/net_connection.h index 47a2455..59198ac 100755 --- a/include/net_connection.h +++ b/include/net_connection.h @@ -167,7 +167,6 @@ typedef enum { CONNECTION_ERROR_NOT_SUPPORTED = TIZEN_ERROR_NOT_SUPPORTED /**< Not Supported */ } connection_error_e; - /** * @} */ @@ -267,6 +266,17 @@ typedef void(*connection_address_changed_cb)(const char* ipv4_address, const cha */ typedef void(*connection_set_default_cb)(connection_error_e result, void* user_data); +/* @brief Called with an IPv6 address. + * @since_tizen 4.0 + * @remarks If @a ipv6_address is needed outside the callback, a copy should be made. \n + * @a ipv6_address will be freed automatically after the execution of this callback. + * @param[in] ipv6_address The IPv6 address + * @param[in] user_data The user data passed from the foreach function + * @return @c true to continue with the next iteration of the loop, \n @c false to break out of the loop + * @pre connection_foreach_ipv6_addresses() will invoke this callback. + * @see connection_foreach_ipv6_addresses() + */ +typedef bool(*connection_ipv6_address_cb)(char *ipv6_address, void *user_data); /** * @brief Gets the type of the current profile for data connection. @@ -620,7 +630,7 @@ int connection_update_profile(connection_h connection, connection_profile_h prof * @privilege %http://tizen.org/privilege/network.get * @remarks You must release @a profile_iterator using connection_destroy(). * @param[in] connection The connection handle - * @param[in] type The type of the connetion iterator + * @param[in] type The type of the connection iterator * @param[out] profile_iterator The iterator of profile * @return @c 0 on success, * otherwise a negative error value @@ -706,7 +716,7 @@ int connection_get_current_profile(connection_h connection, connection_profile_h * @retval #CONNECTION_ERROR_INVALID_PARAMETER Invalid parameter * @retval #CONNECTION_ERROR_OUT_OF_MEMORY Out of memory * @retval #CONNECTION_ERROR_OPERATION_FAILED Operation failed - * @retval #CONNECTION_ERROR_PERMISSION_DENIED Permission Denieda + * @retval #CONNECTION_ERROR_PERMISSION_DENIED Permission Denied * @retval #CONNECTION_ERROR_NOT_SUPPORTED Not Supported */ int connection_get_default_cellular_service_profile(connection_h connection, connection_cellular_service_type_e type, connection_profile_h* profile); @@ -950,6 +960,21 @@ int connection_add_route_ipv6(connection_h connection, const char *interface_nam */ int connection_remove_route_ipv6(connection_h connection, const char *interface_name, const char *host_address, const char * gateway); +/* + * @brief Gets all IPv6 addresses assigned to the network interface. + * @since_tizen 4.0 + * @param[in] connection The connection handle + * @param[in] connection_type The connection type + * @param[in] callback The callback to be called for each IPv6 address + * @param[in] user_data The user data passed to the callback function + * @return 0 on success, otherwise negative error value. + * @retval #CONNECTION_ERROR_NONE Successful + * @retval #CONNECTION_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CONNECTION_ERROR_OPERATION_FAILED Operation failed + * @retval #CONNECTION_ERROR_NOT_SUPPORTED Not supported + */ +int connection_foreach_ipv6_address(connection_h connection, connection_type_e connection_type, + connection_ipv6_address_cb callback, void *user_data); /** * @} @@ -1000,7 +1025,6 @@ int connection_get_statistics(connection_h connection, connection_type_e connect */ int connection_reset_statistics(connection_h connection, connection_type_e connection_type, connection_statistics_type_e statistics_type); - /** * @} */