#ifndef __WIFI_DIRECT_MANAGER_H__
#define __WIFI_DIRECT_MANAGER_H__
+#if 0
#define DEFAULT_DEVICE_NAME "Tizen_Device"
#define DEFAULT_IFNAME "p2p0"
#define GROUP_IFNAME "p2p-wlan0-0"
+#endif
+#define DEFAULT_DEVICE_NAME "JWSCOM"
+#define DEFAULT_IFNAME "wlan0"
+#define GROUP_IFNAME "wlan0"
+
#define WFD_MAX_CLIENT 16
#define WFD_MAX_STATION 8
#define IPADDR_LEN 4
#define IPSTR_LEN 16
#define PINSTR_LEN 8
-#define PASSPHRASE_LEN 8
-#define QUERY_HANDLE_LIMIT 256
+#define PASSPHRASE_LEN 64
#if 0
typedef enum {
} wfd_scan_mode_e;
typedef enum {
- WFD_DEV_DENIED,
- WFD_DEV_ALLOWED,
- WFD_DEV_UNKNOWN,
-}wfd_dev_connection_flag_e;
+ WFD_PEER_STATE_DISCOVERED,
+ WFD_PEER_STATE_CONNECTING,
+ WFD_PEER_STATE_CONNECTED,
+} wfd_peer_state_e;
-typedef struct {
- wifi_direct_display_type_e type;
- char dev_info[2];
- int ctrl_port;
- int max_tput;
- int availability;
- int hdcp_support;
-}wfd_display_info_s;
+typedef enum {
+ WFD_IP_TYPE_DYNAMIC,
+ WFD_IP_TYPE_STATIC,
+} wfd_ip_type_e;
-typedef struct {
- wifi_direct_service_type_e service_type;
- int ref_counter;
- char *service_string;
- int service_str_length;
-} wfd_service_s;
+#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_e;
typedef struct {
- int handle;
- int ref_counter;
- unsigned char mac_addr[6];
- wifi_direct_service_type_e service_type;
- char *query_string;
-}wfd_query_s;
+ int type;
+ int availablity;
+ int wsd_support;
+ int tdls_support;
+ int hdcp_support;
+ int sync_support;
+ int port;
+ int max_tput;
+} wfd_display_s;
-typedef enum {
- WFD_PEER_STATE_DISCOVERED,
- WFD_PEER_STATE_CONNECTING,
- WFD_PEER_STATE_CONNECTED,
-} wfd_peer_state_e;
+#define WIFI_DISPLAY_DEFAULT_TYPE WFD_DISPLAY_TYPE_SOURCE
+#define WIFI_DISPLAY_DEFAULT_AVAIL 1
+#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;
int group_flags;
int wps_mode;
+ char passphrase[PASSPHRASE_LEN +1];
+
+#ifdef TIZEN_FEATURE_WIFI_DISPLAY
+ wfd_display_s display;
+#endif /* TIZEN_FEATURE_WIFI_DISPLAY */
+
+#ifdef TIZEN_FEATURE_SERVICE_DISCOVERY
GList *services;
- wfd_display_info_s *wifi_display;
+ unsigned int service_count;
+#endif /* TIZEN_FEATURE_SERVICE_DISCOVERY */
unsigned char ip_addr[IPADDR_LEN];
} wfd_device_s;
GList *clients;
unsigned int client_count;
- int state;
+ wifi_direct_state_e state;
unsigned int exit_timer;
wfd_device_s *local;
int req_wps_mode;
int max_station;
int autoconnection;
+ unsigned char autoconnection_peer[MACADDR_LEN];
+ char auto_pin[PINSTR_LEN+1]; // for NFC Printer
int scan_mode;
GList *peers;
void *group;
- GList *query_handles;
- GList *access_list;
-
void *oem_ops;
void *plugin_handle;
} wfd_manager_s;
int wfd_local_reset_data(wfd_manager_s *manager);
int wfd_local_get_dev_name(char *dev_name);
int wfd_local_set_dev_name(char *dev_name);
-int wfd_local_get_dev_mac(unsigned char *dev_mac);
+int wfd_local_get_dev_mac(char *dev_mac);
+#if 0
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_local_get_ip_addr(char *ip_str);
int wfd_local_get_supported_wps_mode(int *wps_mode);
-int wfd_local_set_req_wps_mode(int req_wps_mode);
int wfd_local_get_wps_mode(int *wps_mode);
-int wfd_local_get_req_wps_mode(int *req_wps_mode);
-
-int wfd_local_get_display_port(int *port);
-int wfd_local_get_display_type(wifi_direct_display_type_e *type);
-
int wfd_manager_get_go_intent(int *go_intent);
int wfd_manager_set_go_intent(int go_intent);
int wfd_manager_get_max_station(int *max_station);
int wfd_manager_get_req_wps_mode(int *req_wps_mode);
int wfd_manager_set_req_wps_mode(int req_wps_mode);
-int wfd_manager_access_control(wfd_manager_s *manager, unsigned char *dev_addr);
-int wfd_manager_add_to_access_list(wfd_manager_s *manager, wfd_device_s *peer, int allowed);
-int wfd_manager_del_from_access_list(wfd_manager_s *manager, unsigned char *mac);
-
-int wfd_manager_service_add(wfd_manager_s *manager, wifi_direct_service_type_e type, char *data);
-int wfd_manager_service_del(wfd_manager_s *manager, wifi_direct_service_type_e type, char *data);
-int wfd_manager_serv_disc_req(wfd_manager_s *manager, unsigned char* mad_addr, wifi_direct_service_type_e type, char *data);
-int wfd_manager_serv_disc_cancel(wfd_manager_s *manager, int handle);
-int wfd_manager_init_service(wfd_device_s *device);
-int wfd_manager_init_query(wfd_manager_s *manager);
-
-int wfd_manager_init_wifi_display(wifi_direct_display_type_e type, int port, int hdcp);
-int wfd_manager_deinit_wifi_display();
-
int wfd_manager_local_config_set(wfd_manager_s *manager);
int wfd_manager_activate(wfd_manager_s *manager);
int wfd_manager_deactivate(wfd_manager_s *manager);
int wfd_manager_reject_connection(wfd_manager_s *manager, unsigned char *peer_addr);
int wfd_manager_disconnect(wfd_manager_s *manager, unsigned char *peer_addr);
int wfd_manager_disconnect_all(wfd_manager_s *manager);
-int wfd_manager_get_access_list(wfd_manager_s *manager, wfd_access_list_info_s **access_list_data);
+int wfd_manager_get_peer_info(wfd_manager_s *manager, unsigned char* addr, wfd_discovery_entry_s **peer);
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);
-wfd_device_s *wfd_manager_find_connected_peer(wfd_manager_s *manager, unsigned char *peer_addr);
-wfd_device_s *wfd_manager_get_current_peer(wfd_manager_s *manager);
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 */
#endif /* __WIFI_DIRECT_MANAGER_H__ */