Add API usage guide in doxygen report 32/146932/3 accepted/tizen/unified/20180126.042850 submit/tizen/20180125.231503
authorMilind Ramesh Murhekar <m.murhekar@samsung.com>
Thu, 31 Aug 2017 07:09:10 +0000 (12:39 +0530)
committerJiung <jiung.yu@samsung.com>
Thu, 25 Jan 2018 02:38:34 +0000 (11:38 +0900)
Decription: This patch adds the API usage code
snippet to demonstrate the functionality of all API's
in doxygen report of Wi-Fi Direct.

Change-Id: Id7cd139d9524efd1f585a4de1e328d1d78bffaff
Signed-off-by: Milind Ramesh Murhekar <m.murhekar@samsung.com>
include/wifi-direct.h

index d6c1804..16b14a6 100755 (executable)
@@ -669,6 +669,7 @@ typedef void (*wifi_direct_client_ip_address_assigned_cb) (const char *mac_addre
  * @param[in] service_state  The service discovery state
  * @param[in] service_type   Specifies the types of service
  * @param[in] response_data  Received response
+ * @param[in] mac_address    The MAC address of the connection peer
  * @param[in] user_data      User can transfer the user specific data in callback
  * @pre Either wifi_direct_start_service_discovery() or
  *      wifi_direct_cancel_service_discovery() will invoke this callback in the
@@ -715,6 +716,34 @@ typedef void (*wifi_direct_state_changed_cb) (wifi_direct_state_e state,
  * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY         Device or resource busy
  * @retval #WIFI_DIRECT_ERROR_NOT_SUPPORTED         Not supported
  * @see wifi_direct_deinitialize()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * void function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_initialize();
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to initialize\n");
+ *             return;
+ *     }
+ *
+ *     printf("Initialized Successfully\n");
+ * }
+ *
+ * int main()
+ * {
+ *     function(); // initialize Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // deinitizlize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_initialize(void);
 
@@ -729,6 +758,34 @@ int wifi_direct_initialize(void);
  * @retval #WIFI_DIRECT_ERROR_COMMUNICATION_FAILED  Communication failed
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * void function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_deinitialize();
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to deinitialize\n");
+ *             return;
+ *     }
+ *
+ *     printf("Deinitialized Successfully\n");
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // initialize Wi-Fi Direct
+ *     function(); // deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_deinitialize(void);
 
@@ -747,6 +804,61 @@ int wifi_direct_deinitialize(void);
  * @see wifi_direct_initialize()
  * @see wifi_direct_unset_device_state_changed_cb()
  * @see wifi_direct_device_state_changed_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * void callback(int error_code,
+ *               Wifi_direct_device_state_e device_state,
+ *               void *user_data)
+ * {
+ *     switch (device_state) {
+ *     case WIFI_DIRECT_DEVICE_STATE_ACTIVATED:
+ *             printf("device activated\n");
+ *
+ *             //Do stuff here when Wi-Fi Direct is activated
+ *
+ *             break;
+ *
+ *     case WIFI_DIRECT_DEVICE_STATE_DEACTIVATED:
+ *             printf("device deactivated\n");
+ *
+ *             //Do stuff here when Wi-Fi Direct is deactivated
+ *
+ *             break;
+ *
+ *     default:
+ *             break;
+ *     }
+ * }
+ *
+ * void function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_set_device_state_changed_cb(callback, NULL);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to register callback\n");
+ *             return;
+ *     }
+ *
+ *     printf("callback registered Successfully\n");
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // initialize Wi-Fi Direct
+ *     wifi_direct_activate(); // Activate Wi-Fi Direct
+ *     function();
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_set_device_state_changed_cb(wifi_direct_device_state_changed_cb cb, void *user_data);
 
@@ -761,6 +873,35 @@ int wifi_direct_set_device_state_changed_cb(wifi_direct_device_state_changed_cb
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
  * @see wifi_direct_set_device_state_changed_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * void function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_unset_device_state_changed_cb();
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to deregister callback\n");
+ *             return;
+ *     }
+ *
+ *     printf("callback deregistered Successfully\n");
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // initialize Wi-Fi Direct
+ *     function();
+ *     wifi_direct_deinitialize(); // deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_unset_device_state_changed_cb(void);
 
