Merge the header file from tizen 2.3 to tizen 3.0 33/34733/1 tizen_3.0.2014.q4_common tizen_3.0.2015.q1_common tizen_3.0.2015.q2_common tizen_3.0.m1_mobile tizen_3.0.m1_tv accepted/tizen/common/20150204.152657 accepted/tizen/mobile/20150205.041917 accepted/tizen/tv/20150205.022509 accepted/tizen/wearable/20150205.061957 submit/tizen/20150204.041443 tizen_3.0.m1_mobile_release tizen_3.0.m1_tv_release tizen_3.0.m2.a1_mobile_release tizen_3.0.m2.a1_tv_release
authorSeonah Moon <seonah1.moon@samsung.com>
Mon, 2 Feb 2015 02:51:55 +0000 (11:51 +0900)
committerSeonah Moon <seonah1.moon@samsung.com>
Mon, 2 Feb 2015 06:05:23 +0000 (15:05 +0900)
Change-Id: I80ddf00094d36e6f38fd9c402dd8080c9c834cd8
Signed-off-by: Seonah Moon <seonah1.moon@samsung.com>
include/tethering.h
include/tethering_private.h
packaging/capi-network-tethering.spec
test/tethering_test.c

index 71fa7b3..2bd8fe3 100644 (file)
@@ -25,17 +25,26 @@ extern "C" {
 #endif
 
 /**
+ * @file tethering.h
+ */
+
+/**
+ * @internal
  * @addtogroup CAPI_NETWORK_TETHERING_MANAGER_MODULE
  * @{
  */
 
 /**
- * @brief The handle for tethering.
+ * @internal
+ * @brief The tethering handle.
+ * @since_tizen 2.3
  */
 typedef void * tethering_h;
 
 /**
+ * @internal
  * @brief Enumeration for the tethering.
+ * @since_tizen 2.3
  */
 typedef enum {
     TETHERING_ERROR_NONE = TIZEN_ERROR_NONE,  /**< Successful */
@@ -43,24 +52,30 @@ typedef enum {
     TETHERING_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER,  /**< Invalid parameter */
     TETHERING_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY,  /**< Out of memory */
     TETHERING_ERROR_RESOURCE_BUSY = TIZEN_ERROR_RESOURCE_BUSY,  /**< Resource busy */
-    TETHERING_ERROR_NOT_ENABLED = TIZEN_ERROR_NETWORK_CLASS | 0x0501,  /**< Not enabled */
-    TETHERING_ERROR_OPERATION_FAILED = TIZEN_ERROR_NETWORK_CLASS | 0x0502,  /**< Operation failed */
+    TETHERING_ERROR_NOT_ENABLED = TIZEN_ERROR_TETHERING | 0x0501,  /**< Not enabled */
+    TETHERING_ERROR_OPERATION_FAILED = TIZEN_ERROR_TETHERING | 0x0502,  /**< Operation failed */
     TETHERING_ERROR_INVALID_OPERATION = TIZEN_ERROR_INVALID_OPERATION, /**< Invalid operation */
-    TETHERING_ERROR_NOT_SUPPORT_API = TIZEN_ERROR_NOT_SUPPORT_API, /**< API is not supported */
+    TETHERING_ERROR_NOT_SUPPORT_API = TIZEN_ERROR_NOT_SUPPORTED, /**< API is not supported */
+    TETHERING_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED,  /**< Permission denied */
 } tethering_error_e;
 
 /**
+ * @internal
  * @brief Enumeration for the type of tethering.
+ * @since_tizen 2.3
  */
 typedef enum {
-    TETHERING_TYPE_ALL = 0,  /**< All type */
+    TETHERING_TYPE_ALL = 0,  /**< All type except for TETHERING_TYPE_RESERVED */
     TETHERING_TYPE_USB,  /**< USB type */
     TETHERING_TYPE_WIFI,  /**< Wi-Fi type */
     TETHERING_TYPE_BT,  /**< BT type */
+    TETHERING_TYPE_RESERVED,  /**< Reserved type */
 } tethering_type_e;
 
 /**
+ * @internal
  * @brief Enumeration for the cause of disabling the tethering.
+ * @since_tizen 2.3
  */
 typedef enum
 {
@@ -69,11 +84,11 @@ typedef enum
     TETHERING_DISABLED_BY_LOW_BATTERY,  /**< Disabled due to low battery */
     TETHERING_DISABLED_BY_NETWORK_CLOSE,  /**< Disabled due to pdp network close */
     TETHERING_DISABLED_BY_TIMEOUT,  /**< Disabled due to timeout */
-    TETHERING_DISABLED_BY_MDM_ON,  /**< Disabled due to mdm on */
     TETHERING_DISABLED_BY_OTHERS,  /**< Disabled by other apps */
     TETHERING_DISABLED_BY_REQUEST,  /**< Disabled by your request */
     TETHERING_DISABLED_BY_WIFI_ON,  /**< Disabled due to Wi-Fi on */
     TETHERING_DISABLED_BY_BT_OFF,  /**< Disabled due to Bluetooth off */
+    TETHERING_DISABLED_BY_POWER_SAVE_MODE,     /**< Disabled due to power save mode */
 } tethering_disabled_cause_e;
 
 /**
@@ -82,12 +97,15 @@ typedef enum
 
 
 /**
+ * @internal
  * @addtogroup CAPI_NETWORK_TETHERING_WIFI_MODULE
  * @{
  */
 
 /**
+ * @internal
  * @brief Enumeration for the Wi-Fi security.
+ * @since_tizen 2.3
  */
 typedef enum {
     TETHERING_WIFI_SECURITY_TYPE_NONE = 0,  /**< No Security type */
@@ -100,17 +118,22 @@ typedef enum {
 
 
 /**
+ * @internal
  * @addtogroup CAPI_NETWORK_TETHERING_CLIENT_MODULE
  * @{
  */
 
 /**
- * @brief The handle for tethering client.
+ * @internal
+ * @brief The tethering client handle.
+ * @since_tizen 2.3
  */
 typedef void * tethering_client_h;
 
 /**
- * @brief Enumerations of Address family
+ * @internal
+ * @brief Enumeration for address family.
+ * @since_tizen 2.3
  */
 typedef enum {
     TETHERING_ADDRESS_FAMILY_IPV4 = 0,  /**< IPV4 Address type */
@@ -122,15 +145,18 @@ typedef enum {
 
 
 /**
+ * @internal
  * @addtogroup CAPI_NETWORK_TETHERING_MANAGER_MODULE
  * @{
  */
 
 /**
- * @brief  Called when the tethering is enabled.
+ * @internal
+ * @brief Called when the tethering is enabled.
+ * @since_tizen 2.3
  * @param[in]  result  The result of enabling the tethering
- * @param[in]  type  The type of tethering
- * @param[in]  is_requested  Indicates whether this change is requested by you
+ * @param[in]  type  The tethering type
+ * @param[in]  is_requested  Indicates whether this change is requested
  * @param[in]  user_data  The user data passed from tethering_set_enabled_cb()
  * @pre  If you register callback function using tethering_set_enabled_cb(), this will be invoked when the tethering is enabled.
  * @see        tethering_enable()
@@ -139,9 +165,11 @@ typedef enum {
 typedef void (*tethering_enabled_cb)(tethering_error_e result, tethering_type_e type, bool is_requested, void *user_data);
 
 /**
- * @brief  Called when the tethering is disabled.
+ * @internal
+ * @brief Called when the tethering is disabled.
+ * @since_tizen 2.3
  * @param[in]  result  The result of disabling the tethering
- * @param[in]  type  The type of tethering
+ * @param[in]  type  The tethering type
  * @param[in]  cause  The cause of disabling
  * @param[in]  user_data  The user data passed from tethering_set_disabled_cb()
  * @pre  If you register callback function using tethering_set_disabled_cb(), this will be invoked when the tethering is disabled.
@@ -151,8 +179,10 @@ typedef void (*tethering_enabled_cb)(tethering_error_e result, tethering_type_e
 typedef void (*tethering_disabled_cb)(tethering_error_e result, tethering_type_e type, tethering_disabled_cause_e cause, void *user_data);
 
 /**
- * @brief  Called when the connection state is changed.
- * @remakrs  @c tethering_client_h is valid only in this function. In order to use it outside this function, you must copy the client with tethering_client_clone().
+ * @internal
+ * @brief Called when the connection state is changed.
+ * @since_tizen 2.3
+ * @remarks @a client is valid only in this function. In order to use it outside this function, a user must copy the client with tethering_client_clone().
  * @param[in]  client  The client of which connection state is changed
  * @param[in]  opened  @c true when connection is opened, otherwise false
  * @param[in]  user_data  The user data passed from tethering_set_connection_state_changed_cb()
@@ -163,8 +193,10 @@ typedef void (*tethering_disabled_cb)(tethering_error_e result, tethering_type_e
 typedef void (*tethering_connection_state_changed_cb)(tethering_client_h client, bool opened, void *user_data);
 
 /**
+ * @internal
  * @brief Called when you get the connected client repeatedly.
- * @remarks  @a client is valid only in this function. In order to use the client outside this function, you must copy the client with tethering_client_clone().
+ * @since_tizen 2.3
+ * @remarks @a client is valid only in this function. In order to use the client outside this function, a user must copy the client with tethering_client_clone().
  * @param[in]  client  The connected client
  * @param[in]  user_data  The user data passed from the request function
  * @return  @c true to continue with the next iteration of the loop, \n @c false to break out of the loop
@@ -174,17 +206,21 @@ typedef void (*tethering_connection_state_changed_cb)(tethering_client_h client,
 typedef bool(*tethering_connected_client_cb)(tethering_client_h client, void *user_data);
 
 /**
- * @brief  Called when you get the data usage.
+ * @internal
+ * @brief Called when you get the data usage.
+ * @since_tizen 2.3
  * @param[in]  result  The result of getting the data usage
  * @param[in]  received_data  The usage of received data
  * @param[in]  sent_data  The usage of sent data
  * @param[in]  user_data  The user data passed from the request function
- * @pre  tethering_get_data_usage() will invoked this callback
+ * @pre  tethering_get_data_usage() will invoked this callback.
  */
 typedef void (*tethering_data_usage_cb)(tethering_error_e result, unsigned long long received_data, unsigned long long sent_data, void *user_data);
 
 /**
- * @brief  Called when the security type of Wi-Fi tethering is changed
+ * @internal
+ * @brief Called when the security type of Wi-Fi tethering is changed.
+ * @since_tizen 2.3
  * @param[in]  changed_type  The changed security type of Wi-Fi tethering
  * @param[in]  user_data  The user data passed from the register function
  * @see        tethering_wifi_set_security_type_changed_cb()
@@ -193,7 +229,9 @@ typedef void (*tethering_data_usage_cb)(tethering_error_e result, unsigned long
 typedef void (*tethering_wifi_security_type_changed_cb)(tethering_wifi_security_type_e changed_type, void *user_data);
 
 /**
- * @brief  Called when the visibility of SSID is changed
+ * @internal
+ * @brief Called when the visibility of SSID is changed.
+ * @since_tizen 2.3
  * @param[in]  changed_visible  The changed visibility of SSID
  * @param[in]  user_data  The user data passed from the register function
  * @see        tethering_wifi_set_ssid_visibility_changed_cb()
@@ -202,7 +240,9 @@ typedef void (*tethering_wifi_security_type_changed_cb)(tethering_wifi_security_
 typedef void (*tethering_wifi_ssid_visibility_changed_cb)(bool changed_visible, void *user_data);
 
 /**
- * @brief  Called when the passphrase of Wi-Fi tethering is changed
+ * @internal
+ * @brief Called when the passphrase of Wi-Fi tethering is changed.
+ * @since_tizen 2.3
  * @param[in]  user_data  The user data passed from the register function
  * @see        tethering_wifi_set_passphrase_changed_cb()
  * @see        tethering_wifi_unset_passphrase_changed_cb()
@@ -210,10 +250,34 @@ typedef void (*tethering_wifi_ssid_visibility_changed_cb)(bool changed_visible,
 typedef void (*tethering_wifi_passphrase_changed_cb)(void *user_data);
 
 /**
- * @brief  Creates the handle of tethering.
- * @remarks  The @a tethering must be released tethering_destroy() by you.
+ * @internal
+ * @brief Called when the settings are reloaded.
+ * @since_tizen 2.3
+ * @param[in]  result  The result of reloading the settings
+ * @param[in]  user_data  The user data passed from the request function
+ * @pre  tethering_wifi_reload_settings() will invoke this callback.
+ */
+typedef void (*tethering_wifi_settings_reloaded_cb)(tethering_error_e result, void *user_data);
+
+/**
+ * @internal
+ * @brief Called when Wi-Fi AP settings are reloaded.
+ * @since_tizen 2.3
+ * @param[in]  result  The result of reloading the settings
+ * @param[in]  user_data  The user data passed from the request function
+ * @pre  tethering_wifi_ap_reload_settings() will invoke this callback.
+ */
+typedef void (*tethering_wifi_ap_settings_reloaded_cb)(tethering_error_e result, void *user_data);
+
+/**
+ * @internal
+ * @brief Creates the handle for tethering.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @remarks The @a tethering must be released using tethering_destroy().
  * @param[out]  tethering  A handle of a new mobile ap handle on success
- * @return  0 on success, otherwise a negative error value.
+ * @return  0 on success, otherwise a negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval  #TETHERING_ERROR_OUT_OF_MEMORY  Out of memory
@@ -223,9 +287,13 @@ typedef void (*tethering_wifi_passphrase_changed_cb)(void *user_data);
 int tethering_create(tethering_h *tethering);
 
 /**
- * @brief  Destroys the handle of tethering.
- * @param[in]  tethering  The handle of tethering
- * @return  0 on success, otherwise a negative error value.
+ * @internal
+ * @brief Destroys the handle for tethering.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
+ * @return  0 on success, otherwise a negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @see  tethering_create()
@@ -233,10 +301,14 @@ int tethering_create(tethering_h *tethering);
 int tethering_destroy(tethering_h tethering);
 
 /**
+ * @internal
  * @brief Enables the tethering, asynchronously.
- * @param[in]  tethering  The handle of tethering
- * @param[in]  type  The type of tethering
- * @return 0 on success, otherwise negative error value.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
+ * @param[in]  type  The tethering type
+ * @return 0 on success, otherwise negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @post tethering_enabled_cb() will be invoked.
@@ -246,10 +318,14 @@ int tethering_destroy(tethering_h tethering);
 int tethering_enable(tethering_h tethering, tethering_type_e type);
 
 /**
+ * @internal
  * @brief Disables the tethering, asynchronously.
- * @param[in]  tethering  The handle of tethering
- * @param[in]  type  The type of tethering
- * @return 0 on success, otherwise negative error value.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
+ * @param[in]  type  The tethering type
+ * @return 0 on success, otherwise negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @post tethering_disabled_cb() will be invoked.
@@ -259,132 +335,164 @@ int tethering_enable(tethering_h tethering, tethering_type_e type);
 int tethering_disable(tethering_h tethering, tethering_type_e type);
 
 /**
- * @brief  Checks whetehr the tethering is enabled or not.
- * @param[in]  tethering  The handle of tethering
- * @param[in]  type  The type of tethering
- * @return  @c true if tethering is enabled, \n @c false if tethering is disabled.
+ * @internal
+ * @brief Checks whether the tethering is enabled or not.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
+ * @param[in]  type  The tethering type
+ * @return  @c true if tethering is enabled, \n @c false if tethering is disabled
  */
 bool tethering_is_enabled(tethering_h tethering, tethering_type_e type);
 
 /**
- * @brief  Gets the MAC address of local device as "FC:A1:3E:D6:B1:B1".
- * @remarks @a mac_address must be released with free() by you.
- * @param[in]  tethering  The handle of tethering
- * @param[in]  type  The type of tethering
+ * @internal
+ * @brief Gets the MAC address of local device as "FC:A1:3E:D6:B1:B1".
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @remarks @a mac_address must be released using free().
+ * @param[in]  tethering  The tethering handle
+ * @param[in]  type  The tethering type
  * @param[out]  mac_address  The MAC address
- * @return  0 on success, otherwise a negative error value.
+ * @return  0 on success, otherwise a negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval  #TETHERING_ERROR_OUT_OF_MEMORY  Out of memory
  * @retval  #TETHERING_ERROR_OPERATION_FAILED  Operation failed
  * @retval  #TETHERING_ERROR_NOT_ENABLED  Not enabled
- * @pre  tethering must be enabled.
+ * @pre  The tethering must be enabled.
  * @see  tethering_is_enabled()
  * @see  tethering_enable()
  */
 int tethering_get_mac_address(tethering_h tethering, tethering_type_e type, char **mac_address);
 
 /**
- * @brief Gets the name of network interface. For example, usb0.
- * @remarks @a interface_name must be released with free() by you.
- * @param[in]  tethering  The handle of tethering
- * @param[in]  type  The type of tethering
- * @param[out]  interface_name  The name of network interface
- * @return 0 on success, otherwise negative error value.
+ * @internal
+ * @brief Gets the name of network interface (e.g. usb0).
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @remarks @a interface_name must be released using free().
+ * @param[in]  tethering  The tethering handle
+ * @param[in]  type  The tethering type
+ * @param[out]  interface_name  The name of the network interface
+ * @return 0 on success, otherwise negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval  #TETHERING_ERROR_OUT_OF_MEMORY  Out of memory
  * @retval  #TETHERING_ERROR_OPERATION_FAILED  Operation failed
  * @retval  #TETHERING_ERROR_NOT_ENABLED  Not enabled
- * @pre  tethering must be enabled.
+ * @pre  The tethering must be enabled.
  * @see  tethering_is_enabled()
  * @see  tethering_enable()
  */
 int tethering_get_network_interface_name(tethering_h tethering, tethering_type_e type, char **interface_name);
 
 /**
+ * @internal
  * @brief Gets the local IP address.
- * @remarks @a ip_address must be released with free() by you.
- * @param[in]  tethering  The handle of tethering
- * @param[in]  type  The type of tethering
- * @param[in]  address_family  The address family of IP address. Currently, #TETHERING_ADDRESS_FAMILY_IPV4 is only supported.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @remarks @a ip_address must be released using free().
+ * @param[in]  tethering  The tethering handle
+ * @param[in]  type  The tethering type
+ * @param[in]  address_family  The address family of IP address (currently, #TETHERING_ADDRESS_FAMILY_IPV4 is only supported)
  * @param[out]  ip_address  The local IP address
- * @return 0 on success, otherwise negative error value.
+ * @return 0 on success, otherwise negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval  #TETHERING_ERROR_OUT_OF_MEMORY  Out of memory
  * @retval  #TETHERING_ERROR_OPERATION_FAILED  Operation failed
  * @retval  #TETHERING_ERROR_NOT_ENABLED  Not enabled
- * @pre  tethering must be enabled.
+ * @pre  The tethering must be enabled.
  * @see  tethering_is_enabled()
  * @see  tethering_enable()
  */
 int tethering_get_ip_address(tethering_h tethering, tethering_type_e type, tethering_address_family_e address_family, char **ip_address);
 
 /**
+ * @internal
  * @brief Gets the Gateway address.
- * @remarks @a gateway_address must be released with free() by you.
- * @param[in]  tethering  The handle of tethering
- * @param[in]  type  The type of tethering
- * @param[in]  address_family  The address family of IP address. Currently, #TETHERING_ADDRESS_FAMILY_IPV4 is only supported.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @remarks @a gateway_address must be released using free().
+ * @param[in]  tethering  The tethering handle
+ * @param[in]  type  The tethering type
+ * @param[in]  address_family  The address family of IP address (currently, #TETHERING_ADDRESS_FAMILY_IPV4 is only supported)
  * @param[out]  gateway_address  The local IP address
- * @return 0 on success, otherwise negative error value.
+ * @return 0 on success, otherwise negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval  #TETHERING_ERROR_OUT_OF_MEMORY  Out of memory
  * @retval  #TETHERING_ERROR_OPERATION_FAILED  Operation failed
  * @retval  #TETHERING_ERROR_NOT_ENABLED  Not enabled
- * @pre  tethering must be enabled.
+ * @pre  The tethering must be enabled.
  * @see  tethering_is_enabled()
  * @see  tethering_enable()
  */
 int tethering_get_gateway_address(tethering_h tethering, tethering_type_e type, tethering_address_family_e address_family, char **gateway_address);
 
 /**
+ * @internal
  * @brief Gets the Subnet Mask.
- * @remarks @a subnet_mask must be released with free() by you.
- * @param[in]  tethering  The handle of tethering
- * @param[in]  type  The type of tethering
- * @param[in]  address_family  The address family of IP address. Currently, #TETHERING_ADDRESS_FAMILY_IPV4 is only supported.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @remarks @a subnet_mask must be released using free().
+ * @param[in]  tethering  The tethering handle
+ * @param[in]  type  The tethering type
+ * @param[in]  address_family  The address family of IP address (currently, #TETHERING_ADDRESS_FAMILY_IPV4 is only supported)
  * @param[out]  subnet_mask  The local IP address
- * @return 0 on success, otherwise negative error value.
+ * @return 0 on success, otherwise negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval  #TETHERING_ERROR_OUT_OF_MEMORY  Out of memory
  * @retval  #TETHERING_ERROR_OPERATION_FAILED  Operation failed
  * @retval  #TETHERING_ERROR_NOT_ENABLED  Not enabled
- * @pre  tethering must be enabled.
+ * @pre  The tethering must be enabled.
  * @see  tethering_is_enabled()
  * @see  tethering_enable()
  */
 int tethering_get_subnet_mask(tethering_h tethering, tethering_type_e type, tethering_address_family_e address_family, char **subnet_mask);
 
 /**
+ * @internal
  * @brief Gets the data usage.
- * @param[in]  tethering  The handle of tethering
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
  * @param[out]  usage  The data usage
- * @return 0 on success, otherwise negative error value.
+ * @return 0 on success, otherwise negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval  #TETHERING_ERROR_OPERATION_FAILED  Operation failed
  * @retval  #TETHERING_ERROR_NOT_ENABLED  Not enabled
- * @pre  tethering must be enabled.
+ * @pre  The tethering must be enabled.
  * @see  tethering_is_enabled()
  * @see  tethering_enable()
  */
 int tethering_get_data_usage(tethering_h tethering, tethering_data_usage_cb callback, void *user_data);
 
 /**
+ * @internal
  * @brief Gets the clients which are connected.
- * @param[in]  tethering  The handle of tethering
- * @param[in]  type  The type of tethering
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
+ * @param[in]  type  The tethering type
  * @param[in]  callback  The callback function to invoke
  * @param[in]  user_data  The user data to be passed to the callback function
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval  #TETHERING_ERROR_NOT_ENABLED  Not enabled
  * @retval  #TETHERING_ERROR_OPERATION_FAILED  Operation failed
- * @pre  tethering must be enabled.
+ * @pre  The tethering must be enabled.
  * @see  tethering_is_enabled()
  * @see  tethering_enable()
  */
@@ -395,7 +503,7 @@ int tethering_foreach_connected_clients(tethering_h tethering, tethering_type_e
  * @param[in]  tethering  The handle of tethering
  * @param[in]  status  The ip forward status: (@c true = enable, @c false = disable)
  * @retval  #TETHERING_ERROR_NONE  Successful
- * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @reztval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @see  tethering_get_ip_forward_status()
  */
 int tethering_set_ip_forward_status(tethering_h tethering, bool status);
@@ -412,9 +520,13 @@ int tethering_set_ip_forward_status(tethering_h tethering, bool status);
 int tethering_get_ip_forward_status(tethering_h tethering, bool *status);
 
 /**
- * @brief Registers the callback function called when tethering is enabled.
- * @param[in]  tethering  The handle of tethering
- * @param[in]  type  The type of tethering
+ * @internal
+ * @brief Registers the callback function, which is called when tethering is enabled.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
+ * @param[in]  type  The tethering type
  * @param[in]  callback  The callback function to invoke
  * @param[in]  user_data  The user data to be passed to the callback function
  * @retval  #TETHERING_ERROR_NONE  Successful
@@ -424,9 +536,13 @@ int tethering_get_ip_forward_status(tethering_h tethering, bool *status);
 int tethering_set_enabled_cb(tethering_h tethering, tethering_type_e type, tethering_enabled_cb callback, void *user_data);
 
 /**
- * @brief Unregisters the callback function called when tethering is disabled.
- * @param[in]  tethering  The handle of tethering
- * @param[in]  type  The type of tethering
+ * @internal
+ * @brief Unregisters the callback function, which is called when tethering is enabled.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
+ * @param[in]  type  The tethering type
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @see  tethering_set_enabled_cb()
@@ -434,9 +550,13 @@ int tethering_set_enabled_cb(tethering_h tethering, tethering_type_e type, tethe
 int tethering_unset_enabled_cb(tethering_h tethering, tethering_type_e type);
 
 /**
+ * @internal
  * @brief Registers the callback function called when tethering is disabled.
- * @param[in]  tethering  The handle of tethering
- * @param[in]  type  The type of tethering
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
+ * @param[in]  type  The tethering type
  * @param[in]  callback  The callback function to invoke
  * @param[in]  user_data  The user data to be passed to the callback function
  * @retval  #TETHERING_ERROR_NONE  Successful
@@ -446,9 +566,13 @@ int tethering_unset_enabled_cb(tethering_h tethering, tethering_type_e type);
 int tethering_set_disabled_cb(tethering_h tethering, tethering_type_e type, tethering_disabled_cb callback, void *user_data);
 
 /**
- * @brief Unregisters the callback function called when tethering is disabled.
- * @param[in]  tethering  The handle of tethering
- * @param[in]  type  The type of tethering
+ * @internal
+ * @brief Unregisters the callback function, which is called when tethering is disabled.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
+ * @param[in]  type  The tethering type
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @see  tethering_set_disabled_cb()
@@ -456,9 +580,13 @@ int tethering_set_disabled_cb(tethering_h tethering, tethering_type_e type, teth
 int tethering_unset_disabled_cb(tethering_h tethering, tethering_type_e type);
 
 /**
- * @brief Registers the callback function called when the state of connection is changed.
- * @param[in]  tethering  The handle of tethering
- * @param[in]  type  The type of tethering
+ * @internal
+ * @brief Registers the callback function, which is called when the state of connection is changed.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
+ * @param[in]  type  The tethering type
  * @param[in]  callback  The callback function to invoke
  * @param[in]  user_data  The user data to be passed to the callback function
  * @retval  #TETHERING_ERROR_NONE  Successful
@@ -468,9 +596,13 @@ int tethering_unset_disabled_cb(tethering_h tethering, tethering_type_e type);
 int tethering_set_connection_state_changed_cb(tethering_h tethering, tethering_type_e type, tethering_connection_state_changed_cb callback, void *user_data);
 
 /**
- * @brief Unregisters the callback function called when the state of connection is changed.
- * @param[in]  tethering  The handle of tethering
- * @param[in]  type  The type of tethering
+ * @internal
+ * @brief Unregisters the callback function, which is called when the state of connection is changed.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
+ * @param[in]  type  The tethering type
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @see  tethering_set_connection_state_changed_cb()
@@ -478,8 +610,12 @@ int tethering_set_connection_state_changed_cb(tethering_h tethering, tethering_t
 int tethering_unset_connection_state_changed_cb(tethering_h tethering, tethering_type_e type);
 
 /**
- * @brief Registers the callback function called when the security type of Wi-Fi tethering is changed.
- * @param[in]  tethering  The handle of tethering
+ * @internal
+ * @brief Registers the callback function, which is called when the security type of Wi-Fi tethering is changed.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
  * @param[in]  callback  The callback function to invoke
  * @param[in]  user_data  The user data to be passed to the callback function
  * @retval  #TETHERING_ERROR_NONE  Successful
@@ -489,9 +625,13 @@ int tethering_unset_connection_state_changed_cb(tethering_h tethering, tethering
 int tethering_wifi_set_security_type_changed_cb(tethering_h tethering, tethering_wifi_security_type_changed_cb callback, void *user_data);
 
 /**
- * @brief Unregisters the callback function called when the security type of Wi-Fi tethering is changed.
- * @param[in]  tethering  The handle of tethering
- * @param[in]  type  The type of tethering
+ * @internal
+ * @brief Unregisters the callback function, which is called when the security type of Wi-Fi tethering is changed.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
+ * @param[in]  type  The tethering type
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @see  tethering_wifi_set_security_type_changed_cb()
@@ -499,8 +639,12 @@ int tethering_wifi_set_security_type_changed_cb(tethering_h tethering, tethering
 int tethering_wifi_unset_security_type_changed_cb(tethering_h tethering);
 
 /**
- * @brief Registers the callback function called when the visibility of SSID is changed.
- * @param[in]  tethering  The handle of tethering
+ * @internal
+ * @brief Registers the callback function , which iscalled when the visibility of SSID is changed.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
  * @param[in]  callback  The callback function to invoke
  * @param[in]  user_data  The user data to be passed to the callback function
  * @retval  #TETHERING_ERROR_NONE  Successful
@@ -510,8 +654,12 @@ int tethering_wifi_unset_security_type_changed_cb(tethering_h tethering);
 int tethering_wifi_set_ssid_visibility_changed_cb(tethering_h tethering, tethering_wifi_ssid_visibility_changed_cb callback, void *user_data);
 
 /**
- * @brief Unregisters the callback function called when the visibility of SSID is changed.
- * @param[in]  tethering  The handle of tethering
+ * @internal
+ * @brief Unregisters the callback function, which is called when the visibility of SSID is changed.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @see  tethering_wifi_set_ssid_visibility_changed_cb()
@@ -519,8 +667,12 @@ int tethering_wifi_set_ssid_visibility_changed_cb(tethering_h tethering, tetheri
 int tethering_wifi_unset_ssid_visibility_changed_cb(tethering_h tethering);
 
 /**
- * @brief Registers the callback function called when the passphrase of Wi-Fi tethering is changed.
- * @param[in]  tethering  The handle of tethering
+ * @internal
+ * @brief Registers the callback function, which is called when the passphrase of Wi-Fi tethering is changed.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
  * @param[in]  callback  The callback function to invoke
  * @param[in]  user_data  The user data to be passed to the callback function
  * @retval  #TETHERING_ERROR_NONE  Successful
@@ -530,8 +682,12 @@ int tethering_wifi_unset_ssid_visibility_changed_cb(tethering_h tethering);
 int tethering_wifi_set_passphrase_changed_cb(tethering_h tethering, tethering_wifi_passphrase_changed_cb callback, void *user_data);
 
 /**
- * @brief Unregisters the callback function called when the passphrase of Wi-Fi tethering is changed.
- * @param[in]  tethering  The handle of tethering
+ * @internal
+ * @brief Unregisters the callback function, which is called when the passphrase of Wi-Fi tethering is changed.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @see  tethering_wifi_set_passphrase_changed_cb()
@@ -544,16 +700,21 @@ int tethering_wifi_unset_passphrase_changed_cb(tethering_h tethering);
 
 
 /**
+ * @internal
  * @addtogroup CAPI_NETWORK_TETHERING_WIFI_MODULE
  * @{
  */
 
 /**
+ * @internal
  * @brief Sets the security type of Wi-Fi tethering.
- * @remarks This change is applied next time Wi-Fi tethering is enabled
- * @param[in]  tethering  The handle of tethering
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @remarks This change is applied next time Wi-Fi tethering is enabled.
+ * @param[in]  tethering  The tethering handle
  * @param[in]  type  The security type
- * @return 0 on success, otherwise negative error value.
+ * @return 0 on success, otherwise negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval  #TETHERING_ERROR_OPERATION_FAILED  Operation failed
@@ -562,10 +723,14 @@ int tethering_wifi_unset_passphrase_changed_cb(tethering_h tethering);
 int tethering_wifi_set_security_type(tethering_h tethering, tethering_wifi_security_type_e type);
 
 /**
+ * @internal
  * @brief Gets the security type of Wi-Fi tethering.
- * @param[in]  tethering  The handle of tethering
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
  * @param[out]  type  The security type
- * @return 0 on success, otherwise negative error value.
+ * @return 0 on success, otherwise negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval  #TETHERING_ERROR_OPERATION_FAILED  Operation failed
@@ -574,12 +739,16 @@ int tethering_wifi_set_security_type(tethering_h tethering, tethering_wifi_secur
 int tethering_wifi_get_security_type(tethering_h tethering, tethering_wifi_security_type_e *type);
 
 /**
+ * @internal
  * @brief Sets the SSID (service set identifier).
- * @details If SSID is not set, Device name is used as SSID
- * @remarks This change is applied next time Wi-Fi tethering is enabled with same @a tethering handle
- * @param[in]  tethering  The handle of tethering
- * @param[out]  ssid  The SSID
- * @return 0 on success, otherwise negative error value.
+ * @details The SSID cannot exceed 32 bytes. If SSID is not set, device name is used as SSID.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @remarks This change is applied next time Wi-Fi tethering is enabled with same @a tethering handle.
+ * @param[in]  tethering  The tethering handle
+ * @param[in]  ssid  The SSID
+ * @return 0 on success, otherwise negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval  #TETHERING_ERROR_OUT_OF_MEMORY  Out of memory
@@ -587,11 +756,15 @@ int tethering_wifi_get_security_type(tethering_h tethering, tethering_wifi_secur
 int tethering_wifi_set_ssid(tethering_h tethering, const char *ssid);
 
 /**
+ * @internal
  * @brief Gets the SSID (service set identifier).
- * @remarks @a ssid must be released with free() by you.
- * @param[in]  tethering  The handle of tethering
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @remarks @a ssid must be released using free().
+ * @param[in]  tethering  The tethering handle
  * @param[out]  ssid  The SSID
- * @return 0 on success, otherwise negative error value.
+ * @return 0 on success, otherwise negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval  #TETHERING_ERROR_OUT_OF_MEMORY  Out of memory
@@ -600,12 +773,16 @@ int tethering_wifi_set_ssid(tethering_h tethering, const char *ssid);
 int tethering_wifi_get_ssid(tethering_h tethering, char **ssid);
 
 /**
- * @brief Sets the visibility of SSID(service set identifier).
- * @details If you set the visibility invisible, then the SSID of this device is hidden. So, Wi-Fi scan can't find your device.
- * @remarks This change is applied next time Wi-Fi tethering is enabled
- * @param[in]  tethering  The handle of tethering
+ * @internal
+ * @brief Sets the visibility of SSID (service set identifier).
+ * @details If the visibility is set to invisible, then the SSID of this device is hidden and Wi-Fi scan will not find the device.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @remarks This change is applied next time Wi-Fi tethering is enabled.
+ * @param[in]  tethering  The tethering handle
  * @param[in]  visible  The visibility of SSID: (@c true = visible, @c false = invisible)
- * @return 0 on success, otherwise negative error value.
+ * @return 0 on success, otherwise negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval  #TETHERING_ERROR_OPERATION_FAILED  Operation failed
@@ -614,11 +791,15 @@ int tethering_wifi_get_ssid(tethering_h tethering, char **ssid);
 int tethering_wifi_set_ssid_visibility(tethering_h tethering, bool visible);
 
 /**
- * @brief Gets the visibility of SSID(service set identifier).
- * @details If the visibility is set invisible, then the SSID of this device is hidden. So, Wi-Fi scan can't find your device.
- * @param[in]  tethering  The handle of tethering
+ * @internal
+ * @brief Gets the visibility of SSID (service set identifier).
+ * @details If the visibility is set to invisible, then the SSID of this device is hidden and Wi-Fi scan will not find the device.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
  * @param[out]  visible  The visibility of SSID: (@c true = visible, @c false = invisible)
- * @return 0 on success, otherwise negative error value.
+ * @return 0 on success, otherwise negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval  #TETHERING_ERROR_OPERATION_FAILED  Operation failed
@@ -627,11 +808,15 @@ int tethering_wifi_set_ssid_visibility(tethering_h tethering, bool visible);
 int tethering_wifi_get_ssid_visibility(tethering_h tethering, bool *visible);
 
 /**
+ * @internal
  * @brief Sets the passphrase.
- * @remarks This change is applied next time Wi-Fi tethering is enabled
- * @param[in]  tethering  The handle of tethering
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @remarks This change is applied next time Wi-Fi tethering is enabled.
+ * @param[in]  tethering  The tethering handle
  * @param[in]  passphrase  The passphrase
- * @return 0 on success, otherwise negative error value.
+ * @return 0 on success, otherwise negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval  #TETHERING_ERROR_OPERATION_FAILED  Operation failed
@@ -640,11 +825,15 @@ int tethering_wifi_get_ssid_visibility(tethering_h tethering, bool *visible);
 int tethering_wifi_set_passphrase(tethering_h tethering, const char *passphrase);
 
 /**
+ * @internal
  * @brief Gets the passphrase.
- * @remarks @a passphrase must be released with free() by you.
- * @param[in]  tethering  The handle of tethering
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @remarks @a passphrase must be released using free().
+ * @param[in]  tethering  The tethering handle
  * @param[out]  passphrase  The passphrase
- * @return 0 on success, otherwise negative error value.
+ * @return 0 on success, otherwise negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval  #TETHERING_ERROR_OUT_OF_MEMORY  Out of memory
@@ -654,21 +843,196 @@ int tethering_wifi_set_passphrase(tethering_h tethering, const char *passphrase)
 int tethering_wifi_get_passphrase(tethering_h tethering, char **passphrase);
 
 /**
+ * @internal
+ * @brief Reloads the settings (SSID / Passphrase / Security type / SSID visibility).
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @remarks Connected devices via Wi-Fi tethering or MobileAP will be disconnected when the settings are reloaded.
+ * @param[in]  tethering  The tethering handle
+ * @param[in]  callback  The callback function to invoke
+ * @param[in]  user_data  The user data to be passed to the callback function
+ * @return 0 on success, otherwise negative error value
+ * @retval  #TETHERING_ERROR_NONE  Successful
+ * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval  #TETHERING_ERROR_OPERATION_FAILED  Operation failed
+ */
+int tethering_wifi_reload_settings(tethering_h tethering, tethering_wifi_settings_reloaded_cb callback, void *user_data);
+
+/**
+ * @internal
+ * @brief Sets the security type of Wi-Fi AP.
+ * @details If security type is not set, WPA2_PSK is used.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
+ * @param[in]  type  The security type
+ * @return 0 on success, otherwise negative error value
+ * @retval  #TETHERING_ERROR_NONE  Successful
+ * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval  #TETHERING_ERROR_OPERATION_FAILED  Operation failed
+ * @see  tethering_wifi_ap_get_security_type()
+ */
+int tethering_wifi_ap_set_security_type(tethering_h tethering, tethering_wifi_security_type_e type);
+
+/**
+ * @internal
+ * @brief Gets the security type of Wi-Fi AP.
+ * @details If security type is not set, WPA2_PSK is used.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
+ * @param[out]  type  The security type
+ * @return 0 on success, otherwise negative error value
+ * @retval  #TETHERING_ERROR_NONE  Successful
+ * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @see  tethering_wifi_ap_set_security_type()
+ */
+int tethering_wifi_ap_get_security_type(tethering_h tethering, tethering_wifi_security_type_e *type);
+
+/**
+ * @internal
+ * @brief Sets the SSID (service set identifier) for Wi-Fi AP.
+ * @details The SSID cannot exceed 32 bytes. If SSID is not set, device name is used as SSID.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
+ * @param[in]  ssid  The SSID
+ * @return 0 on success, otherwise negative error value
+ * @retval  #TETHERING_ERROR_NONE  Successful
+ * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval  #TETHERING_ERROR_OUT_OF_MEMORY  Out of memory
+ */
+int tethering_wifi_ap_set_ssid(tethering_h tethering, const char *ssid);
+
+/**
+ * @internal
+ * @brief Gets the SSID (service set identifier) for Wi-Fi AP.
+ * @details If SSID is not set, Device name is used as SSID.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @remarks @a ssid must be released using free().
+ * @param[in]  tethering  The tethering handle
+ * @param[out]  ssid  The SSID
+ * @return 0 on success, otherwise negative error value
+ * @retval  #TETHERING_ERROR_NONE  Successful
+ * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval  #TETHERING_ERROR_OUT_OF_MEMORY  Out of memory
+ */
+int tethering_wifi_ap_get_ssid(tethering_h tethering, char **ssid);
+
+/**
+ * @internal
+ * @brief Sets the visibility of SSID (service set identifier) for Wi-Fi AP.
+ * @details If you set the visibility to invisible, then the SSID of this device is hidden and Wi-Fi scan won't find your device.
+ * @details By default visibility is set to @c true.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @remarks This change is applied next time Wi-Fi tethering is enabled.
+ * @param[in]  tethering  The tethering handle
+ * @param[in]  visible  The visibility of SSID: (@c true = visible, @c false = invisible)
+ * @return 0 on success, otherwise negative error value
+ * @retval  #TETHERING_ERROR_NONE  Successful
+ * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval  #TETHERING_ERROR_OPERATION_FAILED  Operation failed
+ * @see  tethering_wifi_ap_get_ssid_visibility()
+ */
+int tethering_wifi_ap_set_ssid_visibility(tethering_h tethering, bool visible);
+
+/**
+ * @internal
+ * @brief Gets the visibility of SSID (service set identifier) for Wi-Fi AP.
+ * @details If the visibility is set to invisible, then the SSID of this device is hidden and Wi-Fi scan won't find your device.
+ * @details By default visibility is set to @c true.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
+ * @param[out]  visible  The visibility of SSID: (@c true = visible, @c false = invisible)
+ * @return 0 on success, otherwise negative error value
+ * @retval  #TETHERING_ERROR_NONE  Successful
+ * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @see  tethering_wifi_ap_set_ssid_visibility()
+ */
+int tethering_wifi_ap_get_ssid_visibility(tethering_h tethering, bool *visible);
+
+/**
+ * @internal
+ * @brief Sets the passphrase for Wi-Fi AP.
+ * @details If the passphrase is not set, random string of 8 characters will be used.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The tethering handle
+ * @param[in]  passphrase  The passphrase
+ * @return 0 on success, otherwise negative error value
+ * @retval  #TETHERING_ERROR_NONE  Successful
+ * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @see  tethering_wifi_ap_get_passphrase()
+ */
+int tethering_wifi_ap_set_passphrase(tethering_h tethering, const char *passphrase);
+
+/**
+ * @internal
+ * @brief Gets the passphrase for Wi-Fi AP.
+ * @details If the passphrase is not set, random string of 8 characters will be used.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @remarks @a passphrase must be released using free().
+ * @param[in]  tethering  The tethering handle
+ * @param[out]  passphrase  The passphrase
+ * @return 0 on success, otherwise negative error value
+ * @retval  #TETHERING_ERROR_NONE  Successful
+ * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval  #TETHERING_ERROR_OUT_OF_MEMORY  Out of memory
+ * @see  tethering_wifi_ap_set_passphrase()
+ */
+int tethering_wifi_ap_get_passphrase(tethering_h tethering, char **passphrase);
+
+/**
+ * @internal
+ * @brief Reloads the settings (SSID / Passphrase / Security type / SSID visibility) for Wi-Fi AP.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @remarks Devices connected via MobileAP will be disconnected when the settings are reloaded.
+ * @param[in]  tethering  The tethering handle
+ * @param[in]  callback  The callback function to invoke
+ * @param[in]  user_data  The user data to be passed to the callback function
+ * @return 0 on success, otherwise negative error value
+ * @retval  #TETHERING_ERROR_NONE  Successful
+ * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval  #TETHERING_ERROR_OPERATION_FAILED  Operation failed
+ */
+int tethering_wifi_ap_reload_settings(tethering_h tethering, tethering_wifi_ap_settings_reloaded_cb callback, void *user_data);
+
+/**
  * @}
  */
 
 
 /**
+ * @internal
  * @addtogroup CAPI_NETWORK_TETHERING_CLIENT_MODULE
  * @{
  */
 
 /**
- * @brief  Clones the handle of client.
- * @remarks  The @cloned_client must be release tethering_client_destroy() by you.
+ * @internal
+ * @brief Clones the handle of a client.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @remarks @a dest must be release using tethering_client_destroy().
  * @param[out]  dest  The cloned client handle
  * @param[in]  origin  The origin client handle
- * @return  0 on success, otherwise a negative error value.
+ * @return  0 on success, otherwise a negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval  #TETHERING_ERROR_OUT_OF_MEMORY  Out of memory
@@ -677,9 +1041,13 @@ int tethering_wifi_get_passphrase(tethering_h tethering, char **passphrase);
 int tethering_client_clone(tethering_client_h *dest, tethering_client_h origin);
 
 /**
- * @brief  Destroys the handle of client.
- * @param[in]  client  The handle of client
- * @return  0 on success, otherwise a negative error value.
+ * @internal
+ * @brief Destroys the handle of a client.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in]  client  The client handle
+ * @return  0 on success, otherwise a negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @see  tethering_client_clone()
@@ -687,7 +1055,11 @@ int tethering_client_clone(tethering_client_h *dest, tethering_client_h origin);
 int tethering_client_destroy(tethering_client_h client);
 
 /**
+ * @internal
  * @brief  Gets the tethering type of client.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
  * @param[in]  client  The handle of client
  * @param[out]  type  The type of tethering
  * @return  0 on success, otherwise a negative error value.
@@ -699,11 +1071,15 @@ int tethering_client_destroy(tethering_client_h client);
 int tethering_client_get_tethering_type(tethering_client_h client, tethering_type_e *type);
 
 /**
- * @brief  Gets the name of client.
- * @remarks @a name must be released with free() by you.
- * @param[in]  client  The handle of client
- * @param[out]  name  The name of client
- * @return  0 on success, otherwise a negative error value.
+ * @internal
+ * @brief Gets the name of a client.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @remarks @a name must be released using free().
+ * @param[in]  client  The client handle
+ * @param[out]  name  The name of the client
+ * @return  0 on success, otherwise a negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval  #TETHERING_ERROR_OUT_OF_MEMORY  Out of memory
@@ -713,12 +1089,16 @@ int tethering_client_get_tethering_type(tethering_client_h client, tethering_typ
 int tethering_client_get_name(tethering_client_h client, char **name);
 
 /**
- * @brief  Gets the IP address of client.
- * @remarks @a ip_address must be released with free() by you.
- * @param[in]  client  The handle of client
- * @param[in]  address_family  The address family of IP address. Currently, #TETHERING_ADDRESS_FAMILY_IPV4 is only supported.
+ * @internal
+ * @brief Gets the IP address of a client.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @remarks @a ip_address must be released using free().
+ * @param[in]  client  The client handle
+ * @param[in]  address_family  The address family of IP address. Currently, #TETHERING_ADDRESS_FAMILY_IPV4 is only supported
  * @param[out]  ip_address  The IP address
- * @return  0 on success, otherwise a negative error value.
+ * @return  0 on success, otherwise a negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval  #TETHERING_ERROR_OUT_OF_MEMORY  Out of memory
@@ -728,11 +1108,15 @@ int tethering_client_get_name(tethering_client_h client, char **name);
 int tethering_client_get_ip_address(tethering_client_h client, tethering_address_family_e address_family, char **ip_address);
 
 /**
- * @brief  Gets the MAC address of client such as "FC:A1:3E:D6:B1:B1".
- * @remarks @a mac_address must be released with free() by you.
- * @param[in]  client  The handle of client
+ * @internal
+ * @brief Gets the MAC address of a client such as "FC:A1:3E:D6:B1:B1".
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @remarks @a mac_address must be released using free().
+ * @param[in]  client  The client handle
  * @param[out]  mac_address  The MAC address
- * @return  0 on success, otherwise a negative error value.
+ * @return  0 on success, otherwise a negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval  #TETHERING_ERROR_OUT_OF_MEMORY  Out of memory
@@ -742,10 +1126,14 @@ int tethering_client_get_ip_address(tethering_client_h client, tethering_address
 int tethering_client_get_mac_address(tethering_client_h client, char **mac_address);
 
 /**
- * @brief  Gets the connection time of client.
- * @param[in]  client  The handle of client
- * @param[out]  time  The connected time of client
- * @return  0 on success, otherwise a negative error value.
+ * @internal
+ * @brief Gets the connection time of a client.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/tethering.admin
+ * @param[in] client The client handle
+ * @param[out]  time  The connected time of the client
+ * @return  0 on success, otherwise a negative error value
  * @retval  #TETHERING_ERROR_NONE  Successful
  * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
  * @see  tethering_usb_get_connected_client()
index 84f1737..d614da1 100644 (file)
@@ -105,6 +105,7 @@ typedef enum {
        MOBILE_AP_ERROR_DHCP,                   /**< DHCP error */
        MOBILE_AP_ERROR_IN_PROGRESS,            /**< Request is in progress */
        MOBILE_AP_ERROR_NOT_PERMITTED,          /**< Operation is not permitted */
+       MOBILE_AP_ERROR_PERMISSION_DENIED,  /**< Permission Denied */
 
        MOBILE_AP_ERROR_MAX
 } mobile_ap_error_code_e;
@@ -134,6 +135,7 @@ typedef enum {
        MOBILE_AP_TYPE_WIFI,
        MOBILE_AP_TYPE_USB,
        MOBILE_AP_TYPE_BT,
+       MOBILE_AP_TYPE_WIFI_AP,
        MOBILE_AP_TYPE_MAX,
 } mobile_ap_type_e;
 
index d536532..6a00912 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-network-tethering
 Summary:    Tethering Framework
-Version:    0.0.15
+Version:    0.0.16
 Release:    1
 Group:      Connectivity/API
 License:    Apache-2.0
index 33578c6..c0b316b 100644 (file)
@@ -131,10 +131,6 @@ static const char *__convert_disabled_code_to_str(const tethering_disabled_cause
                strncpy(str_buf, "disabled due to timeout", sizeof(str_buf));
                break;
 
-       case TETHERING_DISABLED_BY_MDM_ON:
-               strncpy(str_buf, "disabled due to mdm on", sizeof(str_buf));
-               break;
-
        case TETHERING_DISABLED_BY_OTHERS:
                strncpy(str_buf, "disabled by other apps", sizeof(str_buf));
                break;