Base Code merged to SPIN 2.4
[platform/core/api/connection.git] / include / net_connection.h
old mode 100644 (file)
new mode 100755 (executable)
index 6b29fe0..f658d50
@@ -34,19 +34,19 @@ extern "C" {
 
 /**
  * @brief The connection handle.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
 */
 typedef void* connection_h;
 
 /**
  * @brief The profiles iterator handle.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
 */
 typedef void* connection_profile_iterator_h;
 
 /**
  * @brief Enumeration for connection type.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -59,7 +59,7 @@ typedef enum
 
 /**
  * @brief Enumeration for cellular network state.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -73,7 +73,7 @@ typedef enum
 
 /**
  * @brief Enumeration for Wi-Fi state.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -95,7 +95,7 @@ typedef enum
 
 /**
  * @brief Enumeration for Bluetooth state.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -106,7 +106,7 @@ typedef enum
 
 /**
  * @brief Enumeration for connection iterator type.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -117,7 +117,7 @@ typedef enum
 
 /**
  * @brief Enumeration for reset profile type.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
 */
 typedef enum
 {
@@ -137,7 +137,7 @@ typedef enum
 
 /**
  * @brief Enumeration for connection errors.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -170,7 +170,7 @@ typedef enum
 
 /**
  * @brief Enumeration for statistics type.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -192,7 +192,7 @@ typedef enum
 
 /**
  * @brief Creates a handle for managing data connections.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/network.get
  * @remarks You must release @a handle using connection_destroy().
@@ -207,7 +207,7 @@ int connection_create(connection_h* connection);
 
 /**
  * @brief Destroys the connection handle.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] connection  The connection handle
  * @return @c 0 on success, otherwise negative error value
  * @retval #CONNECTION_ERROR_NONE  Successful
@@ -218,7 +218,7 @@ int connection_destroy(connection_h connection);
 
 /**
  * @brief Called when the type of a connection is changed.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] type  The type of the current network connection
  * @param[in] user_data The user data passed from the callback registration function
  * @see connection_set_type_changed_cb()
@@ -228,7 +228,7 @@ typedef void(*connection_type_changed_cb)(connection_type_e type, void* user_dat
 
 /**
  * @brief Called when the address is changed.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] ipv4_address  The IP address for IPv4
  * @param[in] ipv6_address  The IP address for IPv6
  * @param[in] user_data The user data passed from the callback registration function
@@ -241,7 +241,7 @@ typedef void(*connection_address_changed_cb)(const char* ipv4_address, const cha
 
 /**
  * @brief Called when connection_set_default_cellular_service_profile_async() finishes.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] result  The result
  * @param[in] user_data The user data passed from connection_open_profile()
  * @pre connection_set_default_cellular_service_profile_async() will invoke this callback function.
@@ -251,7 +251,7 @@ typedef void(*connection_set_default_cb)(connection_error_e result, void* user_d
 
 /**
  * @brief Gets the type of the current profile for data connection.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] connection  The connection handle
  * @param[out] type  The type of the network
  * @return @c 0 on success, otherwise negative error value
@@ -263,7 +263,7 @@ int connection_get_type(connection_h connection, connection_type_e* type);
 
 /**
  * @brief Gets the IP address of the current connection.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @remarks You must release @a ip_address using free().
  * @param[in] connection  The connection handle
  * @param[in] address_family  The address family
@@ -278,7 +278,7 @@ int connection_get_ip_address(connection_h connection, connection_address_family
 
 /**
  * @brief Gets the proxy address of the current connection.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @remarks You must release @a proxy using free().
  * @param[in] connection  The connection handle
  * @param[in] address_family  The address family
@@ -311,7 +311,7 @@ int connection_get_mac_address(connection_h connection, connection_type_e type,
 /**
  * @brief Gets the state of cellular connection.
  * @details The returned state is for the cellular connection state.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] connection  The connection handle
  * @param[out] state  The state of the cellular connection
  * @return @c 0 on success, otherwise a negative error value
@@ -325,7 +325,7 @@ int connection_get_cellular_state(connection_h connection, connection_cellular_s
 /**
  * @brief Gets the state of the Wi-Fi.
  * @details The returned state is for the Wi-Fi connection state.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/network.get
  * @param[in] connection  The connection handle
@@ -411,7 +411,7 @@ int connection_unset_ethernet_cable_state_chaged_cb(connection_h connection);
 /**
  * @brief Gets the state of the Bluetooth.
  * @details The returned state is for the Bluetooth connection state.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/network.get
  * @param[in] connection  The connection handle
@@ -427,7 +427,7 @@ int connection_get_bt_state(connection_h connection, connection_bt_state_e* stat
 
 /**
  * @brief Registers the callback that is called when the type of the current connection is changed.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] connection  The connection handle
  * @param[in] callback  The callback function to be called
  * @param[in] user_data The user data passed to the callback function
@@ -440,7 +440,7 @@ int connection_set_type_changed_cb(connection_h connection, connection_type_chan
 
 /**
  * @brief Unregisters the callback that is called when the type of current connection is changed.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] connection  The connection handle
  * @return @c 0 on success, otherwise a negative error value
  * @retval #CONNECTION_ERROR_NONE  Successful
@@ -451,7 +451,7 @@ int connection_unset_type_changed_cb(connection_h connection);
 
 /**
  * @brief Registers the callback that is called when the IP address is changed.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] connection  The connection handle
  * @param[in] callback  The callback function to be called
  * @param[in] user_data The user data passed to the callback function
@@ -464,7 +464,7 @@ int connection_set_ip_address_changed_cb(connection_h connection, connection_add
 
 /**
  * @brief Unregisters the callback that is called when the IP address is changed.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] connection  The connection handle
  * @return @c 0 on success, otherwise a negative error value
  * @retval #CONNECTION_ERROR_NONE  Successful
@@ -475,7 +475,7 @@ int connection_unset_ip_address_changed_cb(connection_h connection);
 
 /**
  * @brief Registers the callback that is called when the proxy address is changed.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] connection  The connection handle
  * @param[in] callback  The callback function to be called
  * @param[in] user_data The user data passed to the callback function
@@ -488,7 +488,7 @@ int connection_set_proxy_address_changed_cb(connection_h connection, connection_
 
 /**
  * @brief Unregisters the callback that is called when the proxy address is changed.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] connection  The connection handle
  * @return @c 0 on success, otherwise a negative error value
  * @retval #CONNECTION_ERROR_NONE  Successful
@@ -499,7 +499,7 @@ int connection_unset_proxy_address_changed_cb(connection_h connection);
 
 /**
  * @brief Adds a new profile which is created by connection_profile_create().
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/network.profile
  * @remarks You can only add a profile of the cellular type.
@@ -516,7 +516,7 @@ int connection_add_profile(connection_h connection, connection_profile_h profile
 
 /**
  * @brief Removes an existing profile.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/network.profile \n
  *           %http://tizen.org/privilege/network.get
@@ -537,7 +537,7 @@ int connection_remove_profile(connection_h connection, connection_profile_h prof
  * @details When a profile is changed, these changes will be not applied to the Connection Manager immediately.
  * When you call this function, your changes affect the Connection Manager and the existing profile is updated.
  * In addition, the existing profile will be updated if you call connection_open_profile().
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/network.profile \n
  *           %http://tizen.org/privilege/network.get
@@ -556,7 +556,7 @@ int connection_update_profile(connection_h connection, connection_profile_h prof
 
 /**
  * @brief Gets a profiles iterator.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/network.get
  * @remarks You must release @a profile_iterator using connection_destroy().
@@ -574,7 +574,7 @@ int connection_get_profile_iterator(connection_h connection, connection_iterator
 
 /**
  * @brief Moves the profile iterator to the next position and gets a profile handle.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] profile_iterator  The iterator of profile
  * @param[out] profile  The profile handle
  * @return @c 0 on success, otherwise a negative error value
@@ -586,7 +586,7 @@ int connection_profile_iterator_next(connection_profile_iterator_h profile_itera
 
 /**
  * @brief Checks whether the next element of a profile iterator exists or not.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
  * @param[in] profile_iterator  The iterator of profile
  * @return @c true if next element exists, otherwise @c false if next element doesn't exist
@@ -595,7 +595,7 @@ bool connection_profile_iterator_has_next(connection_profile_iterator_h profile_
 
 /**
  * @brief Destroys a profiles iterator.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] profile_iterator  The iterator of the profile
  * @return @c 0 on success, otherwise a negative error value
  * @retval #CONNECTION_ERROR_NONE  Successful
@@ -605,7 +605,7 @@ int connection_destroy_profile_iterator(connection_profile_iterator_h profile_it
 
 /**
  * @brief Gets the name of the default profile.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/network.get
  * @remarks You must release @a profile using connection_profile_destroy().
@@ -623,7 +623,7 @@ int connection_get_current_profile(connection_h connection, connection_profile_h
 
 /**
  * @brief Gets the default profile which provides the given cellular service.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/network.get
  * @remarks You must release @a profile using connection_profile_destroy().
@@ -643,7 +643,7 @@ int connection_get_default_cellular_service_profile(connection_h connection, con
 
 /**
  * @brief Sets the default profile which provides the given cellular service.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/network.profile \n
  *           %http://tizen.org/privilege/network.get
@@ -663,7 +663,7 @@ int connection_set_default_cellular_service_profile(connection_h connection, con
 
 /**
  * @brief Sets the default profile which provides the given cellular service, asynchronously.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/network.profile \n
  *           %http://tizen.org/privilege/network.get
@@ -685,7 +685,7 @@ int connection_set_default_cellular_service_profile_async(connection_h connectio
 
 /**
  * @brief Called after connection_open_profile() is finished.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] result  The result
  * @param[in] user_data The user data passed from connection_open_profile()
  * @pre connection_open_profile() will invoke this callback function.
@@ -695,7 +695,7 @@ typedef void(*connection_opened_cb)(connection_error_e result, void* user_data);
 
 /**
  * @brief Called after connection_close_profile() is finished.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] result  The result
  * @param[in] user_data The user data passed from connection_close_profile()
  * @pre connection_close_profile() will invoke this callback function.
@@ -705,7 +705,7 @@ typedef void(*connection_closed_cb)(connection_error_e result, void* user_data);
 
 /**
  * @brief Called after connection_reset_profile() is finished.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] result  The result
  * @param[in] user_data The user data passed from connection_reset_profile()
  * @pre connection_reset_profile() will invoke this callback function.
@@ -715,7 +715,7 @@ typedef void(*connection_reset_cb)(connection_error_e result, void* user_data);
 
 /**
  * @brief Opens a connection of profile, asynchronously.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/network.set \n
  *           %http://tizen.org/privilege/network.get
@@ -740,7 +740,7 @@ int connection_open_profile(connection_h connection, connection_profile_h profil
 
 /**
  * @brief Closes a connection of profile.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/network.set
  * @param[in] connection  The connection handle
@@ -763,7 +763,7 @@ int connection_close_profile(connection_h connection, connection_profile_h profi
 
 /**
  * @brief Resets the cellular profile.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/network.profile \n
  *           %http://tizen.org/privilege/network.get
@@ -786,7 +786,7 @@ int connection_reset_profile(connection_h connection, connection_reset_option_e
 /**
  * @brief Adds a IPv4 route to the routing table.
  * @details You can get the @a interface_name from connection_profile_get_network_interface_name() of opened profile.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/network.set
  * @param[in] connection  The connection handle
@@ -805,7 +805,7 @@ int connection_add_route(connection_h connection, const char* interface_name, co
 /**
  * @brief Removes a IPv4 route from the routing table.
  * @details You can get the @a interface_name from connection_profile_get_network_interface_name() of opened profile.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/network.set
  * @param[in] connection  The connection handle
@@ -838,7 +838,26 @@ int connection_remove_route(connection_h connection, const char* interface_name,
  * @retval #CONNECTION_ERROR_PERMISSION_DENIED Permission Denied
  * @see connection_profile_get_network_interface_name()
  */
-int connection_remove_route(connection_h connection, const char* interface_name, const char* host_address);
+int connection_add_route_ipv6(connection_h connection, const char *interface_name, const char *host_address, const char * gateway);
+
+/**
+ * @brief Removes a IPV6 route from the routing table.
+ * @details You can get the @a interface_name from connection_profile_get_network_interface_name() of opened profile.
+ * @since_tizen 2.3.1
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/network.set
+ * @param[in] connection  The connection handle
+ * @param[in] interface_name  The name of network interface
+ * @param[in] host_address  The IP address of the host
+ * @param[in] gateway  The gateway address
+ * @return @c 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_PERMISSION_DENIED Permission Denied
+ * @see connection_profile_get_network_interface_name()
+ */
+int connection_remove_route_ipv6(connection_h connection, const char *interface_name, const char *host_address, const char * gateway);
 
 /**
  * @}
@@ -851,7 +870,7 @@ int connection_remove_route(connection_h connection, const char* interface_name,
 
 /**
  * @brief Gets the statistics information.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/network.get
  * @param[in] connection  The connection handle
@@ -868,7 +887,7 @@ int connection_get_statistics(connection_h connection, connection_type_e connect
 
 /**
  * @brief Resets the statistics information.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/network.set
  * @remarks This API needs both privileges.