@@ -779,6 +920,68 @@ int wifi_direct_unset_device_state_changed_cb(void);
  * @see wifi_direct_initialize()
  * @see wifi_direct_unset_discovery_state_changed_cb()
  * @see wifi_direct_discovery_state_chagned_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * void callback(int error_code,
+ *               wifi_direct_discovery_state_e discovery_state,
+ *               void *user_data)
+ * {
+ *     switch(discovery_state) {
+ *     case WIFI_DIRECT_DISCOVERY_STARTED:
+ *             printf("Discovery started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_ONLY_LISTEN_STARTED:
+ *             printf("listen started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FINISHED:
+ *             printf("Discovery finished\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FOUND:
+ *             printf("peer devices found\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_LOST:
+ *             printf("Discovery lost\n");
+ *             break;
+ *
+ *     default:
+ *     break;
+ *     }
+ *
+ * }
+ *
+ * void function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_set_discovery_state_changed_cb(callback, NULL);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to register callback\n");
+ *             return;
+ *     }
+ *
+ *     printf("callback registered Successfully\n");
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // initialize Wi-Fi Direct
+ *     wifi_direct_activate(); // Activate Wi-Fi Direct
+ *     function();
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deintialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_set_discovery_state_changed_cb(wifi_direct_discovery_state_chagned_cb cb, void* user_data);
 
@@ -793,6 +996,37 @@ int wifi_direct_set_discovery_state_changed_cb(wifi_direct_discovery_state_chagn
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
  * @see wifi_direct_set_discovery_state_changed_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * void function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_unset_discovery_state_changed_cb();
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to deregister callback\n");
+ *             return;
+ *     }
+ *
+ *     printf("callback deregistered Successfully\n");
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // initialize Wi-Fi Direct
+ *     wifi_direct_activate(); // Activate Wi-FI Direct
+ *     function();
+ *     wifi_direct_deactivate(); // Deactivate Wi-FI Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_unset_discovery_state_changed_cb(void);
 
@@ -811,6 +1045,56 @@ int wifi_direct_unset_discovery_state_changed_cb(void);
  * @see wifi_direct_initialize()
  * @see wifi_direct_unset_peer_found_cb()
  * @see wifi_direct_peer_found_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * void callback(int error_code,
+ *               wifi_direct_discovery_state_e discovery_state,
+ *               const char *mac_address,
+ *               void *user_data)
+ *{
+ *     switch (discovery_state) {
+ *     case WIFI_DIRECT_DISCOVERY_FOUND:
+ *             printf("Peer found\n");
+ *             printf("MAC Address=%s\n", mac_address);
+ *
+ *             // Do stuff here for discovered devices
+ *
+ *     break;
+ *
+ *     default:
+ *             break;
+ *     }
+ *}
+ *
+ * void function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_set_peer_found_cb(callback, NULL);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to register callback\n");
+ *             return;
+ *     }
+ *
+ *     printf("callback registered Successfully\n");
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activate(); // Activate Wi-Fi Direct
+ *     function();
+ *     wifi_direct_deactivate(); // Deactivate Wi-FI Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_set_peer_found_cb(wifi_direct_peer_found_cb cb, void* user_data);
 
@@ -825,6 +1109,35 @@ int wifi_direct_set_peer_found_cb(wifi_direct_peer_found_cb cb, void* user_data)
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
  * @see wifi_direct_set_peer_found_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * void function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_unset_peer_found_cb();
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to deregister callback\n");
+ *             return;
+ *     }
+ *
+ *     printf("callback deregistered Successfully\n");
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     function();
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_unset_peer_found_cb(void);
 
@@ -843,6 +1156,132 @@ int wifi_direct_unset_peer_found_cb(void);
  * @see wifi_direct_initialize()
  * @see wifi_direct_unset_connection_state_changed_cb()
  * @see wifi_direct_connection_state_changed_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * void callback(int error_code,
+ *               wifi_direct_connection_state_e connection_state,
+ *               const char *mac_address,
+ *               void *user_data)
+ *{
+ *     char *ip;
+ *     bool owner;
+ *     int wps_mode;
+ *
+ *     switch (connection_state) {
+ *
+ *     case WIFI_DIRECT_CONNECTION_IN_PROGRESS:
+ *             printf("Connection in progress\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_CONNECTION_RSP:
+ *             if (error_code == WIFI_DIRECT_ERROR_NONE) {
+ *                     printf("Peer Device Connected\n"); // device is connected
+ *
+ *                     printf("MAC=%s\n", mac_address); // device's MAC address
+ *
+ *                     wifi_direct_get_ip_address(&ip);
+ *                     printf("IP=%s\n", ip); //device's IP address
+ *
+ *                     wifi_direct_is_group_owner(&owner);
+ *                     printf("Ownership=%s\n", (owner)? "GO":"STA"); // (GO or client role)
+ *
+ *             } else if (error_code == WIFI_DIRECT_ERROR_CONNECTION_TIME_OUT) {
+ *                     printf("Connection timeout occurred\n");
+ *             } else if (error_code == WIFI_DIRECT_ERROR_AUTH_FAILED) {
+ *                     printf("Connection authorization Failed\n");
+ *             } else
+ *                     printf("Connection failed\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_CONNECTION_WPS_REQ:
+ *
+ *             wifi_direct_get_local_wps_type(&wps_mode);
+ *
+ *             if (wps_mode == WIFI_DIRECT_WPS_TYPE_PBC) {
+ *                     printf("Connection type WPS PBC\n");
+ *                     // Handle WPS PBC case here
+ *             }
+ *
+ *             if (wps_mode == WIFI_DIRECT_WPS_TYPE_PIN_DISPLAY) {
+ *                     printf("Connection type WPS PIN DISPLAY\n");
+ *                     // Handle WPS PIN Display case here
+ *             }
+ *
+ *             if (wps_mode == WIFI_DIRECT_WPS_PIN_KEYPAD) {
+ *                     printf("Connection type WPS PIN KEYPAD\n");
+ *                     // Handle WPS PIN Keypad case here
+ *             }
+ *     break;
+ *
+ *     case WIFI_DIRECT_CONNECTION_REQ:
+ *             printf("Connection request from MAC %s\n", mac_address);
+ *
+ *             // Handle the connection request from peer device here
+ *             // 1. WPS PBC
+ *             // 2. WPS PIN Display
+ *             // 3. WPS PIN Keypad
+ *
+ *             wifi_direct_accept_connection(mac_address);
+ *     break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_IND:
+ *             if (error_code == WIFI_DIRECT_ERROR_NONE)
+ *                     printf("peer device disconnected MAC %s\n", mac_address);
+ *     break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_RSP:
+ *             if (error_code == WIFI_DIRECT_ERROR_NONE)
+ *                     printf("peer device disconnection response MAC %s\n", mac_address);
+ *     break;
+ *
+ *     case WIFI_DIRECT_CONNECTION_DISASSOCIATION_IND:
+ *             if (error_code == WIFI_DIRECT_ERROR_NONE)
+ *                     printf("peer device disassociation MAC %s\n", mac_address);
+ *     break;
+ *
+ *     case WIFI_DIRECT_GROUP_CREATED:
+ *             printf("Group Created\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_GROUP_DESTROYED:
+ *             printf("Group Destroyed\n");
+ *     break;
+ *
+ *     default:
+ *     break;
+ *     }
+ *}
+ *
+ * void function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_set_connection_state_changed_cb(callback,
+ *                                                    NULL);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to register callback\n");
+ *             return;
+ *     }
+ *
+ *     printf("callback registered Successfully\n");
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activate(); // Activate Wi-Fi Direct
+ *     function();
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_set_connection_state_changed_cb(wifi_direct_connection_state_changed_cb cb, void *user_data);
 
@@ -857,6 +1296,35 @@ int wifi_direct_set_connection_state_changed_cb(wifi_direct_connection_state_cha
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
  * @see wifi_direct_set_connection_state_changed_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * void function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_unset_connection_state_changed_cb();
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to deregister callback\n");
+ *             return;
+ *     }
+ *
+ *     printf("callback deregistered Successfully\n");
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     function();
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_unset_connection_state_changed_cb(void);
 
@@ -876,6 +1344,51 @@ int wifi_direct_unset_connection_state_changed_cb(void);
  * @see wifi_direct_initialize()
  * @see wifi_direct_unset_client_ip_address_assigned_cb()
  * @see wifi_direct_client_ip_address_assigned_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * void callback(const char *mac_address,
+ *               const char *ip_address,
+ *               const char *interface_address,
+ *               void *user_data);
+ *{
+ *     printf("IP Assigned to the client device\n");
+ *
+ *     printf("mac=%s\n", mac_address);
+ *     printf("ip=%s\n", ip_address);
+ *     printf("iface=%s\n", interface_address);
+ *}
+ *
+ * void function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_set_client_ip_address_assigned_cb(callback,
+ *                                                      NULL);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to register callback\n");
+ *             return;
+ *     }
+ *
+ *     printf("callback registered Successfully\n");
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activate(); // Activate Wi-Fi Direct
+ *     function();
+ *     wifi_direct_deactivate(); // deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_set_client_ip_address_assigned_cb(wifi_direct_client_ip_address_assigned_cb cb, void *user_data);
 
@@ -891,6 +1404,35 @@ int wifi_direct_set_client_ip_address_assigned_cb(wifi_direct_client_ip_address_
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
  * @see wifi_direct_set_connection_state_changed_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * void function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_unset_client_ip_address_assigned_cb();
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to deregister callback\n");
+ *             return;
+ *     }
+ *
+ *     printf("callback deregistered Successfully\n");
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     function();
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_unset_client_ip_address_assigned_cb(void);
 
@@ -909,6 +1451,80 @@ int wifi_direct_unset_client_ip_address_assigned_cb(void);
  * @see wifi_direct_initialize()
  * @see wifi_direct_unset_service_state_changed_cb()
  * @see wifi_direct_service_state_changed_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * void callback(int error_code,
+ *               wifi_direct_service_discovery_state_e discovery_state,
+ *               wifi_direct_service_type_e service_type,
+ *               void *response_data,
+ *               const char *mac_address,
+ *               void *user_data);
+ *{
+ *     switch (discovery_state) {
+ *     case WIFI_DIRECT_SERVICE_DISCOVERY_STARTED:
+ *             printf("Discovery Started\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_SERVICE_DISCOVERY_FINISHED:
+ *             printf("Discovery finished\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_SERVICE_DISCOVERY_FOUND:
+ *             printf("Discovery found\n");
+ *             if (mac_address != NULL)
+ *                     printf("Peer MAC=%s\n", mac_address);
+ *
+ *             if (response_data != NULL)
+ *                     printf("Peer response=%s\n", (char *)response_data);
+ *
+ *             if (service_type == WIFI_DIRECT_SERVICE_TYPE_ALL)
+ *                     printf("service type all\n");
+ *             if (service_type == WIFI_DIRECT_SERVICE_TYPE_BONJOUR)
+ *                     printf("service type bonjour\n");
+ *             if (service_type == WIFI_DIRECT_SERVICE_TYPE_UPNP)
+ *                     printf("service type UPNP\n");
+ *             if (service_type == WIFI_DIRECT_SERVICE_TYPE_BT_ADDR)
+ *                     printf("service type BT_ADDR\n");
+ *             if (service_type == WIFI_DIRECT_SERVICE_TYPE_CONTACT_INFO)\
+ *                     printf("service type contact info\n");
+ *     break;
+ *
+ *     default:
+ *     break;
+ *     }
+ *}
+ *
+ * void function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_set_service_state_changed_cb(callback,
+ *                                                 NULL);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to register callback\n");
+ *             return;
+ *     }
+ *
+ *     printf("callback registered Successfully\n");
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activate(); // Activate Wi-Fi Direct
+ *     function();
+ *     wifi_direct_deactivate(); // deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_set_service_state_changed_cb(wifi_direct_service_state_changed_cb cb, void *user_data);
 
@@ -923,6 +1539,35 @@ int wifi_direct_set_service_state_changed_cb(wifi_direct_service_state_changed_c
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
  * @see wifi_direct_set_service_state_changed_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * void function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_unset_service_state_changed_cb();
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to deregister callback\n");
+ *             return;
+ *     }
+ *
+ *     printf("callback deregistered Successfully\n");
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     function();
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_unset_service_state_changed_cb(void);
 
@@ -938,6 +1583,66 @@ int wifi_direct_unset_service_state_changed_cb(void);
  * @retval #WIFI_DIRECT_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval #WIFI_DIRECT_ERROR_OPERATION_FAILED   Operation Failed
  * @see wifi_direct_unset_state_changed_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * char* print_link_state(wifi_direct_state_e state)
+ * {
+ *     if (state == WIFI_DIRECT_STATE_DEACTIVATED)
+ *             return "DEACTIVATED";
+ *     if (state == WIFI_DIRECT_STATE_ACTIVATING)
+ *             return "ACTIVATING";
+ *     if (state == WIFI_DIRECT_STATE_ACTIVATED)
+ *             return "ACTIVATED";
+ *     if (state == WIFI_DIRECT_STATE_DISCOVERING)
+ *             return "DISCOVERING";
+ *     if (state == WIFI_DIRECT_STATE_CONNECTING)
+ *             return "CONNECTING";
+ *     if (state == WIFI_DIRECT_STATE_DISCONNECTING)
+ *             return "DISCONNECTING";
+ *     if (state == WIFI_DIRECT_STATE_CONNECTED)
+ *             return "CONNECTED";
+ *     if (state == WIFI_DIRECT_STATE_GROUP_OWNER)
+ *             return "GROUP OWNER";
+ *     return "Unknown state";
+ * }
+ *
+ * void callback(wifi_direct_state_e state,
+ *               void *user_data);
+ * {
+ *     printf("State changed [%s]\n", print_link_state(state));
+ * }
+ *
+ * void function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_set_state_changed_cb(callback,
+ *                                          NULL);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to register callback\n");
+ *             return;
+ *     }
+ *
+ *     printf("callback registered Successfully\n");
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activate(); // Activate Wi-Fi Direct
+ *     function();
+ *     wifi_direct_deactivate(); // deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_set_state_changed_cb(wifi_direct_state_changed_cb cb, void *user_data);
 
@@ -951,6 +1656,35 @@ int wifi_direct_set_state_changed_cb(wifi_direct_state_changed_cb cb, void *user
  * @retval #WIFI_DIRECT_ERROR_OPERATION_FAILED  Operation Failed
  * @see wifi_direct_initialize()
  * @see wifi_direct_set_state_changed_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * void function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_unset_state_changed_cb();
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to deregister callback\n");
+ *             return;
+ *     }
+ *
+ *     printf("callback deregistered Successfully\n");
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     function();
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_unset_state_changed_cb(void);
 
@@ -977,6 +1711,38 @@ int wifi_direct_unset_state_changed_cb(void);
  * @see wifi_direct_initialize()
  * @see wifi_direct_deactivate()
  * @see wifi_direct_device_state_changed_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_activate(); // Activate Wi-Fi Direct
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to activate Wi-Fi Direct\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("Wi-Fi Direct Activated\n");
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     function();
+ *     wifi_direct_deactivate(); // deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_activate(void);
 
@@ -1000,6 +1766,38 @@ int wifi_direct_activate(void);
  * @post wifi_direct_device_state_changed_cb() will be invoked.
  * @see wifi_direct_activate()
  * @see wifi_direct_device_state_changed_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to deactivate Wi-Fi Direct\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("Wi-Fi Direct Deactivated\n");
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activated Wi-Fi Direct
+ *     function();
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_deactivate(void);
 
@@ -1042,6 +1840,73 @@ int wifi_direct_deactivate(void);
  * @see wifi_direct_activate()
  * @see wifi_direct_cancel_discovery()
  * @see wifi_direct_discovery_state_chagned_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * void callback(int error_code,
+ *               wifi_direct_discovery_state_e discovery_state,
+ *               void *user_data)
+ * {
+ *     switch(discovery_state) {
+ *     case WIFI_DIRECT_DISCOVERY_STARTED:
+ *             printf("Discovery started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_ONLY_LISTEN_STARTED:
+ *             printf("listen started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FINISHED:
+ *             printf("Discovery finished\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FOUND:
+ *             printf("peer devices found\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_LOST:
+ *             printf("Discovery lost\n");
+ *             break;
+ *
+ *     default:
+ *     break;
+ *     }
+ * }
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_start_discovery(TRUE, 15); // Start discovery with listen only
+ *
+ * if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to start scan\n");
+ *             return -1;
+ *     }
+ *
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_discovery_state_changed_cb(callback,
+ *                                              NULL); // Register callback
+ *     wifi_direct_activated(); // Activated Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_discovery_state_changed_cb(); // Deregister callback
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_start_discovery(bool listen_only, int timeout);
 
@@ -1092,6 +1957,74 @@ int wifi_direct_start_discovery(bool listen_only, int timeout);
  * @see wifi_direct_activate()
  * @see wifi_direct_cancel_discovery()
  * @see wifi_direct_discovery_state_chagned_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * void callback(int error_code,
+ *               wifi_direct_discovery_state_e discovery_state,
+ *               void *user_data)
+ * {
+ *     switch(discovery_state) {
+ *     case WIFI_DIRECT_DISCOVERY_STARTED:
+ *             printf("Discovery started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_ONLY_LISTEN_STARTED:
+ *             printf("listen started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FINISHED:
+ *             printf("Discovery finished\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FOUND:
+ *             printf("peer devices found\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_LOST:
+ *             printf("Discovery lost\n");
+ *             break;
+ *
+ *     default:
+ *     break;
+ *     }
+ * }
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_start_discovery_specific_channel(TRUE, 15, // start discovery with 15sec timeout
+ *           WIFI_DIRECT_DISCOVERY_FULL_SCAN); // scan all channels
+ *
+ * if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to start scan\n");
+ *             return -1;
+ *     }
+ *
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_discovery_state_changed_cb(callback,
+ *                                              NULL); // Register callback
+ *     wifi_direct_activated(); // Activated Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_discovery_state_changed_cb(); // Deregister callback
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_start_discovery_specific_channel(bool listen_only, int timeout, wifi_direct_discovery_channel_e channel);
 
@@ -1134,6 +2067,74 @@ int wifi_direct_start_discovery_specific_channel(bool listen_only, int timeout,
  * @see wifi_direct_cancel_discovery()
  * @see wifi_direct_discovery_state_chagned_cb()
  * @see wifi_direct_discovered_peer_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * void callback(int error_code,
+ *               wifi_direct_discovery_state_e discovery_state,
+ *               void *user_data)
+ * {
+ *     switch(discovery_state) {
+ *     case WIFI_DIRECT_DISCOVERY_STARTED:
+ *             printf("Discovery started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_ONLY_LISTEN_STARTED:
+ *             printf("listen started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FINISHED:
+ *             printf("Discovery finished\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FOUND:
+ *             printf("peer devices found\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_LOST:
+ *             printf("Discovery lost\n");
+ *             break;
+ *
+ *     default:
+ *     break;
+ *     }
+ * }
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_start_discovery_specific_freq(TRUE, 15, // start discovery with 15sec timeout
+ *                                                  2437); // scan for 2437 MHz frequency (Channel 6)
+ *
+ * if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to start scan\n");
+ *             return -1;
+ *     }
+ *
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_discovery_state_changed_cb(callback,
+ *                                              NULL); // Register callback
+ *     wifi_direct_activated(); // Activated Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_discovery_state_changed_cb(); // Deregister callback
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_start_discovery_specific_freq(bool listen_only, int timeout, int frequency);
 
@@ -1161,6 +2162,73 @@ int wifi_direct_start_discovery_specific_freq(bool listen_only, int timeout, int
  * @see wifi_direct_start_discovery_specific_channel()
  * @see wifi_direct_start_discovery_specific_freq()
  * @see wifi_direct_discovery_state_chagned_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * void callback(int error_code,
+ *               wifi_direct_discovery_state_e discovery_state,
+ *               void *user_data)
+ * {
+ *     switch(discovery_state) {
+ *     case WIFI_DIRECT_DISCOVERY_STARTED:
+ *             printf("Discovery started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_ONLY_LISTEN_STARTED:
+ *             printf("listen started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FINISHED:
+ *             printf("Discovery finished\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FOUND:
+ *             printf("peer devices found\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_LOST:
+ *             printf("Discovery lost\n");
+ *             break;
+ *
+ *     default:
+ *     break;
+ *     }
+ * }
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_cancel_discovery(); // Cancel ongoing discovery
+ *
+ * if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to cancel discovery\n");
+ *             return -1;
+ *     }
+ *
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_discovery_state_changed_cb(callback, NULL); // Register callback
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *     wifi_direct_start_discovery(TRUE, 15); // Start discovery
+ *
+ *     function();
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_discovery_state_changed_cb(); // Deregister callback
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_cancel_discovery(void);
 
@@ -1168,7 +2236,6 @@ int wifi_direct_cancel_discovery(void);
 /**
  * @brief Called repeatedly when you get the information of discovered peers.
  * @since_tizen 2.3
- * @privlevel public
  * @remarks @a peer is valid only in this function.
  * @param[in] peer       The information of the discovered peer
  * @param[in] user_data  The user data passed from foreach function
@@ -1200,16 +2267,95 @@ typedef bool (*wifi_direct_discovered_peer_cb) (wifi_direct_discovered_peer_info
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
  * @see wifi_direct_discovered_peer_cb()
- */
-int wifi_direct_foreach_discovered_peers(wifi_direct_discovered_peer_cb callback, void *user_data);
-
-
-/**
- * @brief Connects to a specified peer, asynchronously.
- * @details This API connects to specified peer by automatically determining
- *          whether to perform group formation, join an existing group, invite, re-invoke a group.
- *          The decision is based on the current state of the peers (i.e. GO, STA, not connected)
- *          and the availability of persistent data.
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * void function_cb(wifi_direct_discovered_peer_info_s* peer,
+ *                                           void *user_data)
+ * {
+ *     if (peer)
+ *             printf("peer device=%s MAC=%s\n", peer->device_name, peer->mac_address);
+ * }
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_foreach_discovered_peers(function_cb, NULL); // get discovered peer devices info
+ *
+ * if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get discovered peers\n");
+ *             return -1;
+ *     }
+ *
+ *     return 0;
+ * }
+ *
+ * void callback(int error_code,
+ *               wifi_direct_discovery_state_e discovery_state,
+ *               void *user_data)
+ * {
+ *     switch(discovery_state) {
+ *     case WIFI_DIRECT_DISCOVERY_STARTED:
+ *             printf("Discovery started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_ONLY_LISTEN_STARTED:
+ *             printf("listen started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FINISHED:
+ *             printf("Discovery finished\n");
+ *
+ *             function();
+ *
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FOUND:
+ *             printf("peer devices found\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_LOST:
+ *             printf("Discovery lost\n");
+ *             break;
+ *
+ *     default:
+ *     break;
+ *     }
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_discovery_state_changed_cb(callback, NULL); // Register callback
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *     wifi_direct_start_discovery(TRUE, 15); // Start discovery
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_discovery_state_changed_cb(); // Deregister callback
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
+ */
+int wifi_direct_foreach_discovered_peers(wifi_direct_discovered_peer_cb callback, void *user_data);
+
+
+/**
+ * @brief Connects to a specified peer, asynchronously.
+ * @details This API connects to specified peer by automatically determining
+ *          whether to perform group formation, join an existing group, invite, re-invoke a group.
+ *          The decision is based on the current state of the peers (i.e. GO, STA, not connected)
+ *          and the availability of persistent data.
  * @since_tizen 2.3
  * @privlevel public
  * @privilege http://tizen.org/privilege/wifidirect
@@ -1234,6 +2380,117 @@ int wifi_direct_foreach_discovered_peers(wifi_direct_discovered_peer_cb callback
  * @see wifi_direct_disconnect()
  * @see wifi_direct_disconnect_all()
  * @see wifi_direct_connection_state_changed_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * bool device_selected = false;
+ *
+ * void peers_cb(wifi_direct_discovered_peer_info_s* peer,
+ *                                           void *user_data)
+ * {
+ *     if (peer && !device_selected) {
+ *             printf("peer device=%s MAC=%s\n", peer->device_name, peer->mac_address);
+ *
+ *             device_selected = true;
+ *
+ *             function(peer->mac_address); // Connect to the first discovered peer
+ *     }
+ * }
+ *
+ * int function(const char *mac)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_connect(mac); // connect to the peer device
+ *
+ * if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to connect the peer\n");
+ *             return -1;
+ *     }
+ *
+ *     return 0;
+ * }
+ *
+ * void callback_2(int error_code,
+ *                 wifi_direct_connection_state_e state,
+ *                 const char *mac, void *user_data)
+ *{
+ *     switch (state) {
+ *     case WIFI_DIRECT_CONNECTION_IN_PROGRESS:
+ *             printf("Connection in progress\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_CONNECTON_RSP:
+ *             printf("Connected\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_IND:
+ *             printf("Disconnection IND\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_RSP;
+ *             printf("Disconnected\n");
+ *     break;
+ *     }
+ * }
+ *
+ * void callback_1(int error_code,
+ *               wifi_direct_discovery_state_e discovery_state,
+ *               void *user_data)
+ * {
+ *     switch(discovery_state) {
+ *     case WIFI_DIRECT_DISCOVERY_STARTED:
+ *             printf("Discovery started\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_ONLY_LISTEN_STARTED:
+ *             printf("listen started\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FINISHED:
+ *             printf("Discovery finished\n");
+ *
+ *     wifi_direct_foreach_discovered_peers(peers_cb,
+ *                                        NULL); // Get discovered peer
+ *     break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FOUND:
+ *             printf("peer devices found\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_LOST:
+ *             printf("Discovery lost\n");
+ *     break;
+ *
+ *     default:
+ *     break;
+ *     }
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_discovery_state_changed_cb(callback_1, NULL); // Register callback 1
+ *     wifi_direct_set_connection_state_changed_cb(callback_2, NULL); // Register callback 2
+ *
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *     wifi_direct_start_discovery(TRUE, 15); // Start discovery
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_discovery_state_changed_cb(); // Deregister callback
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_connect(char *mac_address);
 
@@ -1244,6 +2501,8 @@ int wifi_direct_connect(char *mac_address);
  * @privlevel public
  * @privilege http://tizen.org/privilege/wifidirect
  * @param[in] mac_address  The MAC address of rejected device
+ * @return @c 0 on success,
+ *         otherwise a negative error value
  * @retval #WIFI_DIRECT_ERROR_NONE                  Successful
  * @retval #WIFI_DIRECT_ERROR_OPERATION_FAILED      Operation failed
  * @retval #WIFI_DIRECT_ERROR_COMMUNICATION_FAILED  Communication failed
@@ -1252,6 +2511,140 @@ int wifi_direct_connect(char *mac_address);
  * @retval #WIFI_DIRECT_ERROR_NOT_SUPPORTED         Not supported
  * @retval #WIFI_DIRECT_ERROR_NOT_INITIALIZED       Not initialized
  * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY         Device or resource busy
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * bool peer_selected = false;
+ * int connection_timeout = 0;
+ * int count = 0; // counter to wait for connection
+ *
+ * int function(char *mac);
+ *
+ * gboolean connection_timeout_cb(gpointer data)
+ * {
+ *     char *mac = (char *)data;
+ *
+ *     if (count < 3) {
+ *             count++;
+ *             return TRUE;
+ *     }
+ *
+ *     function(mac); // cancel ongoing connection
+ *     g_free(mac);
+ *     return FALSE;
+ * }
+ *
+ * void peers_cb(wifi_direct_discovered_peer_info_s* peer,
+ *                                           void *user_data)
+ * {
+ *     char *mac;
+ *
+ *     if (peer && !peer_selected) {
+ *             printf("peer device=%s MAC=%s\n", peer->device_name, peer->mac_address);
+ *
+ *             mac = g_strdup(peer->mac_address);
+ *             peer_selected = true;
+ *
+ *             wifi_direct_connect(mac); // Connect to the selected peer
+ *             connection_timeout = g_timeout_add(1000,
+ *                                         connection_timeout_cb,
+ *                                         mac); // Add 3secs timeout
+ *     }
+ * }
+ *
+ * int function(char *mac)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_cancel_connection(mac); // cancel connection
+ *
+ * if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to cancel the ongoing connection\n");
+ *             return -1;
+ *     }
+ *
+ *     return 0;
+ * }
+ *
+ * void callback_2(int error_code,
+ *                 wifi_direct_connection_state_e state,
+ *                 const char *mac, void *user_data)
+ *{
+ *     switch (state) {
+ *     case WIFI_DIRECT_CONNECTION_IN_PROGRESS:
+ *             printf("Connection in progress\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_CONNECTON_RSP:
+ *             printf("Connected\n");
+ *             g_source_remove(connection_timeout);
+ *     break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_IND:
+ *             printf("Disconnection IND\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_RSP;
+ *             printf("Disconnected\n");
+ *     break;
+ * }
+ *}
+ *
+ * void callback_1(int error_code,
+ *               wifi_direct_discovery_state_e discovery_state,
+ *               void *user_data)
+ * {
+ *     switch(discovery_state) {
+ *     case WIFI_DIRECT_DISCOVERY_STARTED:
+ *             printf("Discovery started\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_ONLY_LISTEN_STARTED:
+ *             printf("listen started\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FINISHED:
+ *             printf("Discovery finished\n");
+ *
+ *     wifi_direct_foreach_discovered_peers(peers_cb,
+ *                                        NULL); // Get discovered peer
+ *     break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FOUND:
+ *             printf("peer devices found\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_LOST:
+ *             printf("Discovery lost\n");
+ *     break;
+ *
+ *     default:
+ *     break;
+ *     }
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_discovery_state_changed_cb(callback_1, NULL); // Register callback 1
+ *     wifi_direct_set_connection_state_changed_cb(callback_2, NULL); // Register callback 2
+ *
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *     wifi_direct_start_discovery(TRUE, 15); // Start discovery
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_connection_state_changed_cb(); // Deregister callback 2
+ *     wifi_direct_unset_discovery_state_changed_cb(); // Deregister callback 1
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_cancel_connection(char *mac_address);
 
@@ -1276,6 +2669,68 @@ int wifi_direct_cancel_connection(char *mac_address);
  * @see wifi_direct_activate()
  * @see wifi_direct_disconnect()
  * @see wifi_direct_connection_state_changed_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * void callback(int error_code,
+ *               wifi_direct_connection_state_e state,
+ *               const char *mac, void *user_data)
+ *{
+ *     switch (state) {
+ *     case WIFI_DIRECT_CONNECTION_IN_PROGRESS:
+ *             printf("Connection in progress\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_CONNECTON_RSP:
+ *             printf("Connected\n");
+ * break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_IND:
+ *             printf("Disconnection IND\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_RSP;
+ *             printf("Disconnected\n"); // disconnect notification
+ *     break;
+ * }
+ *}
+ *
+ * int function(void)
+ * {
+ *     int res;
+ *
+ *     res = wifi_direct_disconnect_all(); // disconnect all the connected peers
+ *
+ * if (res != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to disconnect all clients\n");
+ *             return -1;
+ * }
+ *
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_connection_state_changed_cb(callback, NULL); // Register callback
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct *
+ *
+ * function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_connection_state_changed_cb(); // Deregister callback
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_disconnect_all(void);
 
@@ -1302,6 +2757,84 @@ int wifi_direct_disconnect_all(void);
  * @see wifi_direct_activate()
  * @see wifi_direct_disconnect()
  * @see wifi_direct_connection_state_changed_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * bool callback_2(wifi_direct_connected_peer_info_s* peer,
+ *                 void* user_data)
+ * {
+ *     if (peer) {
+ *             printf("connected device=%s mac=%s\n",
+ *                    peer->device_name, peer->mac_address);
+ *     }
+ * }
+ *
+ * void callback_1(int error_code,
+ *               wifi_direct_connection_state_e state,
+ *               const char *mac, void *user_data)
+ *{
+ *     switch (state) {
+ *     case WIFI_DIRECT_CONNECTION_IN_PROGRESS:
+ *             printf("Connection in progress\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_CONNECTON_RSP:
+ *             printf("Connected\n");
+ * break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_IND:
+ *             printf("Disconnection IND\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_RSP;
+ *             printf("Disconnected mac=%s\n", mac_address); // disconnect notification
+ *     break;
+ * }
+ *}
+ *
+ * int function(char *mac)
+ * {
+ *     int res;
+ *
+ *     res = wifi_direct_disconnect(mac); // disconnect the connected peer with input mac
+ *
+ * if (res != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to disconnect all clients\n");
+ *             return -1;
+ * }
+ *
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     char mac[16] = {0,};
+ *
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_connection_state_changed_cb(callback_1, NULL); // Register callback_1
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct *
+ *
+ *     wifi_direct_foreach_connected_peers(callback_2, NULL); // Register callback_2
+ *
+ *     printf("Enter the connected peer mac address\n");
+ *     read(stdin, mac, 15);
+ *
+ *     function(mac);
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_connection_state_changed_cb(); // Deregister callback
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_disconnect(char *mac_address);
 
@@ -1340,6 +2873,52 @@ typedef bool (*wifi_direct_connected_peer_cb) (wifi_direct_connected_peer_info_s
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
  * @see wifi_direct_discovered_peer_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * bool callback_1(wifi_direct_connected_peer_info_s* peer,
+ *                 void* user_data)
+ * {
+ *     if (peer) {
+ *             printf("connected device=%s mac=%s\n",
+ *                    peer->device_name, peer->mac_address);
+ *     }
+ * }
+ *
+ * int function(char *mac)
+ * {
+ *     int res;
+ *
+ *     res = wifi_direct_foreach_connected_peers(callback_1, NULL) // Get connected peers
+ *
+ * if (res != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get connected peers\n");
+ *             return -1;
+ * }
+ *
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_foreach_connected_peers(wifi_direct_connected_peer_cb callback, void *user_data);
 
@@ -1367,6 +2946,54 @@ int wifi_direct_foreach_connected_peers(wifi_direct_connected_peer_cb callback,
  * @see wifi_direct_activate()
  * @see wifi_direct_destroy_group()
  * @see wifi_direct_connection_state_changed_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * void callback_1(int error_code,
+ *               wifi_direct_connection_state_e state,
+ *               const char *mac, void *user_data)
+ * {
+ *     if (state == WIFI_DIRECT_GROUP_CREATED) {
+ *             printf("Group created\n");
+ *     }
+ * }
+ *
+ * int function(void)
+ * {
+ *     int res;
+ *
+ *     res = wifi_direct_create_group() // create autonomous group
+ *
+ * if (res != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to create group\n");
+ *             return -1;
+ * }
+ *
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_connection_state_changed_cb(callback_1, NULL); // Register callback_1
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_connection_state_changed_cb(); // Deregister callback_1
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_create_group(void);
 
@@ -1394,6 +3021,54 @@ int wifi_direct_create_group(void);
  * @see wifi_direct_activate()
  * @see wifi_direct_create_group()
  * @see wifi_direct_connection_state_changed_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * void callback_1(int error_code,
+ *               wifi_direct_connection_state_e state,
+ *               const char *mac, void *user_data)
+ * {
+ *     if (state == WIFI_DIRECT_GROUP_DESTROYED) {
+ *             printf("Group destroyed\n");
+ *     }
+ * }
+ *
+ * int function(void)
+ * {
+ *     int res;
+ *
+ *     res = wifi_direct_destroy_group() // destroy autotonomous group
+ *
+ * if (res != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to destroy group\n");
+ *             return -1;
+ * }
+ *
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_connection_state_changed_cb(callback_1, NULL); // Register callback_1
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_connection_state_changed_cb(); // Deregister callback_1
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_destroy_group(void);
 
@@ -1417,6 +3092,66 @@ int wifi_direct_destroy_group(void);
  * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY         Device or resource busy
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * int function(void)
+ * {
+ *     int res;
+ *     bool owner;
+ *
+ *     res = wifi_direct_is_group_owner(&owner); // destroy autotonomous group
+ *
+ * if (res != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get ownership role\n");
+ *             return -1;
+ * }
+ *
+ *     printf("role = %s\n", (owner)?"GO":"STA");
+ *     return 0;
+ * }
+ *
+ * void callback_1(int error_code,
+ *               wifi_direct_connection_state_e state,
+ *               const char *mac, void *user_data)
+ * {
+ *     if (state == WIFI_DIRECT_GROUP_DESTROYED) {
+ *             printf("Group destroyed\n");
+ *
+ *             function();
+ *     }
+ *
+ *     if (state == WIFI_DIRECT_GROUP_CREATED) {
+ *             printf("Group created\n");
+ *
+ *             function();
+ *     }
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_connection_state_changed_cb(callback_1, NULL); // Register callback_1
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     wifi_direct_create_group();
+ *
+ *     wifi_direct_destroy_group();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_connection_state_changed_cb(); // Deregister callback_1
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_is_group_owner(bool *is_group_owner);
 
@@ -1444,6 +3179,62 @@ int wifi_direct_is_group_owner(bool *is_group_owner);
  * @see wifi_direct_activate()
  * @see wifi_direct_create_group()
  * @see wifi_direct_destroy_group()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * int function(void)
+ * {
+ *     int res;
+ *     bool owner;
+ *
+ *     res = wifi_direct_is_autonomous_group(&owner); // autotonomous group
+ *
+ * if (res != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get ownership role\n");
+ *             return -1;
+ * }
+ *
+ *     printf("Group = %s\n", (owner)?"Auto":"Non-Auto");
+ *     return 0;
+ * }
+ *
+ * void callback_1(int error_code,
+ *               wifi_direct_connection_state_e state,
+ *               const char *mac, void *user_data)
+ * {
+ *     if (state == WIFI_DIRECT_GROUP_DESTROYED) {
+ *             printf("Group destroyed\n");
+ *     }
+ *
+ *     if (state == WIFI_DIRECT_GROUP_CREATED) {
+ *             printf("Group created\n");
+ *
+ *             function();
+ *     }
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_connection_state_changed_cb(callback_1, NULL); // Register callback_1
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     wifi_direct_create_group();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_connection_state_changed_cb(); // Deregister callback_1
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_is_autonomous_group(bool *is_autonomous_group);
 
@@ -1471,6 +3262,47 @@ int wifi_direct_is_autonomous_group(bool *is_autonomous_group);
  * @pre Wi-Fi Direct must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
  * @see wifi_direct_get_device_name()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * int function(char *name)
+ * {
+ *     int res;
+ *
+ *     res = wifi_direct_set_device_name(&name); // set device name
+ *
+ *     if (res != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to set device name\n");
+ *             return -1;
+ * }
+ *
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     char name[256] = {0, };
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     printf("Enter the device name\n");
+ *     read(stdin, name, 255);
+ *
+ *     function(name);
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_set_device_name(const char *device_name);
 
@@ -1495,6 +3327,46 @@ int wifi_direct_set_device_name(const char *device_name);
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
  * @see wifi_direct_set_device_name()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * int function(void)
+ * {
+ *     int res;
+ *     char *name;
+ *
+ *     res = wifi_direct_get_device_name(&name); // get device name
+ *
+ *     if (res != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get device name\n");
+ *             return -1;
+ * }
+ *
+ *     printf("device name = %s\n", name);
+ *     g_free(name);
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_device_name(char** device_name);
 
@@ -1520,6 +3392,46 @@ int wifi_direct_get_device_name(char** device_name);
  * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY         Device or resource busy
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * int function(void)
+ * {
+ *     int res;
+ *     char *ssid;
+ *
+ *     res = wifi_direct_get_ssid(&ssid); // get SSID
+ *
+ *     if (res != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get ssid name\n");
+ *             return -1;
+ * }
+ *
+ *     printf("SSID name = %s\n", ssid);
+ *     g_free(ssid);
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_ssid(char **ssid);
 
@@ -1545,6 +3457,46 @@ int wifi_direct_get_ssid(char **ssid);
  * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY         Device or resource busy
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * int function(void)
+ * {
+ *     int res;
+ *     char *iface_name;
+ *
+ *     res = wifi_direct_get_network_interface_name(&iface_name); // get interface name
+ *
+ *     if (res != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get interface name\n");
+ *             return -1;
+ * }
+ *
+ *     printf("interface = %s\n", iface_name);
+ *     g_free(iface_name);
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_network_interface_name(char **name);
 
@@ -1570,31 +3522,270 @@ int wifi_direct_get_network_interface_name(char **name);
  * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY         Device or resource busy
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
- */
-int wifi_direct_get_ip_address(char **ip_address);
-
-
-/**
- * @brief Gets the Subnet Mask.
- * @since_tizen 2.3
- * @privlevel public
- * @privilege http://tizen.org/privilege/wifidirect
- * @remarks @a subnet_mask must be released using free().
- * @param[out] subnet_mask  The subnet mask
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #WIFI_DIRECT_ERROR_NONE                  Successful
- * @retval #WIFI_DIRECT_ERROR_INVALID_PARAMETER     Invalid parameter
- * @retval #WIFI_DIRECT_ERROR_OPERATION_FAILED      Operation failed
- * @retval #WIFI_DIRECT_ERROR_OUT_OF_MEMORY         Out of memory
- * @retval #WIFI_DIRECT_ERROR_COMMUNICATION_FAILED  Communication failed
- * @retval #WIFI_DIRECT_ERROR_PERMISSION_DENIED     Permission denied
- * @retval #WIFI_DIRECT_ERROR_NOT_PERMITTED         Operation not permitted
- * @retval #WIFI_DIRECT_ERROR_NOT_SUPPORTED         Not supported
- * @retval #WIFI_DIRECT_ERROR_NOT_INITIALIZED       Not initialized
+ *
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * int function(void);
+ *
+ * bool device_selected = false;
+ *
+ * void peers_cb(wifi_direct_discovered_peer_info_s* peer,
+ *                                           void *user_data)
+ * {
+ *     if (peer && !device_selected) {
+ *             printf("peer device=%s MAC=%s\n", peer->device_name, peer->mac_address);
+ *
+ *             device_selected = true;
+ *
+ *             wifi_direct_connect(peer->mac_address); // Connect to the first discovered peer
+ *     }
+ * }
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     char *ip;
+ *
+ *     ret = wifi_direct_get_ip_address(&ip); // get ip address
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to connect the peer\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("IP address=%s\n", ip);
+ *     g_free(ip);
+ *     return 0;
+ * }
+ *
+ * void callback_2(int error_code,
+ *                 wifi_direct_connection_state_e state,
+ *                 const char *mac, void *user_data)
+ *{
+ *     switch (state) {
+ *     case WIFI_DIRECT_CONNECTION_IN_PROGRESS:
+ *             printf("Connection in progress\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_CONNECTON_RSP:
+ *             printf("Connected\n");
+ *
+ *             function();
+ * break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_IND:
+ *             printf("Disconnection IND\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_RSP;
+ *             printf("Disconnected\n");
+ *     break;
+ * }
+ *}
+ *
+ * void callback_1(int error_code,
+ *               wifi_direct_discovery_state_e discovery_state,
+ *               void *user_data)
+ * {
+ *     switch(discovery_state) {
+ *     case WIFI_DIRECT_DISCOVERY_STARTED:
+ *             printf("Discovery started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_ONLY_LISTEN_STARTED:
+ *             printf("listen started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FINISHED:
+ *             printf("Discovery finished\n");
+ *
+ *             wifi_direct_foreach_discovered_peers(peers_cb,
+ *                                        NULL);
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FOUND:
+ *             printf("peer devices found\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_LOST:
+ *             printf("Discovery lost\n");
+ *             break;
+ *
+ *     default:
+ *     break;
+ *     }
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_discovery_state_changed_cb(callback_1, NULL); // Register callback 1
+ *     wifi_direct_set_connection_state_changed_cb(callback_2, NULL); // Register callback 2
+ *
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *     wifi_direct_start_discovery(TRUE, 15); // Start discovery
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_discovery_state_changed_cb(); // Deregister callback
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
+ */
+int wifi_direct_get_ip_address(char **ip_address);
+
+
+/**
+ * @brief Gets the Subnet Mask.
+ * @since_tizen 2.3
+ * @privlevel public
+ * @privilege http://tizen.org/privilege/wifidirect
+ * @remarks @a subnet_mask must be released using free().
+ * @param[out] subnet_mask  The subnet mask
+ * @return @c 0 on success,
+ *         otherwise a negative error value
+ * @retval #WIFI_DIRECT_ERROR_NONE                  Successful
+ * @retval #WIFI_DIRECT_ERROR_INVALID_PARAMETER     Invalid parameter
+ * @retval #WIFI_DIRECT_ERROR_OPERATION_FAILED      Operation failed
+ * @retval #WIFI_DIRECT_ERROR_OUT_OF_MEMORY         Out of memory
+ * @retval #WIFI_DIRECT_ERROR_COMMUNICATION_FAILED  Communication failed
+ * @retval #WIFI_DIRECT_ERROR_PERMISSION_DENIED     Permission denied
+ * @retval #WIFI_DIRECT_ERROR_NOT_PERMITTED         Operation not permitted
+ * @retval #WIFI_DIRECT_ERROR_NOT_SUPPORTED         Not supported
+ * @retval #WIFI_DIRECT_ERROR_NOT_INITIALIZED       Not initialized
  * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY         Device or resource busy
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * int function(void);
+ *
+ * bool device_selected = false;
+ *
+ * void peers_cb(wifi_direct_discovered_peer_info_s* peer,
+ *                                           void *user_data)
+ * {
+ *     if (peer && !device_selected) {
+ *             printf("peer device=%s MAC=%s\n", peer->device_name, peer->mac_address);
+ *
+ *             device_selected = true;
+ *
+ *             wifi_direct_connect(peer->mac_address); // Connect to the first discovered peer
+ *     }
+ * }
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     char *subnet;
+ *     char *ip;
+ *
+ *     wifi_direct_get_ip_address(&ip); // get ip address
+ *
+ *     ret = wifi_direct_get_subnetmask(&subnet); // get subnet mask
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get subnet mask\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("subnet address=%s\n", subnet);
+ *     g_free(ip);
+ *     g_free(subnet);
+ *     return 0;
+ * }
+ *
+ * void callback_2(int error_code,
+ *                 wifi_direct_connection_state_e state,
+ *                 const char *mac, void *user_data)
+ *{
+ *     switch (state) {
+ *     case WIFI_DIRECT_CONNECTION_IN_PROGRESS:
+ *             printf("Connection in progress\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_CONNECTON_RSP:
+ *             printf("Connected\n");
+ *
+ *             function();
+ * break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_IND:
+ *             printf("Disconnection IND\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_RSP;
+ *             printf("Disconnected\n");
+ *     break;
+ * }
+ *}
+ *
+ * void callback_1(int error_code,
+ *               wifi_direct_discovery_state_e discovery_state,
+ *               void *user_data)
+ * {
+ *     switch(discovery_state) {
+ *     case WIFI_DIRECT_DISCOVERY_STARTED:
+ *             printf("Discovery started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_ONLY_LISTEN_STARTED:
+ *             printf("listen started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FINISHED:
+ *             printf("Discovery finished\n");
+ *
+ *             wifi_direct_foreach_discovered_peers(peers_cb,
+ *                                        NULL);
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FOUND:
+ *             printf("peer devices found\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_LOST:
+ *             printf("Discovery lost\n");
+ *             break;
+ *
+ *     default:
+ *     break;
+ *     }
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_discovery_state_changed_cb(callback_1, NULL); // Register callback 1
+ *     wifi_direct_set_connection_state_changed_cb(callback_2, NULL); // Register callback 2
+ *
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *     wifi_direct_start_discovery(TRUE, 15); // Start discovery
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_discovery_state_changed_cb(); // Deregister callback
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_subnet_mask(char **subnet_mask);
 
@@ -1620,6 +3811,128 @@ int wifi_direct_get_subnet_mask(char **subnet_mask);
  * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY         Device or resource busy
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * int function(void);
+ *
+ * bool device_selected = false;
+ *
+ * void peers_cb(wifi_direct_discovered_peer_info_s* peer,
+ *                                           void *user_data)
+ * {
+ *     if (peer && !device_selected) {
+ *             printf("peer device=%s MAC=%s\n", peer->device_name, peer->mac_address);
+ *
+ *             device_selected = true;
+ *
+ *             wifi_direct_connect(peer->mac_address); // Connect to the first discovered peer
+ *     }
+ * }
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     char *gateway;
+ *     char *ip;
+ *
+ *     wifi_direct_get_ip_address(&ip); // get ip address
+ *
+ *     ret = wifi_direct_get_gateway_address(&gateway); // get gateway address
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get gateway address\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("gateway address=%s\n", gateway);
+ *     g_free(ip);
+ *     g_free(gateway);
+ *     return 0;
+ * }
+ *
+ * void callback_2(int error_code,
+ *                 wifi_direct_connection_state_e state,
+ *                 const char *mac, void *user_data)
+ *{
+ *     switch (state) {
+ *     case WIFI_DIRECT_CONNECTION_IN_PROGRESS:
+ *             printf("Connection in progress\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_CONNECTON_RSP:
+ *             printf("Connected\n");
+ *
+ *             function();
+ * break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_IND:
+ *             printf("Disconnection IND\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_RSP;
+ *             printf("Disconnected\n");
+ *     break;
+ * }
+ *}
+ *
+ * void callback_1(int error_code,
+ *               wifi_direct_discovery_state_e discovery_state,
+ *               void *user_data)
+ * {
+ *     switch(discovery_state) {
+ *     case WIFI_DIRECT_DISCOVERY_STARTED:
+ *             printf("Discovery started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_ONLY_LISTEN_STARTED:
+ *             printf("listen started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FINISHED:
+ *             printf("Discovery finished\n");
+ *
+ *             wifi_direct_foreach_discovered_peers(peers_cb,
+ *                                        NULL);
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FOUND:
+ *             printf("peer devices found\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_LOST:
+ *             printf("Discovery lost\n");
+ *             break;
+ *
+ *     default:
+ *     break;
+ *     }
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_discovery_state_changed_cb(callback_1, NULL); // Register callback 1
+ *     wifi_direct_set_connection_state_changed_cb(callback_2, NULL); // Register callback 2
+ *
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *     wifi_direct_start_discovery(TRUE, 15); // Start discovery
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_connection_state_changed_cb(); // Deregister callback
+ *     wifi_direct_unset_discovery_state_changed_cb(); // Deregister callback
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_gateway_address(char **gateway_address);
 
@@ -1645,6 +3958,128 @@ int wifi_direct_get_gateway_address(char **gateway_address);
  * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY         Device or resource busy
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * int function(void);
+ *
+ * bool device_selected = false;
+ *
+ * void peers_cb(wifi_direct_discovered_peer_info_s* peer,
+ *                                           void *user_data)
+ * {
+ *     if (peer && !device_selected) {
+ *             printf("peer device=%s MAC=%s\n", peer->device_name, peer->mac_address);
+ *
+ *             device_selected = true;
+ *
+ *             wifi_direct_connect(peer->mac_address); // Connect to the first discovered peer
+ *     }
+ * }
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     char *mac;
+ *     char *ip;
+ *
+ *     wifi_direct_get_ip_address(&ip); // get ip address
+ *
+ *     ret = wifi_direct_get_mac_address(&mac); // get MAC address
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get mac address\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("MAC address=%s\n", mac);
+ *     g_free(ip);
+ *     g_free(mac);
+ *     return 0;
+ * }
+ *
+ * void callback_2(int error_code,
+ *                 wifi_direct_connection_state_e state,
+ *                 const char *mac, void *user_data)
+ *{
+ *     switch (state) {
+ *     case WIFI_DIRECT_CONNECTION_IN_PROGRESS:
+ *             printf("Connection in progress\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_CONNECTON_RSP:
+ *             printf("Connected\n");
+ *
+ *             function();
+ * break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_IND:
+ *             printf("Disconnection IND\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_RSP;
+ *             printf("Disconnected\n");
+ *     break;
+ * }
+ *}
+ *
+ * void callback_1(int error_code,
+ *               wifi_direct_discovery_state_e discovery_state,
+ *               void *user_data)
+ * {
+ *     switch(discovery_state) {
+ *     case WIFI_DIRECT_DISCOVERY_STARTED:
+ *             printf("Discovery started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_ONLY_LISTEN_STARTED:
+ *             printf("listen started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FINISHED:
+ *             printf("Discovery finished\n");
+ *
+ *             wifi_direct_foreach_discovered_peers(peers_cb,
+ *                                        NULL);
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FOUND:
+ *             printf("peer devices found\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_LOST:
+ *             printf("Discovery lost\n");
+ *             break;
+ *
+ *     default:
+ *     break;
+ *     }
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_discovery_state_changed_cb(callback_1, NULL); // Register callback 1
+ *     wifi_direct_set_connection_state_changed_cb(callback_2, NULL); // Register callback 2
+ *
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *     wifi_direct_start_discovery(TRUE, 15); // Start discovery
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_connection_state_changed_cb(); // Deregister callback
+ *     wifi_direct_unset_discovery_state_changed_cb(); // Deregister callback
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_mac_address(char **mac_address);
 
@@ -1661,6 +4096,68 @@ int wifi_direct_get_mac_address(char **mac_address);
  * @retval #WIFI_DIRECT_ERROR_NOT_PERMITTED      Operation not permitted
  * @retval #WIFI_DIRECT_ERROR_NOT_SUPPORTED      Not supported
  * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY      Device or resource busy
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * char* print_state(wifi_direct_state_e state)
+ * {
+ *     if (state == WIFI_DIRECT_STATE_DEACTIVATED)
+ *             return "DEACTIVATED";
+ *     if (state == WIFI_DIRECT_STATE_ACTIVATING)
+ *             return "ACTIVATING";
+ *     if (state == WIFI_DIRECT_STATE_ACTIVATED)
+ *             return "ACTIVATED";
+ *     if (state == WIFI_DIRECT_STATE_DISCOVERING)
+ *             return "DISCOVERING";
+ *     if (state == WIFI_DIRECT_STATE_CONNECTING)
+ *             return "CONNECTING";
+ *     if (state == WIFI_DIRECT_STATE_DISCONNECTING)
+ *             return "DISCONNECTING";
+ *     if (state == WIFI_DIRECT_STATE_CONNECTED)
+ *             return "CONNECTED";
+ *     if (state == WIFI_DIRECT_STATE_GROUP_OWNER)
+ *             return "GROUP OWNER";
+ *
+ *     return "Unknown state";
+ * }
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     int state;
+ *
+ *     ret = wifi_direct_get_state(&state); // get Wi-Fi Direct state
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get state\n");
+ *             return -1;
+ *     }
+ *
+ *     printf(Wi-Fi Direct State = %s\n, print_state(state));
+ *
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_state(wifi_direct_state_e *state);
 
@@ -1688,6 +4185,86 @@ int wifi_direct_get_state(wifi_direct_state_e *state);
  * @see wifi_direct_initialize()
  * @see wifi_direct_start_discovery()
  * @see wifi_direct_cancel_discovery()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     bool discoverable;
+ *
+ *     ret = wifi_direct_is_discoverable(&discoverable); // check if device is discoverable
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get discoverable property\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("discoverable=%s\n", discoverable?"Yes":"No");
+ *
+ *     return 0;
+ * }
+ *
+ * void callback_1(int error_code,
+ *               wifi_direct_discovery_state_e discovery_state,
+ *               void *user_data)
+ * {
+ *     switch(discovery_state) {
+ *     case WIFI_DIRECT_DISCOVERY_STARTED:
+ *             printf("Discovery started\n");
+ *
+ *             function();
+ *             break;
+ *
+ *     case WIFI_DIRECT_ONLY_LISTEN_STARTED:
+ *             printf("listen started\n");
+ *
+ *             function();
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FINISHED:
+ *             printf("Discovery finished\n");
+ *
+ *             function();
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FOUND:
+ *             printf("peer devices found\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_LOST:
+ *             printf("Discovery lost\n");
+ *             break;
+ *
+ *     default:
+ *     break;
+ *     }
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *     wifi_direct_set_discovery_state_changed_cb(callback_1, NULL); // Register callback 1
+ *
+ *     wifi_direct_start_discovery(TRUE, 15); // Start discovery
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_discovery_state_changed_cb(); // Deregister callback
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_is_discoverable(bool *discoverable);
 
@@ -1717,6 +4294,84 @@ int wifi_direct_is_discoverable(bool *discoverable);
  * @see wifi_direct_start_discovery()
  * @see wifi_direct_cancel_discovery()
  * @see wifi_direct_is_discoverable()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     bool listen_only;
+ *
+ *     ret = wifi_direct_is_listening_only(&listen_only); // check if device is listening
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get discoverable property\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("listening=%s\n", listen_only?"Yes":"No");
+ *
+ *     return 0;
+ * }
+ *
+ * void callback_1(int error_code,
+ *               wifi_direct_discovery_state_e discovery_state,
+ *               void *user_data)
+ * {
+ *     switch(discovery_state) {
+ *     case WIFI_DIRECT_DISCOVERY_STARTED:
+ *             printf("Discovery started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_ONLY_LISTEN_STARTED:
+ *             printf("listen started\n");
+ *
+ *             function();
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FINISHED:
+ *             printf("Discovery finished\n");
+ *
+ *             function();
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FOUND:
+ *             printf("peer devices found\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_LOST:
+ *             printf("Discovery lost\n");
+ *             break;
+ *
+ *     default:
+ *     break;
+ *     }
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *     wifi_direct_set_discovery_state_changed_cb(callback_1, NULL); // Register callback 1
+ *
+ *     wifi_direct_start_discovery(TRUE, 15); // Start discovery
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_discovery_state_changed_cb(); // Deregister callback
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_is_listening_only(bool *listen_only);
 
@@ -1740,6 +4395,62 @@ int wifi_direct_is_listening_only(bool *listen_only);
  * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY         Device or resource busy
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * char* print_type(wifi_direct_primary_device_type_e type)
+ * {
+ *     if (type == WIFI_DIRECT_PRIMARY_DEVICE_TYPE_COMPUTER)
+ *             return "Computer";
+ *     if (state == WIFI_DIRECT_PRIMARY_DEVICE_TYPE_CAMERA)
+ *             return "Camera";
+ *     if (state == WIFI_DIRECT_PRIMARY_DEVICE_TYPE_STORAGE)
+ *             return "Storage";
+ *     if (state == WIFI_DIRECT_PRIMARY_DEVICE_TYPE_DISPLAY)
+ *             return "Display";
+ *     if (state == WIFI_DIRECT_PRIMARY_DEVICE_TYPE_TELEPHONE)
+ *             return "Telephone";
+ *
+ *     // Refer wifi_direct_primary_device_type_e enum for all devices
+ * }
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     int type;
+ *
+ *     ret = wifi_direct_get_primary_device_type(&type); // get primary device type
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get primary device type\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("primary Device = %s\n", print_type(type));
+ *
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_primary_device_type(wifi_direct_primary_device_type_e *type);
 
@@ -1763,12 +4474,68 @@ int wifi_direct_get_primary_device_type(wifi_direct_primary_device_type_e *type)
  * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY         Device or resource busy
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * char* print_type(wifi_direct_primary_device_type_e type)
+ * {
+ *     if (type == WIFI_DIRECT_SECONDARY_DEVICE_TYPE_COMPUTER_PC)
+ *             return "Computer pc";
+ *     if (state == WIFI_DIRECT_SECONDARY_DEVICE_TYPE_INPUT_KEYBOARD)
+ *             return "input Keyboard";
+ *     if (state == WIFI_DIRECT_SECONDARY_DEVICE_TYPE_CAMERA_VIDEO)
+ *             return "Camera Video";
+ *     if (state == WIFI_DIRECT_SECONDARY_DEVICE_TYPE_STORAGE_NAS)
+ *             return "Storage NAS";
+ *     if (state == WIFI_DIRECT_SECONDARY_DEVICE_TYPE_DISPLAY_TV)
+ *             return "Display TV";
+ *
+ *     // Refer wifi_direct_secondary_device_type_e enum for all devices
+ * }
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     int type;
+ *
+ *     ret = wifi_direct_get_secondary_device_type(&type); // get secondary device type
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get secondary device type\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("secondary Device = %s\n", print_type(type));
+ *
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_secondary_device_type(wifi_direct_secondary_device_type_e* type);
 
 
 /**
- * @brief Set the WPS config PBC as preferred method for connection.
+ * @brief Sets the WPS config PBC as preferred method for connection.
  * @since_tizen 2.3
  * @privlevel public
  * @privilege http://tizen.org/privilege/wifidirect
@@ -1785,6 +4552,45 @@ int wifi_direct_get_secondary_device_type(wifi_direct_secondary_device_type_e* t
  * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY         Device or resource busy
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_activate_pushbutton(); // Activate WPS PBC Push Button
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to activate push button\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("Push button Activated successfully\n");
+ *
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_activate_pushbutton(void);
 
@@ -1809,6 +4615,151 @@ int wifi_direct_activate_pushbutton(void);
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
  * @see wifi_direct_get_wps_pin()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     char pin[9] = {0, };
+ *
+ *     printf("Input 8 digit PIN to set the WPS PIN mode\n");
+ *     read(stdin, pin, 8);
+ *
+ *     ret = wifi_direct_set_wps_pin(pin); // Set the WPS PIN for connection
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to set the WPS PIN\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("WPS PIN set success\n");
+ *     return 0;
+ * }
+ *
+ * void callback(int error_code,
+ *               wifi_direct_connection_state_e connection_state,
+ *               const char *mac_address,
+ *               void *user_data)
+ *{
+ *     char *ip;
+ *     bool owner;
+ *     int wps_mode;
+ *
+ *     switch (connection_state) {
+ *
+ *     case WIFI_DIRECT_CONNECTION_IN_PROGRESS:
+ *             printf("Connection in progress\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_CONNECTION_RSP:
+ *             if (error_code == WIFI_DIRECT_ERROR_NONE) {
+ *                     printf("Peer Device Connected\n"); // device is connected
+ *
+ *                     printf("MAC=%s\n", mac_address); // device's MAC address
+ *
+ *                     wifi_direct_get_ip_address(&ip);
+ *                     printf("IP=%s\n", ip); //device's IP address
+ *
+ *                     wifi_direct_is_group_owner(&owner);
+ *                     printf("Ownership=%s\n", (owner)? "GO":"STA"); // (GO or client role)
+ *
+ *             } else if (error_code == WIFI_DIRECT_ERROR_CONNECTION_TIME_OUT) {
+ *                     printf("Connection timeout occurred\n");
+ *             } else if (error_code == WIFI_DIRECT_ERROR_AUTH_FAILED) {
+ *                     printf("Connection authorization Failed\n");
+ *             } else
+ *                     printf("Connection failed\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_CONNECTION_WPS_REQ:
+ *
+ *             wifi_direct_get_local_wps_type(&wps_mode);
+ *
+ *             if (wps_mode == WIFI_DIRECT_WPS_TYPE_PBC) {
+ *                     printf("Connection type WPS PBC\n");
+ *                     // Handle WPS PBC case here
+ *             }
+ *
+ *             if (wps_mode == WIFI_DIRECT_WPS_TYPE_PIN_DISPLAY) {
+ *                     printf("Connection type WPS PIN DISPLAY\n");
+ *                     // Handle WPS PIN Display case here
+ *             }
+ *
+ *             if (wps_mode == WIFI_DIRECT_WPS_PIN_KEYPAD) {
+ *                     printf("Connection type WPS PIN KEYPAD\n");
+ *
+ *             // Set 8 digit WPS PIN here
+ *             // Since the device has received the wps mode as PIN Keypad
+ *             // User need to set the WPS PIN for peer
+ *             // device connection using PIN method.
+ *
+ *             if (function() == 0)
+ *                     wifi_direct_accept_connection(mac_address); // Accept the requested connection
+ *
+ *             }
+ *     break;
+ *
+ *     case WIFI_DIRECT_CONNECTION_REQ:
+ *             printf("Connection request from MAC %s\n", mac_address);
+ *
+ *             // Handle the connection request from peer device here
+ *             // 1. WPS PBC
+ *             // 2. WPS PIN Display
+ *             // 3. WPS PIN Keypad
+ *
+ *             wifi_direct_accept_connection(mac_address);
+ *     break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_IND:
+ *             if (error_code == WIFI_DIRECT_ERROR_NONE)
+ *                     printf("peer device disconnected MAC %s\n", mac_address);
+ *     break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_RSP:
+ *             if (error_code == WIFI_DIRECT_ERROR_NONE)
+ *                     printf("peer device disconnection response MAC %s\n", mac_address);
+ *     break;
+ *
+ *     case WIFI_DIRECT_CONNECTION_DISASSOCIATION_IND:
+ *             if (error_code == WIFI_DIRECT_ERROR_NONE)
+ *                     printf("peer device disassociation MAC %s\n", mac_address);
+ *     break;
+ *
+ *     case WIFI_DIRECT_GROUP_CREATED:
+ *             printf("Group Created\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_GROUP_DESTROYED:
+ *             printf("Group Destroyed\n");
+ *     break;
+ *
+ *     default:
+ *     break;
+ *     }
+ *}
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_connection_state_changed_cb(callback, NULL); // Register callback
+ *
+ *     wifi_direct_activate(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *
+ *     wifi_direct_set_connection_state_changed_cb(callback, NULL); // Deregister callback
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_set_wps_pin(char *pin);
 
@@ -1818,7 +4769,7 @@ int wifi_direct_set_wps_pin(char *pin);
  * @since_tizen 2.3
  * @privlevel public
  * @privilege http://tizen.org/privilege/wifidirect
- * @remarks @a device_name must be released with free().
+ * @remarks @a pin must be released with free().
  * @param[out] pin  Pointer to store pin number. Application must free this memory
  * @return @c 0 on success,
  *         otherwise a negative error value
@@ -1834,6 +4785,148 @@ int wifi_direct_set_wps_pin(char *pin);
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
  * @see wifi_direct_set_wps_pin()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     char *pin;
+ *
+ *     ret = wifi_direct_get_wps_pin(&pin); // Get the WPS PIN
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get the WPS PIN\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("WPS PIN : %s\n", pin);
+ *     g_free(pin);
+ *     return 0;
+ * }
+ *
+ * void callback(int error_code,
+ *               wifi_direct_connection_state_e connection_state,
+ *               const char *mac_address,
+ *               void *user_data)
+ *{
+ *     char *ip;
+ *     bool owner;
+ *     int wps_mode;
+ *
+ *     switch (connection_state) {
+ *
+ *     case WIFI_DIRECT_CONNECTION_IN_PROGRESS:
+ *             printf("Connection in progress\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_CONNECTION_RSP:
+ *             if (error_code == WIFI_DIRECT_ERROR_NONE) {
+ *                     printf("Peer Device Connected\n"); // device is connected
+ *
+ *                     printf("MAC=%s\n", mac_address); // device's MAC address
+ *
+ *                     wifi_direct_get_ip_address(&ip);
+ *                     printf("IP=%s\n", ip); //device's IP address
+ *
+ *                     wifi_direct_is_group_owner(&owner);
+ *                     printf("Ownership=%s\n", (owner)? "GO":"STA"); // (GO or client role)
+ *
+ *             } else if (error_code == WIFI_DIRECT_ERROR_CONNECTION_TIME_OUT) {
+ *                     printf("Connection timeout occurred\n");
+ *             } else if (error_code == WIFI_DIRECT_ERROR_AUTH_FAILED) {
+ *                     printf("Connection authorization Failed\n");
+ *             } else
+ *                     printf("Connection failed\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_CONNECTION_WPS_REQ:
+ *
+ *             wifi_direct_get_local_wps_type(&wps_mode);
+ *
+ *             if (wps_mode == WIFI_DIRECT_WPS_TYPE_PBC) {
+ *                     printf("Connection type WPS PBC\n");
+ *                     // Handle WPS PBC case here
+ *             }
+ *
+ *             if (wps_mode == WIFI_DIRECT_WPS_TYPE_PIN_DISPLAY) {
+ *                     printf("Connection type WPS PIN DISPLAY\n");
+ *                     // Handle WPS PIN Display case here
+ *
+ *
+ *                     // Display WPS PIN here
+ *                     // Since the device received WPS PIN Display connection request
+ *                     // user need to display the WPS PIN which is shared by peer device
+ *                     function();
+ *
+ *             }
+ *
+ *             if (wps_mode == WIFI_DIRECT_WPS_PIN_KEYPAD) {
+ *                     printf("Connection type WPS PIN KEYPAD\n");
+ *                     // Handle WPS PIN Keypad case here
+ *             }
+ *     break;
+ *
+ *     case WIFI_DIRECT_CONNECTION_REQ:
+ *             printf("Connection request from MAC %s\n", mac_address);
+ *
+ *             // Handle the connection request from peer device here
+ *             // 1. WPS PBC
+ *             // 2. WPS PIN Display
+ *             // 3. WPS PIN Keypad
+ *
+ *             wifi_direct_accept_connection(mac_address);
+ *     break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_IND:
+ *             if (error_code == WIFI_DIRECT_ERROR_NONE)
+ *                     printf("peer device disconnected MAC %s\n", mac_address);
+ *     break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_RSP:
+ *             if (error_code == WIFI_DIRECT_ERROR_NONE)
+ *                     printf("peer device disconnection response MAC %s\n", mac_address);
+ *     break;
+ *
+ *     case WIFI_DIRECT_CONNECTION_DISASSOCIATION_IND:
+ *             if (error_code == WIFI_DIRECT_ERROR_NONE)
+ *                     printf("peer device disassociation MAC %s\n", mac_address);
+ *     break;
+ *
+ *     case WIFI_DIRECT_GROUP_CREATED:
+ *             printf("Group Created\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_GROUP_DESTROYED:
+ *             printf("Group Destroyed\n");
+ *     break;
+ *
+ *     default:
+ *     break;
+ *     }
+ *}
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_connection_state_changed_cb(callback, NULL); // Register callback
+ *
+ *     wifi_direct_activate(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *
+ *     wifi_direct_set_connection_state_changed_cb(callback, NULL); // Deregister callback
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_wps_pin(char **pin);
 
@@ -1857,6 +4950,58 @@ int wifi_direct_get_wps_pin(char **pin);
  * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY         Device or resource busy
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     int wps_mode;
+ *
+ *     ret = wifi_direct_get_supported_wps_mode(&wps_mode); // Get supported WPS mode
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get supported wps mode\n");
+ *             return -1;
+ *     }
+ *
+ *     switch (wps_mode) {
+ *     case WIFI_DIRECT_WPS_TYPE_PBC:
+ *             printf("mode is WPS PBC\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_WPS_TYPE_PIN_DISPLAY:
+ *             printf("mode is WPS PIN Display\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_WPS_TYPE_PIN_KEYPAD:
+ *             printf("mode is WPS PIN Keypad\n");
+ *     break;
+ *     }
+ *
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_supported_wps_mode(int *wps_mode);
 
@@ -1895,6 +5040,61 @@ typedef bool(*wifi_direct_supported_wps_type_cb)(wifi_direct_wps_type_e type, vo
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
  * @see wifi_direct_supported_wps_type_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * bool callback(wifi_direct_wps_types_e type, void *user_data)
+ * {
+ *     switch (type) {
+ *     case WIFI_DIRECT_WPS_TYPE_PBC:
+ *             printf("mode is WPS PBC\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_WPS_TYPE_PIN_DISPLAY:
+ *             printf("mode is WPS PIN Display\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_WPS_TYPE_PIN_KEYPAD:
+ *             printf("mode is WPS PIN Keypad\n");
+ *     break;
+ *     }
+ * }
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_foreach_supported_wps_types(callback, NULL);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get supported wps types\n");
+ *             return -1;
+ *     }
+ *
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_foreach_supported_wps_types(wifi_direct_supported_wps_type_cb callback, void *user_data);
 
@@ -1919,6 +5119,58 @@ int wifi_direct_foreach_supported_wps_types(wifi_direct_supported_wps_type_cb ca
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
  * @see wifi_direct_foreach_supported_wps_types()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     int wps_type;
+ *
+ *     ret = wifi_direct_get_local_wps_type(&wps_type);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get supported wps types\n");
+ *             return -1;
+ *     }
+ *
+ *     switch (wps_type) {
+ *     case WIFI_DIRECT_WPS_TYPE_PBC:
+ *             printf("mode is WPS PBC\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_WPS_TYPE_PIN_DISPLAY:
+ *             printf("mode is WPS PIN Display\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_WPS_TYPE_PIN_KEYPAD:
+ *             printf("mode is WPS PIN Keypad\n");
+ *     break;
+ *     }
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_local_wps_type(wifi_direct_wps_type_e *type);
 
@@ -1943,6 +5195,66 @@ int wifi_direct_get_local_wps_type(wifi_direct_wps_type_e *type);
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
  * @see wifi_direct_foreach_supported_wps_types()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     int wps_type;
+ *     int option;
+ *
+ *     printf("Input new WPS mode\n");
+ *     printf("1. WPS Type PBC\n");
+ *     printf("2. WPS Type PIN Display\n");
+ *     printf("3. WPS Type PIN Keypad\n");
+ *     scanf("%1d", &option);
+ *
+ *     switch (input) {
+ *     case 1:
+ *             wps_type = WIFI_DIRECT_WPS_TYPE_PBC;
+ *     break;
+ *
+ *     case 2:
+ *             wps_type = WIFI_DIRECT_WPS_TYPE_PIN_DISPLAY;
+ *     break;
+ *
+ *     case 3:
+ *             wps_type = WIFI_DIRECT_WPS_TYPE_PIN_KEYPAD;
+ *     break;
+ *     }
+ *
+ *     ret = wifi_direct_set_req_wps_type(wps_type);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to set requeted wps types\n");
+ *             return -1;
+ *     }
+ *
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_set_req_wps_type(wifi_direct_wps_type_e type);
 
@@ -1967,6 +5279,58 @@ int wifi_direct_set_req_wps_type(wifi_direct_wps_type_e type);
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
  * @see wifi_direct_foreach_supported_wps_types()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     int wps_type;
+ *
+ *     ret = wifi_direct_get_req_wps_type(&wps_type);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get supported wps types\n");
+ *             return -1;
+ *     }
+ *
+ *     switch (wps_type) {
+ *     case WIFI_DIRECT_WPS_TYPE_PBC:
+ *             printf("mode is WPS PBC\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_WPS_TYPE_PIN_DISPLAY:
+ *             printf("mode is WPS PIN Display\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_WPS_TYPE_PIN_KEYPAD:
+ *             printf("mode is WPS PIN Keypad\n");
+ *     break;
+ *     }
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_req_wps_type(wifi_direct_wps_type_e *type);
 
@@ -1979,6 +5343,8 @@ int wifi_direct_get_req_wps_type(wifi_direct_wps_type_e *type);
  * @remarks The range of intent is 0 - 15. The higher the @a intent is,
  *          the higher the probability to be the group owner is.
  * @param[in] intent The intent of the group owner
+ * @return @c 0 on success,
+ *         otherwise a negative error value
  * @retval #WIFI_DIRECT_ERROR_NONE                  Successful
  * @retval #WIFI_DIRECT_ERROR_INVALID_PARAMETER     Invalid parameter
  * @retval #WIFI_DIRECT_ERROR_OPERATION_FAILED      Operation failed
@@ -1991,6 +5357,48 @@ int wifi_direct_get_req_wps_type(wifi_direct_wps_type_e *type);
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
  * @see wifi_direct_get_group_owner_intent()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     int go_intent;
+ *
+ *     printf("Input the GO Intent range(0~15)\n");
+ *     scanf("%2d", &go_intent);
+ *
+ *     ret = wifi_direct_set_group_owner_intent(go_intent);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to set go intent\n");
+ *             return -1;
+ *     }
+ *
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_set_group_owner_intent(int intent);
 
@@ -2015,6 +5423,46 @@ int wifi_direct_set_group_owner_intent(int intent);
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
  * @see wifi_direct_set_group_owner_intent()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     int go_intent;
+ *
+ *     ret = wifi_direct_get_group_owner_intent(&go_intent);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get go intent\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("Current GO Intent = %d\n", go_intent);
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_group_owner_intent(int *intent);
 
@@ -2039,6 +5487,49 @@ int wifi_direct_get_group_owner_intent(int *intent);
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
  * @see wifi_direct_get_max_clients()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     int max_client;
+ *
+ *     printf("Input the maximum clients to be connected\n");
+ *     scanf("%4d", &max_client);
+ *
+ *     ret = wifi_direct_set_max_clients(max_client);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to set max clients\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("max client set success\n");
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_set_max_clients(int max);
 
@@ -2063,6 +5554,46 @@ int wifi_direct_set_max_clients(int max);
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
  * @see wifi_direct_set_max_clients()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     int max_client;
+ *
+ *     ret = wifi_direct_get_max_clients(&max_client);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get max clients\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("max client = %d\n", max_client);
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_max_clients(int *max);
 
@@ -2089,6 +5620,49 @@ int wifi_direct_get_max_clients(int *max);
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
  * @see wifi_direct_get_passphrase()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     char key[65] = {0, };
+ *
+ *     printf("Input the passphrase\n");
+ *     read(stdin, key, 64);
+ *
+ *     ret = wifi_direct_set_passphrase(key);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to set passphrase\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("passphrase set success\n");
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_set_passphrase(const char *passphrase);
 
@@ -2098,7 +5672,7 @@ int wifi_direct_set_passphrase(const char *passphrase);
  * @since_tizen 2.4
  * @privlevel public
  * @privilege http://tizen.org/privilege/wifidirect
- * @remarks @a device_name must be released with free().
+ * @remarks @a passphrase must be released with free().
  * @param[out] passphrase  Pointer to store wpa password. Application must free this memory
  * @return @c 0 on success,
  *         otherwise a negative error value
@@ -2114,6 +5688,47 @@ int wifi_direct_set_passphrase(const char *passphrase);
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
  * @see wifi_direct_set_passphrase()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     char *key;
+ *
+ *     ret = wifi_direct_get_passphrase(&key);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get passphrase\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("passphrase = %s\n", key);
+ *     g_free(key);
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_passphrase(char **passphrase);
 
@@ -2137,6 +5752,46 @@ int wifi_direct_get_passphrase(char **passphrase);
  * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY         Device or resource busy
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     int channel;
+ *
+ *     ret = wifi_direct_get_operating_channel(&channel);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get operating channel\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("operating channel = %d\n", channel);
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_operating_channel(int *channel);
 
@@ -2148,6 +5803,8 @@ int wifi_direct_get_operating_channel(int *channel);
  * @privilege http://tizen.org/privilege/wifidirect
  * @param[in] mode  Describes the mode of connection. In case of TRUE \n
  *                     auto-connection will be taken care by framework
+ * @return @c 0 on success,
+ *         otherwise a negative error value
  * @retval #WIFI_DIRECT_ERROR_NONE               Successful
  * @retval #WIFI_DIRECT_ERROR_NOT_INITIALIZED    Not initialized
  * @retval #WIFI_DIRECT_ERROR_INVALID_PARAMETER  Invalid parameter
@@ -2155,12 +5812,58 @@ int wifi_direct_get_operating_channel(int *channel);
  * @retval #WIFI_DIRECT_ERROR_NOT_SUPPORTED      Not supported
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_foreach_supported_wps_types()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     int auto_connect;
+ *
+ *     printf("enable auto connect mode (yes[1] or no[2])\n");
+ *     scanf("%1d", &auto_connect);
+ *
+ *     if (auto_connect)
+ *             ret = wifi_direct_set_autoconnection_mode(true);
+ *     else
+ *             ret = wifi_direct_set_sutoconnection_mode(false);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to set autoconnection mode\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("Auto connect mode enabled\n");
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_set_autoconnection_mode(bool mode);
 
 
 /**
- * @brief Get the Autoconnection mode status.
+ * @brief Gets the Autoconnection mode status.
  * @since_tizen 2.3
  * @privlevel public
  * @privilege http://tizen.org/privilege/wifidirect
@@ -2175,6 +5878,46 @@ int wifi_direct_set_autoconnection_mode(bool mode);
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_foreach_supported_wps_types()
  * @see wifi_direct_initialize()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     bool status;
+ *
+ *     ret = wifi_direct_is_autoconnection_mode(&status);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get autoconnection mode\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("auto connect mode = %s\n", (status)?"Yes":"No");
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_is_autoconnection_mode(bool *mode);
 
@@ -2198,6 +5941,125 @@ int wifi_direct_is_autoconnection_mode(bool *mode);
  * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY         Device or resource busy
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * bool peer_selected = false;
+ * int connection_timeout = 0;
+ * int count = 0; // counter to wait for connection
+ *
+ * int function(char *mac);
+ *
+ * void peers_cb(wifi_direct_discovered_peer_info_s* peer,
+ *                                           void *user_data)
+ * {
+ *     char *mac;
+ *
+ *     if (peer && !peer_selected) {
+ *             printf("peer device=%s MAC=%s\n", peer->device_name, peer->mac_address);
+ *
+ *             peer_selected = true;
+ *
+ *             function(peer->mac_address);
+ *
+ *             wifi_direct_connect(peer->mac_address); // Connect to the selected peer
+ *     }
+ * }
+ *
+ * int function(char *mac)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_set_autoconnection_peer(mac); // set autoconnection
+ *
+ * if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to set autoconnection for peer\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("set auto-connection success\n");
+ *     return 0;
+ * }
+ *
+ * void callback_2(int error_code,
+ *                 wifi_direct_connection_state_e state,
+ *                 const char *mac, void *user_data)
+ *{
+ *     switch (state) {
+ *     case WIFI_DIRECT_CONNECTION_IN_PROGRESS:
+ *             printf("Connection in progress\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_CONNECTON_RSP:
+ *             printf("Connected\n");
+ *             g_source_remove(connection_timeout);
+ * break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_IND:
+ *             printf("Disconnection IND\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_RSP;
+ *             printf("Disconnected\n");
+ *     break;
+ * }
+ *}
+ *
+ * void callback_1(int error_code,
+ *               wifi_direct_discovery_state_e discovery_state,
+ *               void *user_data)
+ * {
+ *     switch(discovery_state) {
+ *     case WIFI_DIRECT_DISCOVERY_STARTED:
+ *             printf("Discovery started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_ONLY_LISTEN_STARTED:
+ *             printf("listen started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FINISHED:
+ *             printf("Discovery finished\n");
+ *
+ *     wifi_direct_foreach_discovered_peers(peers_cb,
+ *                                        NULL); // Get discovered peer
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FOUND:
+ *             printf("peer devices found\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_LOST:
+ *             printf("Discovery lost\n");
+ *             break;
+ *
+ *     default:
+ *     break;
+ *     }
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_discovery_state_changed_cb(callback_1, NULL); // Register callback 1
+ *     wifi_direct_set_connection_state_changed_cb(callback_2, NULL); // Register callback 2
+ *
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *     wifi_direct_start_discovery(TRUE, 15); // Start discovery
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_connection_state_changed_cb(); // Deregister callback 2
+ *     wifi_direct_unset_discovery_state_changed_cb(); // Deregister callback 1
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_set_autoconnection_peer(char *mac_address);
 
@@ -2223,6 +6085,45 @@ int wifi_direct_set_autoconnection_peer(char *mac_address);
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
  * @see wifi_direct_is_persistent_group_enabled()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_set_persistence_group_enabled(true);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to set persistence group enabled\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("persistence group enabled success\n");
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_set_persistent_group_enabled(bool enabled);
 
@@ -2247,6 +6148,46 @@ int wifi_direct_set_persistent_group_enabled(bool enabled);
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
  * @see wifi_direct_set_persistent_group_enabled()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     bool status;
+ *
+ *     ret = wifi_direct_is_persistent_group_enabled(&status);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get status of persistence group enabled\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("persistence group status = %s\n", status?"Yes":"No");
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_is_persistent_group_enabled(bool *enabled);
 
@@ -2287,6 +6228,57 @@ typedef bool(*wifi_direct_persistent_group_cb)(const char *mac_address, const ch
  * @post wifi_direct_persistent_group_cb() will be called.
  * @see wifi_direct_initialize()
  * @see wifi_direct_persistent_group_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * bool callback(const char *mac_address,
+ *               const char *ssid,
+ *               void *user_data)
+ * {
+ *     if (mac_address)
+ *             printf("mac = %s\n", mac_address);
+ *
+ *     if (ssid)
+ *             printf("ssid = %s\n", ssid);
+ *
+ *     return true;
+ * }
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_foreach_persistent_groups(callback, NULL);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to set callback for persistatus of persistence group enabled\n");
+ *             return -1;
+ *     }
+ *
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_foreach_persistent_groups(wifi_direct_persistent_group_cb callback, void *user_data);
 
@@ -2312,6 +6304,55 @@ int wifi_direct_foreach_persistent_groups(wifi_direct_persistent_group_cb callba
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_initialize()
  * @see wifi_direct_foreach_persistent_groups()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     char *mac = NULL;
+ *     char *ssid = NULL;
+ *
+ *     printf("Input MAC\n");
+ *     scanf("%18ms", &mac);
+ *
+ *     printf("Input SSID\n");
+ *     scanf("%33ms", &ssid);
+ *
+ *     ret = wifi_direct_remove_persistent_group(mac, ssid);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to remove persistent group\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("persistent group with MAC (%s) is removed\n", mac);
+ *     free(mac);
+ *     free(ssid);
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_remove_persistent_group(char *mac_address, const char *ssid);
 
@@ -2339,6 +6380,99 @@ int wifi_direct_remove_persistent_group(char *mac_address, const char *ssid);
  * @post wifi_direct_set_service_state_changed_cb() will be invoked.
  * @see wifi_direct_activate()
  * @see wifi_direct_set_service_state_changed_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * void callback(int error_code,
+ *       wifi_direct_service_discovery_state_e discovery_state,
+ *       wifi_direct_service_type_e service_type,
+ *       void *response_data, const char * mac_address,
+ *       void *user_data)
+ * {
+ *     switch (discovery_state) {
+ *     case WIFI_DIRECT_SERVICE_DISCOVERY_STARTED:
+ *             printf("Service discovery started\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_SERVICE_DISCOVERY_FINISHED:
+ *             printf("Service discovery finished\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_SERVICE_DISCOVERY_FOUND:
+ *             printf("Service discovery found\n");
+ *     break;
+ *     }
+ * }
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     int option;
+ *     wifi_direct_service_type_e type = WIFI_DIRECT_SERVICE_TYPE_ALL;
+ *
+ *     printf("Input service type\n");
+ *     scanf("%1d", &option);
+ *
+ *     printf("1.  WIFI_DIRECT_SERVICE_TYPE_ALL\n");
+ *     printf("2.  WIFI_DIRECT_SERVICE_TYPE_BONJOUR\n");
+ *     printf("3.  WIFI_DIRECT_SERVICE_TYPE_UPNP\n");
+ *     printf("4.  WIFI_DIRECT_SERVICE_TYPE_BT_ADDR\n");
+ *     printf("5.  WIFI_DIRECT_SERVICE_TYPE_CONTACT_INFO\n");
+ *
+ *     switch (option) {
+ *     case 1:
+ *             type = WIFI_DIRECT_SERVICE_TYPE_ALL;
+ *     break;
+ *
+ *     case 2:
+ *             type = WIFI_DIRECT_SERVICE_TYPE_BONJOUR;
+ *     break;
+ *
+ *     case 3:
+ *             type = WIFI_DIRECT_SERVICE_TYPE_UPNP;
+ *     break;
+ *
+ *     case 4:
+ *             type = WIFI_DIRECT_SERVICE_TYPE_BT_ADDR;
+ *     break;
+ *
+ *     case 5:
+ *             type = WIFI_DIRECT_SERVICE_TYPE_CONTACT_INFO;
+ *     break;
+ *     }
+ *
+ *     ret = wifi_direct_start_service_discovery(NULL, type); // start broadcast service discovery
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to start service discovery\n");
+ *             return -1;
+ *     }
+ *
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_service_state_changed_cb(callback, NULL);
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_service_state_changed_cb();
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_start_service_discovery(char *mac_address, wifi_direct_service_type_e service_type);
 
@@ -2351,6 +6485,8 @@ int wifi_direct_start_service_discovery(char *mac_address, wifi_direct_service_t
  * @param[in] mac_address  The MAC address of servicing device. A broadcast \n
  *                            will be sent when MAC is SET to ZERO
  * @param[in] service_type Describes the type of service
+ * @return @c 0 on success,
+ *         otherwise a negative error value
  * @retval #WIFI_DIRECT_ERROR_NONE                  Successful
  * @retval #WIFI_DIRECT_ERROR_INVALID_PARAMETER     Invalid parameter
  * @retval #WIFI_DIRECT_ERROR_OPERATION_FAILED      Operation failed
@@ -2362,6 +6498,70 @@ int wifi_direct_start_service_discovery(char *mac_address, wifi_direct_service_t
  * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY         Device or resource busy
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * void callback(int error_code,
+ *       wifi_direct_service_discovery_state_e discovery_state,
+ *       wifi_direct_service_type_e service_type,
+ *       void *response_data, const char * mac_address,
+ *       void *user_data)
+ * {
+ *     switch (discovery_state) {
+ *     case WIFI_DIRECT_SERVICE_DISCOVERY_STARTED:
+ *             printf("Service discovery started\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_SERVICE_DISCOVERY_FINISHED:
+ *             printf("Service discovery finished\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_SERVICE_DISCOVERY_FOUND:
+ *             printf("Service discovery found\n");
+ *     break;
+ *     }
+ * }
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_cancel_service_discovery(NULL,
+ *                             WIFI_DIRECT_SERVICE_TYPE_ALL); // cancel the ongoing service discovery
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to cancel service discovery\n");
+ *             return -1;
+ *     }
+ *
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_service_state_changed_cb(callback, NULL);
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     wifi_direct_start_service_discovery(NULL,
+ *                       WIFI_DIRECT_SERVICE_TYPE); // start broadcast service discovery
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_service_state_changed_cb();
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_cancel_service_discovery(char *mac_address, wifi_direct_service_type_e service_type);
 
@@ -2388,6 +6588,120 @@ int wifi_direct_cancel_service_discovery(char *mac_address, wifi_direct_service_
  * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY         Device or resource busy
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ * void callback(int error_code,
+ *       wifi_direct_service_discovery_state_e discovery_state,
+ *       wifi_direct_service_type_e service_type,
+ *       void *response_data, const char * mac_address,
+ *       void *user_data)
+ * {
+ *     switch (discovery_state) {
+ *     case WIFI_DIRECT_SERVICE_DISCOVERY_STARTED:
+ *             printf("Service discovery started\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_SERVICE_DISCOVERY_FINISHED:
+ *             printf("Service discovery finished\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_SERVICE_DISCOVERY_FOUND:
+ *             printf("Service discovery found\n");
+ *     break;
+ *     }
+ * }
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     int option;
+ *     char *info1;
+ *     char *info2;
+ *     wifi_direct_service_type_e type = WIFI_DIRECT_SERVICE_TYPE_ALL;
+ *
+ *     printf("Input service type\n");
+ *     scanf("%1d", &option);
+ *
+ *     printf("1.  WIFI_DIRECT_SERVICE_TYPE_ALL\n");
+ *     printf("2.  WIFI_DIRECT_SERVICE_TYPE_BONJOUR\n");
+ *     printf("3.  WIFI_DIRECT_SERVICE_TYPE_UPNP\n");
+ *     printf("4.  WIFI_DIRECT_SERVICE_TYPE_BT_ADDR\n");
+ *     printf("5.  WIFI_DIRECT_SERVICE_TYPE_CONTACT_INFO\n");
+ *
+ *     switch (option) {
+ *     case 1:
+ *             type = WIFI_DIRECT_SERVICE_TYPE_ALL;
+ *     break;
+ *
+ *     case 2:
+ *             type = WIFI_DIRECT_SERVICE_TYPE_BONJOUR;
+ *
+ *             printf("Enter the info 1\n");
+ *             scanf("%50ms", &info1);
+ *
+ *             printf("Enter the info 2\n");
+ *             scanf("%50ms", &info2);
+ *     break;
+ *
+ *     case 3:
+ *             type = WIFI_DIRECT_SERVICE_TYPE_UPNP;
+ *
+ *             printf("Enter the info 1\n");
+ *             scanf("%50ms", &info1);
+ *
+ *             printf("Enter the info 2\n");
+ *             scanf("%50ms", &info2);
+ *     break;
+ *
+ *     case 4:
+ *             type = WIFI_DIRECT_SERVICE_TYPE_BT_ADDR;
+ *     break;
+ *
+ *     case 5:
+ *             type = WIFI_DIRECT_SERVICE_TYPE_CONTACT_INFO;
+ *
+ *             printf("Enter the info 1\n");
+ *             scanf("%50ms", &info1);
+ *     break;
+ *     }
+ *
+ * ret = wifi_direct_register_service(type, info1, info2, &option);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to start service discovery\n");
+ *             return -1;
+ *     }
+ *
+ *     wifi_direct_start_service_discovery(NULL, type);
+ *
+ *     free(info1);
+ *     free(info2);
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_service_state_changed_cb(callback, NULL);
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_service_state_changed_cb();
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_register_service(wifi_direct_service_type_e service_type, char *info1, char *info2, unsigned int *service_id);
 
@@ -2411,6 +6725,48 @@ int wifi_direct_register_service(wifi_direct_service_type_e service_type, char *
  * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY         Device or resource busy
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     int intput;
+ *
+ *     printf("Enter the service id\n");
+ *     scanf("%5d", &input);
+ *
+ *     ret = wifi_direct_deregister_service(input);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to deregister service\n");
+ *             return -1;
+ *     }
+ *
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_deregister_service(unsigned int service_id);
 
@@ -2434,6 +6790,45 @@ int wifi_direct_deregister_service(unsigned int service_id);
  * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY         Device or resource busy
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_init_miracast(true);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to init miracast\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("init miracast success\n");
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_init_miracast(bool enable);
 
@@ -2459,6 +6854,50 @@ int wifi_direct_init_miracast(bool enable);
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
  * @see wifi_direct_foreach_discovered_peers()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     char mac[19] = {0, };
+ *     wifi_direct_discovered_peer_info_s *peer_info;
+ *
+ *     printf("Input peer MAC address\n");
+ *     read(stdin, mac, 18);
+ *
+ *     ret = wifi_direct_get_peer_info(mac, &peer_info);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get peer info\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("get peer info success\n");
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_peer_info(char *mac_address, wifi_direct_discovered_peer_info_s **peer_info);
 
@@ -2485,6 +6924,45 @@ int wifi_direct_get_peer_info(char *mac_address, wifi_direct_discovered_peer_inf
  * @see wifi_direct_activate()
  * @see wifi_direct_deinit_display()
  * @see wifi_direct_set_display()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_init_display();
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to init display\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("init display success\n");
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_init_display(void);
 
@@ -2510,6 +6988,47 @@ int wifi_direct_init_display(void);
  * @see wifi_direct_activate()
  * @see wifi_direct_init_display()
  * @see wifi_direct_set_display()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *
+ *     wifi_direct_init_display();
+ *
+ *     ret = wifi_direct_deinit_display();
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to deinit display\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("deinit display success\n");
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_deinit_display(void);
 
@@ -2537,6 +7056,45 @@ int wifi_direct_deinit_display(void);
  * @see wifi_direct_activate()
  * @see wifi_direct_init_display()
  * @see wifi_direct_deinit_display()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_set_display(WIFI_DIRECT_DISPLAY_SOURCE, 7236, 1);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to set display property\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("set display param success\n");
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_set_display(wifi_direct_display_type_e type, int port, int hdcp);
 
@@ -2562,6 +7120,49 @@ int wifi_direct_set_display(wifi_direct_display_type_e type, int port, int hdcp)
  * @see wifi_direct_activate()
  * @see wifi_direct_init_display()
  * @see wifi_direct_deinit_display()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     int availability;
+ *
+ *     printf("Input the Wi-FI Display availability\n");
+ *     scanf("%1d", &availability);
+ *
+ *     ret = wifi_direct_set_display_availability(availability);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to set display availability\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("set display availability success\n");
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_set_display_availability(bool availability);
 
@@ -2587,6 +7188,51 @@ int wifi_direct_set_display_availability(bool availability);
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
  * @see wifi_direct_foreach_discovered_peers()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     char *mac = NULL;
+ *     wifi_direct_display_type_e type;
+ *
+ *     printf("Input the peer mac\n");
+ *     scanf("%18ms", &mac);
+ *
+ *     ret = wifi_direct_get_peer_display_type(mac, &type);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get peer display type\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("peer display type = %d\n", type);
+ *     free(mac);
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_peer_display_type(char *mac_address, wifi_direct_display_type_e *type);
 
@@ -2612,6 +7258,51 @@ int wifi_direct_get_peer_display_type(char *mac_address, wifi_direct_display_typ
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
  * @see wifi_direct_foreach_discovered_peers()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     bool avialability;
+ *     char *mac = NULL;
+ *
+ *     printf("Input the peer mac\n");
+ *     scanf("%18ms", &mac);
+ *
+ *     ret = wifi_direct_get_peer_display_availability(mac, &availability);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get peer display availability\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("peer display avialability = %s\n", availability?"yes":"no");
+ *     free(mac);
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_peer_display_availability(char *mac_address, bool *availability);
 
@@ -2637,6 +7328,51 @@ int wifi_direct_get_peer_display_availability(char *mac_address, bool *availabil
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
  * @see wifi_direct_foreach_discovered_peers()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     int hdcp;
+ *     char *mac = NULL;
+ *
+ *     printf("Input the peer mac\n");
+ *     scanf("%18ms", &mac);
+ *
+ *     ret = wifi_direct_get_peer_display_hdcp(mac, &hdcp);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get peer display hdcp\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("peer display hdcp = %d\n", hdcp);
+ *     free(mac);
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_peer_display_hdcp(char *mac_address, int *hdcp);
 
@@ -2662,6 +7398,51 @@ int wifi_direct_get_peer_display_hdcp(char *mac_address, int *hdcp);
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
  * @see wifi_direct_foreach_discovered_peers()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     int port;
+ *     char *mac = NULL;
+ *
+ *     printf("Input the peer mac\n");
+ *     scanf("%18ms", &mac);
+ *
+ *     ret = wifi_direct_get_peer_display_port(mac, &port);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get peer display port\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("peer display port = %d\n", port);
+ *     free(mac);
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_peer_display_port(char *mac_address, int *port);
 
@@ -2687,6 +7468,51 @@ int wifi_direct_get_peer_display_port(char *mac_address, int *port);
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
  * @see wifi_direct_foreach_discovered_peers()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     int tput;
+ *     char *mac = NULL;
+ *
+ *     printf("Input the peer mac\n");
+ *     scanf("%18ms", &mac);
+ *
+ *     ret = wifi_direct_get_peer_display_throughput(mac, &tput);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get peer display throughput\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("peer display throughtput = %d\n", tput);
+ *     free(mac);
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_peer_display_throughput(char *mac_address, int *throughput);
 
@@ -2713,6 +7539,45 @@ int wifi_direct_get_peer_display_throughput(char *mac_address, int *throughput);
  * @see wifi_direct_activate()
  * @see wifi_direct_create_group()
  * @see wifi_direct_connection_state_changed_cb()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *
+ *     ret = wifi_direct_set_auto_group_removal(true); // Enable auto group removal
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to set auto group removal\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("set auto group removal success\n");
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_set_auto_group_removal(bool enable);
 
@@ -2735,6 +7600,49 @@ int wifi_direct_set_auto_group_removal(bool enable);
  * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY         Device or resource busy
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     int session_timeout;
+ *
+ *     printf("Input the time for session timer\n");
+ *     scanf("%2d", &session_timeout);
+ *
+ *     ret = wifi_direct_set_session_timer(session_timeout); // set session timer
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to set session timer\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("set session timer success\n");
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_set_session_timer(int seconds);
 
@@ -2757,12 +7665,52 @@ int wifi_direct_set_session_timer(int seconds);
  * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY         Device or resource busy
  * @pre Wi-Fi Direct service must be activated by wifi_direct_activate().
  * @see wifi_direct_activate()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     int session_timeout;
+ *
+ *     ret = wifi_direct_get_session_timer(&session_timeout); // get session timer
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get session timer\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("session timer = %d\n", session_timeout);
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_session_timer(int *seconds);
 
 
 /**
- * @brief Gets the timer which is used to expire the connection session.
+ * @brief Gets the information of a peer's RSSI value.
  * @since_tizen 3.0
  * @privlevel public
  * @privilege http://tizen.org/privilege/wifidirect
@@ -2781,6 +7729,51 @@ int wifi_direct_get_session_timer(int *seconds);
  * @retval #WIFI_DIRECT_ERROR_RESOURCE_BUSY         Device or resource busy
  * @pre Wi-Fi Direct service must be initialized by wifi_direct_initialize().
  * @see wifi_direct_activate()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     int rssi;
+ *     char *mac = NULL;
+ *
+ *     printf("Input the peer mac\n");
+ *     scanf("%18ms", &mac);
+ *
+ *     ret = wifi_direct_get_peer_rssi(mac, &rssi); // get peer rssi
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get peer rssi\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("peer rssi = %d\n", rssi);
+ *     free(mac);
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_peer_rssi(char *mac_address, int *rssi);
 
@@ -2808,6 +7801,54 @@ int wifi_direct_get_peer_rssi(char *mac_address, int *rssi);
  * @see wifi_direct_activate()
  * @see wifi_direct_remove_vsie()
  * @see wifi_direct_get_vsie()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     char *vsie = NULL;
+ *     unsigned int frame_id;
+ *
+ *     printf("Input the frame id\n");
+ *     scanf("%2u", &frame_id);
+ *
+ *     printf("Input the vsie\n");
+ *     scanf("%100ms", &vsie);
+ *
+ *     ret = wifi_direct_add_vsie(frame_id, vsie); // add vsie
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to add vsie\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("vsie added success");
+ *     free(vsie);
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_add_vsie(wifi_direct_vsie_frames_e frame_id, const char *vsie_str);
 
@@ -2836,6 +7877,51 @@ int wifi_direct_add_vsie(wifi_direct_vsie_frames_e frame_id, const char *vsie_st
  * @see wifi_direct_activate()
  * @see wifi_direct_add_vsie()
  * @see wifi_direct_remove_vsie()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     char *vsie = NULL;
+ *     unsigned int frame_id;
+ *
+ *     printf("Input the frame id\n");
+ *     scanf("%2u", &frame_id);
+ *
+ *     ret = wifi_direct_get_vsie(frame_id, &vsie); // get vsie
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get vsie\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("vsie = %s\n", vsie);
+ *     free(vsie);
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_vsie(wifi_direct_vsie_frames_e frame_id, char **vsie_str);
 
@@ -2864,6 +7950,54 @@ int wifi_direct_get_vsie(wifi_direct_vsie_frames_e frame_id, char **vsie_str);
  * @see wifi_direct_activate()
  * @see wifi_direct_add_vsie()
  * @see wifi_direct_get_vsie()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     char *vsie = NULL;
+ *     unsigned int frame_id;
+ *
+ *     printf("Input the frame id\n");
+ *     scanf("%2u", &frame_id);
+ *
+ *     printf("Input the vsie\n");
+ *     scanf("%100ms", &vsie);
+ *
+ *     ret = wifi_direct_remove_vsie(frame_id, vsie); // remove vsie
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to remove vsie\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("vsie removed success\n");
+ *     free(vsie);
+ *     return 0;
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *
+ *     function();
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_remove_vsie(wifi_direct_vsie_frames_e frame_id, const char *vsie_str);
 
@@ -2890,6 +8024,123 @@ int wifi_direct_remove_vsie(wifi_direct_vsie_frames_e frame_id, const char *vsie
  *      or by receiving connection request from p2p peer device.
  * @see wifi_direct_activate()
  * @see wifi_direct_connect()
+ *
+ *
+ * Here is an example of the usage:
+ * @code
+ * #include <stdio.h>
+ * #include <wifi_direct.h>
+ *
+ *
+ * bool device_selected = false;
+ *
+ * void peers_cb(wifi_direct_discovered_peer_info_s* peer,
+ *                                           void *user_data)
+ * {
+ *     if (peer && !device_selected) {
+ *             printf("peer device=%s MAC=%s\n", peer->device_name, peer->mac_address);
+ *
+ *             device_selected = true;
+ *
+ *             wifi_direct_connect(peer->mac_address); // Connect to the first discovered peer
+ *     }
+ * }
+ *
+ * int function(void)
+ * {
+ *     int ret;
+ *     wifi_direct_discovered_peer_info_s *peer = NULL;
+ *
+ *     ret = wifi_direct_get_connecting_peer_info(&peer);
+ *
+ *     if (ret != WIFI_DIRECT_ERROR_NONE) {
+ *             printf("Failed to get connecting peer info\n");
+ *             return -1;
+ *     }
+ *
+ *     printf("peer device name (%s) mac (%s)\n", peer->device_name,
+ *                                                 peer->mac_address);
+ *     return 0;
+ * }
+ *
+ * void callback_2(int error_code,
+ *                 wifi_direct_connection_state_e state,
+ *                 const char *mac, void *user_data)
+ *{
+ *     switch (state) {
+ *     case WIFI_DIRECT_CONNECTION_IN_PROGRESS:
+ *             printf("Connection in progress\n");
+ *
+ *             function(); // get the connecting peer info
+ *
+ *     break;
+ *
+ *     case WIFI_DIRECT_CONNECTON_RSP:
+ *             printf("Connected\n");
+ * break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_IND:
+ *             printf("Disconnection IND\n");
+ *     break;
+ *
+ *     case WIFI_DIRECT_DISCONNECTION_RSP;
+ *             printf("Disconnected\n");
+ *     break;
+ * }
+ *}
+ *
+ * void callback_1(int error_code,
+ *               wifi_direct_discovery_state_e discovery_state,
+ *               void *user_data)
+ * {
+ *     switch(discovery_state) {
+ *     case WIFI_DIRECT_DISCOVERY_STARTED:
+ *             printf("Discovery started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_ONLY_LISTEN_STARTED:
+ *             printf("listen started\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FINISHED:
+ *             printf("Discovery finished\n");
+ *
+ *     wifi_direct_foreach_discovered_peers(peers_cb,
+ *                                        NULL); // Get discovered peer
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_FOUND:
+ *             printf("peer devices found\n");
+ *             break;
+ *
+ *     case WIFI_DIRECT_DISCOVERY_LOST:
+ *             printf("Discovery lost\n");
+ *             break;
+ *
+ *     default:
+ *     break;
+ *     }
+ * }
+ *
+ * int main()
+ * {
+ *     wifi_direct_initialize(); // Initialize Wi-Fi Direct
+ *     wifi_direct_set_discovery_state_changed_cb(callback_1, NULL); // Register callback 1
+ *     wifi_direct_set_connection_state_changed_cb(callback_2, NULL); // Register callback 2
+ *
+ *     wifi_direct_activated(); // Activate Wi-Fi Direct
+ *     wifi_direct_start_discovery(TRUE, 15); // Start discovery
+ *
+ *     //       APP CODE HERE
+ *
+ *     // App must cleaup Wi-Fi Direct before exiting
+ *
+ *     wifi_direct_deactivate(); // Deactivate Wi-Fi Direct
+ *     wifi_direct_unset_discovery_state_changed_cb(); // Deregister callback
+ *     wifi_direct_deinitialize(); // Deinitialize Wi-Fi Direct
+ *     return 0;
+ * }
+ * @endcode
  */
 int wifi_direct_get_connecting_peer_info(wifi_direct_discovered_peer_info_s **peer_info);