+ * @brief Set the ip forward status
+ * @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
+ * @see tethering_get_ip_forward_status()
+ */
+API int tethering_set_ip_forward_status(tethering_h tethering, bool status)
+{
+ _retvm_if(tethering == NULL, TETHERING_ERROR_INVALID_PARAMETER,
+ "parameter(tethering) is NULL\n");
+
+ __tethering_h *th = (__tethering_h *)tethering;
+ DBusGProxy *proxy = th->client_bus_proxy;
+
+ org_tizen_tethering_set_ip_forward_status_async(proxy, status,
+ __ip_forward_cb, (gpointer)tethering);
+
+ return TETHERING_ERROR_NONE;
+}
+
+/**
+ * @brief Get the ip forward status
+ * @param[in] tethering The handle of tethering
+ * @param[out] status The ip forward status: (@c true = enable, @c false = disable)
+ * @retval #TETHERING_ERROR_NONE Successful
+ * @retval #TETHERING_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #TETHERING_ERROR_OPERATION_FAILED Operation failed
+ * @see tethering_set_ip_forward_status()
+ */
+API int tethering_get_ip_forward_status(tethering_h tethering, bool *status)
+{
+ _retvm_if(tethering == NULL, TETHERING_ERROR_INVALID_PARAMETER,
+ "parameter(tethering) is NULL\n");
+ _retvm_if(status == NULL, TETHERING_ERROR_INVALID_PARAMETER,
+ "parameter(status) is NULL\n");
+
+ __tethering_h *th = (__tethering_h *)tethering;
+ DBusGProxy *proxy = th->client_bus_proxy;
+ GError *error = NULL;
+ int forward_mode = 0;
+
+ org_tizen_tethering_get_ip_forward_status(proxy, &forward_mode, &error);
+ if (error != NULL) {
+ ERR("DBus fail : %s\n", error->message);
+ g_error_free(error);
+ return TETHERING_ERROR_OPERATION_FAILED;
+ }
+
+ if (forward_mode == 1)
+ *status = true;
+ else
+ *status = false;
+
+ return TETHERING_ERROR_NONE;
+}
+
+
+/**