#ifndef __WIFI_DIRECT_MANAGER_H__
#define __WIFI_DIRECT_MANAGER_H__
-#define DEFAULT_DEVICE_NAME "Tizen_Device"
-
-#if defined TIZEN_PROFILE_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 */
-# define DEFAULT_PRIMARY_DEVICE_TYPE WIFI_DIRECT_PRIMARY_DEVICE_TYPE_TELEPHONE
-# define DEFAULT_SECONDARY_DEVICE_TYPE WIFI_DIRECT_SECONDARY_DEVICE_TYPE_TELEPHONE_SMARTPHONE_DUAL
-#endif /* TIZEN_PROFILE_MOBILE */
-
-#if defined TIZEN_PROFILE_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 */
-# define DEFAULT_PRIMARY_DEVICE_TYPE WIFI_DIRECT_PRIMARY_DEVICE_TYPE_DISPLAY
-# define DEFAULT_SECONDARY_DEVICE_TYPE WIFI_DIRECT_SECONDARY_DEVICE_TYPE_DISPLAY_TV
-#endif /* TIZEN_PROFILE_TV */
-
-#ifndef DEFAULT_IFNAME
-# define DEFAULT_IFNAME "p2p0"
+#ifdef __cplusplus
+extern "C" {
#endif
-#ifndef GROUP_IFNAME
-# define GROUP_IFNAME "p2p0"
-#endif
-
-#ifndef DEFAULT_PRIMARY_DEVICE_TYPE
-# define DEFAULT_PRIMARY_DEVICE_TYPE WIFI_DIRECT_PRIMARY_DEVICE_TYPE_TELEPHONE
-#endif
-
-#ifndef DEFAULT_SECONDARY_DEVICE_TYPE
-# define DEFAULT_SECONDARY_DEVICE_TYPE WIFI_DIRECT_SECONDARY_DEVICE_TYPE_TELEPHONE_SMARTPHONE_DUAL
-#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
WFD_WPS_MODE_PBC = 0x1,
WFD_WPS_MODE_DISPLAY = 0x2,
WFD_WPS_MODE_KEYPAD = 0x4,
-#if defined(TIZEN_FEATURE_ASP)
WFD_WPS_MODE_P2PS = 0x8,
-#endif /* TIZEN_FEATURE_ASP */
} wfd_wps_mode_e;
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 {
#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;
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 {
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;
#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();
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);
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);
-#if defined(TIZEN_FEATURE_ASP)
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);
-#endif /* TIZEN_FEATURE_ASP */
+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__ */