[DA patch]Add timeout configuration
[platform/core/connectivity/wifi-direct-manager.git] / include / wifi-direct-manager.h
old mode 100755 (executable)
new mode 100644 (file)
index 64f6c74..73067b9
 #ifndef __WIFI_DIRECT_MANAGER_H__
 #define __WIFI_DIRECT_MANAGER_H__
 
-#define DEFAULT_DEVICE_NAME "Tizen_Device"
-
-#if defined TIZEN_MOBILE
-#      if defined TIZEN_WLAN_BOARD_SPRD
-#              define DEFAULT_IFNAME "p2p0"
-#              define GROUP_IFNAME "p2p0"
-#      else /* TIZEN_WLAN_BOARD_SPRD */
-#              define DEFAULT_IFNAME "wlan0"
-#              define GROUP_IFNAME "p2p-wlan0-0"
-#      endif /* TIZEN_WLAN_BOARD_SPRD */
-#endif /* TIZEN_MOBILE */
-
-#if defined TIZEN_TV
-#      if defined TIZEN_WIFI_MODULE_BUNDLE
-#              define DEFAULT_IFNAME "wlan0"
-#              define GROUP_IFNAME "wlan0"
-#      else /* TIZEN_WIFI_MODULE_BUNDLE */
-#              define DEFAULT_IFNAME "p2p0"
-#              define GROUP_IFNAME "p2p0"
-#      endif /* TIZEN_WIFI_MODULE_BUNDLE */
-#endif /* TIZEN_TV */
-
-#ifndef DEFAULT_IFNAME
-#      define DEFAULT_IFNAME "p2p0"
+#ifdef __cplusplus
+extern "C" {
 #endif
 
-#ifndef GROUP_IFNAME
-#      define GROUP_IFNAME "p2p0"
-#endif
+#define DEFAULT_IFNAME "p2p0"
+#define GROUP_IFNAME   "p2p0"
+#define DEFAULT_PRIMARY_DEVICE_TYPE WIFI_DIRECT_PRIMARY_DEVICE_TYPE_TELEPHONE
+#define DEFAULT_SECONDARY_DEVICE_TYPE WIFI_DIRECT_SECONDARY_DEVICE_TYPE_TELEPHONE_SMARTPHONE_DUAL
 
+#define WFD_MAX_TYPE 8
+#define WFD_GO_INTENT_MIN 0
+#define WFD_GO_INTENT_DISPLY_SOURCE 2
+#define WFD_GO_INTENT_MAX 15
 #define WFD_MAX_CLIENT 16
 #define WFD_MAX_STATION 8
 
@@ -75,6 +58,7 @@ typedef enum {
        WFD_WPS_MODE_PBC = 0x1,
        WFD_WPS_MODE_DISPLAY = 0x2,
        WFD_WPS_MODE_KEYPAD = 0x4,
+       WFD_WPS_MODE_P2PS = 0x8,
 } wfd_wps_mode_e;
 
 typedef enum {
@@ -97,17 +81,15 @@ typedef enum {
 
 typedef enum {
        WFD_IP_TYPE_DYNAMIC = 0x0,
-#ifdef TIZEN_FEATURE_IP_OVER_EAPOL
        WFD_IP_TYPE_OVER_EAPOL = 0x1,
-#endif /* TIZEN_FEATURE_IP_OVER_EAPOL */
 } wfd_ip_type_e;
 
-#ifdef TIZEN_FEATURE_WIFI_DISPLAY
 typedef enum {
        WFD_DISPLAY_TYPE_SOURCE,
        WFD_DISPLAY_TYPE_PRISINK,
        WFD_DISPLAY_TYPE_SECSINK,
        WFD_DISPLAY_TYPE_DUAL,
+       WFD_DISPLAY_TYPE_NONE,
 } wfd_display_type_e;
 
 typedef struct {
@@ -126,7 +108,6 @@ typedef struct {
 #define WIFI_DISPLAY_DEFAULT_HDCP 1
 #define WIFI_DISPLAY_DEFAULT_PORT 7236
 #define WIFI_DISPLAY_DEFAULT_TPUT 54
-#endif /* TIZEN_FEATURE_WIFI_DISPLAY */
 
 typedef struct {
        int state;
@@ -144,23 +125,22 @@ typedef struct {
        int dev_flags;
        int group_flags;
        int wps_mode;
+       int is_p2p;
 
        char passphrase[PASSPHRASE_LEN_MAX + 1];
 
-#ifdef TIZEN_FEATURE_WIFI_DISPLAY
        wfd_display_s display;
-#endif /* TIZEN_FEATURE_WIFI_DISPLAY */
 
-#ifdef TIZEN_FEATURE_SERVICE_DISCOVERY
        GList *services;
        unsigned int service_count;
-#endif /* TIZEN_FEATURE_SERVICE_DISCOVERY */
 
        unsigned char ip_addr[IPADDR_LEN];
 
        int ip_type;
        unsigned char client_ip_addr[IPADDR_LEN];
        unsigned char go_ip_addr[IPADDR_LEN];
+       int rssi;
+       char *vsie;
 } wfd_device_s;
 
 typedef struct {
@@ -168,13 +148,16 @@ typedef struct {
 
        wifi_direct_state_e state;
 
+       unsigned int exit_timer;
+       int client_count;
+       GSList *client_list;
        wfd_device_s *local;
        int go_intent;
        int req_wps_mode;
        int max_station;
        int autoconnection;
        unsigned char autoconnection_peer[MACADDR_LEN];
-       char auto_pin[PINSTR_LEN+1];    // for NFC Printer
+       char auto_pin[PINSTR_LEN+1];    /* for NFC Printer */
        int scan_mode;
 
        GList *peers;
@@ -186,7 +169,24 @@ typedef struct {
 
        void *oem_ops;
        void *plugin_handle;
+#if defined TIZEN_ENABLE_PRD
+       void *prd_plugin_handle;
+#endif /* TIZEN_ENABLE_PRD */
+
        int session_timer;
+       int go_intent_per_type[WFD_MAX_TYPE];
+       int connection_timeout;
+       gboolean auto_group_remove_enable;
+       gboolean is_on_demand_supported;
+       gboolean is_service_discovery_supported;
+       gboolean is_wifi_display_supported;
+       gboolean is_tethering_wifi_supported;
+       gboolean is_tethering_wifi_direct_supported;
+       gboolean is_asp_supported;
+       gboolean is_on_demand;
+       gboolean is_connection_agent;
+       gboolean is_ip_over_eapol;
+       void *wfd_oem_conf;
 } wfd_manager_s;
 
 wfd_manager_s *wfd_get_manager();
@@ -199,11 +199,15 @@ int wfd_local_get_intf_mac(unsigned char *intf_mac);
 int wfd_local_set_wps_mode(int wps_mode);
 wfd_device_s *wfd_manager_find_connected_peer(wfd_manager_s *manager, unsigned char *peer_addr);
 #endif
+int wfd_manager_load();
+void wfd_manager_unload();
 int wfd_local_get_ip_addr(char *ip_str);
 int wfd_local_get_supported_wps_mode(int *wps_mode);
 int wfd_local_get_wps_mode(int *wps_mode);
 int wfd_manager_get_go_intent(int *go_intent);
 int wfd_manager_set_go_intent(int go_intent);
+int wfd_manager_get_go_intent_per_type(int type, int *go_intent);
+int wfd_manager_set_go_intent_per_type(int type, int go_intent);
 int wfd_manager_get_max_station(int *max_station);
 int wfd_manager_set_max_station(int max_station);
 int wfd_manager_get_autoconnection(int *autoconnection);
@@ -225,11 +229,23 @@ int wfd_manager_get_peers(wfd_manager_s *manager, wfd_discovery_entry_s **peers)
 int wfd_manager_get_connected_peers(wfd_manager_s *manager, wfd_connected_peer_info_s **peers_data);
 int wfd_manager_get_goup_ifname(char **ifname);
 wfd_device_s *wfd_manager_get_peer_by_addr(wfd_manager_s *manager, unsigned char *peer_addr);
-#ifdef TIZEN_FEATURE_WIFI_DISPLAY
 int wfd_manager_set_display_device(int type, int port, int hdcp);
 int wfd_manager_set_session_availability(int availability);
-#endif /* TIZEN_FEATURE_WIFI_DISPLAY */
-int wfd_manager_start_discovery(wfd_manager_s *manager, int mode, int timeout, const char* type, int channel);
+int wfd_manager_get_display_device(int *type, int *port, int *hdcp);
+int wfd_manager_get_session_availability(int *availability);
+int wfd_manager_start_discovery(wfd_manager_s *manager, int mode, int timeout,
+                               const char* type, int channel, int frequency);
 int wfd_manager_cancel_discovery(wfd_manager_s *manager);
+wfd_device_s *wfd_manager_get_connected_peer_by_addr(wfd_manager_s *manager, unsigned char *peer_addr);
+int wfd_manager_asp_connect_session(wfd_manager_s *manager, void *params);
+int wfd_manager_asp_confirm_session(wfd_manager_s *manager, void *params, int confirmed);
+void wfd_manager_free_active_client_list(void);
+void wfd_manager_add_active_client(const char *client_id);
+void wfd_manager_remove_active_client(const char *name,
+                                                const gchar *old_owner,
+                                                const char *new_owner);
+#ifdef __cplusplus
+}
+#endif
 
 #endif /* __WIFI_DIRECT_MANAGER_H__ */