[wifi-direct-manager]Merge Tizen 2.4 for sync
[platform/core/connectivity/wifi-direct-manager.git] / include / wifi-direct-manager.h
index 8141552..2a78292 100644 (file)
 #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
 
@@ -40,8 +46,7 @@
 #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 {
@@ -74,40 +79,42 @@ 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;
@@ -126,8 +133,16 @@ typedef struct {
        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;
@@ -140,7 +155,7 @@ typedef struct {
        GList *clients;
        unsigned int client_count;
 
-       int state;
+       wifi_direct_state_e state;
        unsigned int exit_timer;
 
        wfd_device_s *local;
@@ -148,6 +163,8 @@ typedef struct {
        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;
@@ -157,9 +174,6 @@ typedef struct {
 
        void *group;
 
-       GList *query_handles;
-       GList *access_list;
-
        void *oem_ops;
        void *plugin_handle;
 } wfd_manager_s;
@@ -168,17 +182,15 @@ wfd_manager_s *wfd_get_manager();
 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);
@@ -188,20 +200,6 @@ int wfd_manager_set_autoconnection(int autoconnection);
 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);
@@ -211,11 +209,14 @@ int wfd_manager_cancel_connection(wfd_manager_s *manager, unsigned char *peer_ad
 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__ */