Add MAC filtering APIs (description) 28/54028/6
authorSeonah Moon <seonah1.moon@samsung.com>
Fri, 11 Dec 2015 01:00:54 +0000 (10:00 +0900)
committerseonah moon <seonah1.moon@samsung.com>
Wed, 6 Jan 2016 07:50:13 +0000 (23:50 -0800)
Change-Id: I40d1b5d63cf21feb36066640e6cdb8337a115125
Signed-off-by: Seonah Moon <seonah1.moon@samsung.com>
include/tethering.h

index 738f447..c768ca5 100644 (file)
@@ -251,7 +251,7 @@ typedef void (*tethering_wifi_ap_settings_reloaded_cb)(tethering_error_e result,
  * @brief Creates the handle for tethering.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -267,7 +267,7 @@ int tethering_create(tethering_h *tethering);
  * @brief Destroys the handle for tethering.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -280,7 +280,7 @@ int tethering_destroy(tethering_h tethering);
  * @brief Enables the tethering, asynchronously.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -296,7 +296,7 @@ int tethering_enable(tethering_h tethering, tethering_type_e type);
  * @brief Disables the tethering, asynchronously.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -312,7 +312,7 @@ int tethering_disable(tethering_h tethering, tethering_type_e type);
  * @brief Checks whether the tethering is enabled or not.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -323,7 +323,7 @@ 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".
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -344,7 +344,7 @@ int tethering_get_mac_address(tethering_h tethering, tethering_type_e type, char
  * @brief Gets the name of network interface (e.g. usb0).
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -365,7 +365,7 @@ int tethering_get_network_interface_name(tethering_h tethering, tethering_type_e
  * @brief Gets the local IP address.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -387,7 +387,7 @@ int tethering_get_ip_address(tethering_h tethering, tethering_type_e type, tethe
  * @brief Gets the Gateway address.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -409,7 +409,7 @@ int tethering_get_gateway_address(tethering_h tethering, tethering_type_e type,
  * @brief Gets the Subnet Mask.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -431,7 +431,7 @@ int tethering_get_subnet_mask(tethering_h tethering, tethering_type_e type, teth
  * @brief Gets the data usage.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -449,7 +449,7 @@ int tethering_get_data_usage(tethering_h tethering, tethering_data_usage_cb call
  * @brief Gets the clients which are connected.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -468,7 +468,7 @@ int tethering_foreach_connected_clients(tethering_h tethering, tethering_type_e
  * @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
+ * @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
@@ -483,7 +483,7 @@ int tethering_set_enabled_cb(tethering_h tethering, tethering_type_e type, tethe
  * @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
+ * @privilege %http://tizen.org/privilege/tethering.admin
  * @param[in]  tethering  The tethering handle
  * @param[in]  type  The tethering type
  * @retval  #TETHERING_ERROR_NONE  Successful
@@ -496,7 +496,7 @@ int tethering_unset_enabled_cb(tethering_h tethering, tethering_type_e type);
  * @brief Registers the callback function called when tethering is disabled.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -511,7 +511,7 @@ int tethering_set_disabled_cb(tethering_h tethering, tethering_type_e type, teth
  * @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
+ * @privilege %http://tizen.org/privilege/tethering.admin
  * @param[in]  tethering  The tethering handle
  * @param[in]  type  The tethering type
  * @retval  #TETHERING_ERROR_NONE  Successful
@@ -524,7 +524,7 @@ int tethering_unset_disabled_cb(tethering_h tethering, tethering_type_e type);
  * @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
+ * @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
@@ -539,7 +539,7 @@ int tethering_set_connection_state_changed_cb(tethering_h tethering, tethering_t
  * @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
+ * @privilege %http://tizen.org/privilege/tethering.admin
  * @param[in]  tethering  The tethering handle
  * @param[in]  type  The tethering type
  * @retval  #TETHERING_ERROR_NONE  Successful
@@ -552,7 +552,7 @@ int tethering_unset_connection_state_changed_cb(tethering_h tethering, tethering
  * @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
+ * @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
@@ -566,7 +566,7 @@ int tethering_wifi_set_security_type_changed_cb(tethering_h tethering, tethering
  * @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
+ * @privilege %http://tizen.org/privilege/tethering.admin
  * @param[in]  tethering  The tethering handle
  * @param[in]  type  The tethering type
  * @retval  #TETHERING_ERROR_NONE  Successful
@@ -579,7 +579,7 @@ int tethering_wifi_unset_security_type_changed_cb(tethering_h tethering);
  * @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
+ * @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
@@ -593,7 +593,7 @@ int tethering_wifi_set_ssid_visibility_changed_cb(tethering_h tethering, tetheri
  * @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
+ * @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
@@ -605,7 +605,7 @@ int tethering_wifi_unset_ssid_visibility_changed_cb(tethering_h tethering);
  * @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
+ * @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
@@ -619,7 +619,7 @@ int tethering_wifi_set_passphrase_changed_cb(tethering_h tethering, tethering_wi
  * @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
+ * @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
@@ -641,7 +641,7 @@ int tethering_wifi_unset_passphrase_changed_cb(tethering_h tethering);
  * @brief Sets the security type of Wi-Fi tethering.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -657,7 +657,7 @@ int tethering_wifi_set_security_type(tethering_h tethering, tethering_wifi_secur
  * @brief Gets the security type of Wi-Fi tethering.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -673,7 +673,7 @@ int tethering_wifi_get_security_type(tethering_h tethering, tethering_wifi_secur
  * @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
+ * @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
@@ -688,7 +688,7 @@ int tethering_wifi_set_ssid(tethering_h tethering, const char *ssid);
  * @brief Gets the SSID (service set identifier).
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -705,7 +705,7 @@ int tethering_wifi_get_ssid(tethering_h tethering, char **ssid);
  * @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
+ * @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)
@@ -722,7 +722,7 @@ int tethering_wifi_set_ssid_visibility(tethering_h tethering, bool visible);
  * @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
+ * @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
@@ -737,7 +737,7 @@ int tethering_wifi_get_ssid_visibility(tethering_h tethering, bool *visible);
  * @brief Sets the passphrase.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -753,7 +753,7 @@ int tethering_wifi_set_passphrase(tethering_h tethering, const char *passphrase)
  * @brief Gets the passphrase.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -770,7 +770,7 @@ int tethering_wifi_get_passphrase(tethering_h tethering, char **passphrase);
  * @brief Reloads the settings (SSID / Passphrase / Security type / SSID visibility).
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -783,11 +783,150 @@ int tethering_wifi_get_passphrase(tethering_h tethering, char **passphrase);
 int tethering_wifi_reload_settings(tethering_h tethering, tethering_wifi_settings_reloaded_cb callback, void *user_data);
 
 /**
+ * @brief Gets the mac_filter for Wi-Fi Tethering.
+ * @details If you set the mac_filter to enable, then the device can be allowed/blocked based on mac-address.
+ * By default mac_filter is set to false.
+ * @since_tizen 3.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The handle of tethering
+ * @param[out]  mac_filter The mac filter: (@c true = enable, @c false = disable)
+ * @return 0 on success, otherwise negative error value.
+ * @retval  #TETHERING_ERROR_NONE  Successful
+ * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval  #TETHERING_ERROR_NOT_SUPPORTED  API is not supported
+ * @retval  #TETHERING_ERROR_PERMISSION_DENIED  Permission Denied
+ * @see  tethering_mobileap_set_mac_filter()
+ */
+int tethering_wifi_get_mac_filter(tethering_h tethering, bool *mac_filter);
+
+/**
+ * @brief Sets the mac-filter for Wi-Fi Tethering.
+ * @details If you set the mac_filter to enable, then the device can be allowed/blocked based on mac-address.
+ * By default mac_filter is set to @c false.
+ * @since_tizen 3.0
+ * @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]  mac_filter  The mac filter: (@c true = enable, @c false = disable)
+ * @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_SUPPORTED  API is not supported
+ * @retval  #TETHERING_ERROR_PERMISSION_DENIED  Permission Denied
+ * @see  tethering_mobileap_get_mac_filter()
+ */
+int tethering_wifi_set_mac_filter(tethering_h tethering, bool mac_filter);
+
+/**
+ * @brief Adds the mac-address to the allowed client list.
+ * @details AP can allow the client by adding clients mac-address to the allowed list.
+ * @since_tizen 3.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The handle of tethering
+ * @param[in]  mac  The mac address
+ * @return 0 on success, otherwise negative error value.
+ * @retval  #TETHERING_ERROR_NONE  Successful
+ * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval  #TETHERING_ERROR_NOT_SUPPORTED  API is not supported
+ * @retval  #TETHERING_ERROR_PERMISSION_DENIED  Permission Denied
+ * @see  tethering_mobileap_set_mac_filter()
+ */
+int tethering_wifi_add_allowed_mac_list(tethering_h tethering, const char *mac);
+
+/**
+ * @brief Removes the mac-address from the allowed client list.
+ * @details Removes the mac-address from the allowed client list.
+ * @since_tizen 3.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The handle of tethering
+ * @param[in]  mac  The mac address
+ * @return 0 on success, otherwise negative error value.
+ * @retval  #TETHERING_ERROR_NONE  Successful
+ * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval  #TETHERING_ERROR_NOT_SUPPORTED  API is not supported
+ * @retval  #TETHERING_ERROR_PERMISSION_DENIED  Permission Denied
+ * @see  tethering_mobileap_set_mac_filter()
+ */
+int tethering_wifi_remove_allowed_mac_list(tethering_h tethering, const char *mac);
+/**
+ * @brief Gets the mac-addresses from the allowed client list.
+ * @details Gets the mac-addresses from the allowed client list.
+ * @since_tizen 3.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The handle of tethering
+ * @param[out]  allowed_mac_list  list of allowed mac addresses list
+ * @return 0 on success, otherwise negative error value.
+ * @retval  #TETHERING_ERROR_NONE  Successful
+ * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval  #TETHERING_ERROR_NOT_SUPPORTED  API is not supported
+ * @retval  #TETHERING_ERROR_PERMISSION_DENIED  Permission Denied
+ * @see  tethering_mobileap_set_mac_filter()
+ */
+int tethering_wifi_get_allowed_mac_list(tethering_h tethering, void **allowed_mac_list);
+
+/**
+ * @brief Adds the mac-address to the blocked(black list) client list.
+ * @details AP can disallow the client by adding clients mac-address to the blocked list.
+ * @since_tizen 3.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The handle of tethering
+ * @param[in]  mac  The mac address
+ * @return 0 on success, otherwise negative error value.
+ * @retval  #TETHERING_ERROR_NONE  Successful
+ * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval  #TETHERING_ERROR_NOT_SUPPORTED  API is not supported
+ * @retval  #TETHERING_ERROR_PERMISSION_DENIED  Permission Denied
+ * @see  tethering_mobileap_set_mac_filter()
+ */
+int tethering_wifi_add_blocked_mac_list(tethering_h tethering, const char *mac);
+
+/**
+ * @brief Removes the mac-address from the blocked(black list) client list.
+ * @details Removes the mac-address from the blocked client list.
+ * @since_tizen 3.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The handle of tethering
+ * @param[in]  mac  The mac address
+ * @return 0 on success, otherwise negative error value.
+ * @retval  #TETHERING_ERROR_NONE  Successful
+ * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval  #TETHERING_ERROR_NOT_SUPPORTED  API is not supported
+ * @retval  #TETHERING_ERROR_PERMISSION_DENIED  Permission Denied
+ * @see  tethering_mobileap_set_mac_filter()
+ */
+int tethering_wifi_remove_blocked_mac_list(tethering_h tethering, const char *mac);
+
+/**
+ * @brief Gets the mac-addresses from the blocked client list.
+ * @details Get the mac-addresses from the blocked client list.
+ * @since_tizen 3.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/tethering.admin
+ * @param[in]  tethering  The handle of tethering
+ * @param[out]  blocked_mac_list  list of blocked mac addresses list
+ * @return 0 on success, otherwise negative error value.
+ * @retval  #TETHERING_ERROR_NONE  Successful
+ * @retval  #TETHERING_ERROR_INVALID_PARAMETER  Invalid parameter
+ * @retval  #TETHERING_ERROR_NOT_SUPPORTED  API is not supported
+ * @retval  #TETHERING_ERROR_PERMISSION_DENIED  Permission Denied
+ * @see  tethering_mobileap_set_mac_filter()
+ */
+int tethering_wifi_get_blocked_mac_list(tethering_h tethering, void **blocked_mac_list);
+
+/**
  * @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
+ * @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
@@ -803,7 +942,7 @@ int tethering_wifi_ap_set_security_type(tethering_h tethering, tethering_wifi_se
  * @details If security type is not set, WPA2_PSK is used.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -818,7 +957,7 @@ int tethering_wifi_ap_get_security_type(tethering_h tethering, tethering_wifi_se
  * @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
+ * @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
@@ -833,7 +972,7 @@ int tethering_wifi_ap_set_ssid(tethering_h tethering, const char *ssid);
  * @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
+ * @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
@@ -850,7 +989,7 @@ int tethering_wifi_ap_get_ssid(tethering_h tethering, char **ssid);
  * @details By default visibility is set to @c true.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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)
@@ -868,7 +1007,7 @@ int tethering_wifi_ap_set_ssid_visibility(tethering_h tethering, bool visible);
  * @details By default visibility is set to @c true.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -883,7 +1022,7 @@ int tethering_wifi_ap_get_ssid_visibility(tethering_h tethering, bool *visible);
  * @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
+ * @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
@@ -898,7 +1037,7 @@ int tethering_wifi_ap_set_passphrase(tethering_h tethering, const char *passphra
  * @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
+ * @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
@@ -914,7 +1053,7 @@ int tethering_wifi_ap_get_passphrase(tethering_h tethering, char **passphrase);
  * @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
+ * @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
@@ -940,7 +1079,7 @@ int tethering_wifi_ap_reload_settings(tethering_h tethering, tethering_wifi_ap_s
  * @brief Clones the handle of a client.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -956,7 +1095,7 @@ int tethering_client_clone(tethering_client_h *dest, tethering_client_h origin);
  * @brief Destroys the handle of a client.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -969,7 +1108,7 @@ int tethering_client_destroy(tethering_client_h client);
  * @brief  Gets the tethering type of client.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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.
@@ -984,7 +1123,7 @@ int tethering_client_get_tethering_type(tethering_client_h client, tethering_typ
  * @brief Gets the name of a client.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -1001,7 +1140,7 @@ int tethering_client_get_name(tethering_client_h client, char **name);
  * @brief Gets the IP address of a client.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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
@@ -1019,7 +1158,7 @@ int tethering_client_get_ip_address(tethering_client_h client, tethering_address
  * @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
+ * @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
@@ -1036,7 +1175,7 @@ int tethering_client_get_mac_address(tethering_client_h client, char **mac_addre
  * @brief Gets the connection time of a client.
  * @since_tizen 2.3
  * @privlevel platform
- * @privilege http://tizen.org/privilege/tethering.admin
+ * @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