X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=wpa_supplicant%2Fwpa_supplicant_i.h;h=66f544e3a966e22fcf863f9f958995df5fee678b;hb=HEAD;hp=2ee22be08b415fba00d9680a59adef1c05fc4304;hpb=611aea7d41f83b2ef3d5d2cada39113060aac8eb;p=libeap.git diff --git a/wpa_supplicant/wpa_supplicant_i.h b/wpa_supplicant/wpa_supplicant_i.h index 2ee22be..66f544e 100644 --- a/wpa_supplicant/wpa_supplicant_i.h +++ b/wpa_supplicant/wpa_supplicant_i.h @@ -182,6 +182,18 @@ struct wpa_params { char *override_ctrl_interface; }; +struct p2p_srv_bonjour { + struct dl_list list; + struct wpabuf *query; + struct wpabuf *resp; +}; + +struct p2p_srv_upnp { + struct dl_list list; + u8 version; + char *service; +}; + /** * struct wpa_global - Internal, global data for all %wpa_supplicant interfaces * @@ -196,6 +208,13 @@ struct wpa_global { void **drv_priv; size_t drv_count; struct os_time suspend_time; + struct p2p_data *p2p; + struct wpa_supplicant *p2p_group_formation; + u8 p2p_dev_addr[ETH_ALEN]; + struct dl_list p2p_srv_bonjour; /* struct p2p_srv_bonjour */ + struct dl_list p2p_srv_upnp; /* struct p2p_srv_upnp */ + int p2p_disabled; + int cross_connection; }; @@ -303,6 +322,7 @@ struct wpa_client_mlme { */ struct wpa_supplicant { struct wpa_global *global; + struct wpa_supplicant *parent; struct wpa_supplicant *next; struct l2_packet_data *l2; struct l2_packet_data *l2_br; @@ -388,6 +408,7 @@ struct wpa_supplicant { unsigned int drv_flags; int max_scan_ssids; unsigned int max_remain_on_chan; + unsigned int max_stations; int pending_mic_error_report; int pending_mic_error_pairwise; @@ -404,12 +425,17 @@ struct wpa_supplicant { struct ibss_rsn *ibss_rsn; + int set_sta_uapsd; + int sta_uapsd; + int set_ap_uapsd; + int ap_uapsd; + #ifdef CONFIG_SME struct { u8 ssid[32]; size_t ssid_len; int freq; - u8 assoc_req_ie[80]; + u8 assoc_req_ie[200]; size_t assoc_req_ie_len; int mfp; int ft_used; @@ -429,6 +455,67 @@ struct wpa_supplicant { void *ap_configured_cb_data; #endif /* CONFIG_AP */ +#ifdef CONFIG_P2P + struct p2p_go_neg_results *go_params; + int create_p2p_iface; + u8 pending_interface_addr[ETH_ALEN]; + char pending_interface_name[IFNAMSIZ]; + int pending_interface_type; + int p2p_group_idx; + unsigned int off_channel_freq; + struct wpabuf *pending_action_tx; + u8 pending_action_src[ETH_ALEN]; + u8 pending_action_dst[ETH_ALEN]; + u8 pending_action_bssid[ETH_ALEN]; + unsigned int pending_action_freq; + int pending_action_without_roc; + unsigned int pending_listen_freq; + unsigned int pending_listen_duration; + enum { + NOT_P2P_GROUP_INTERFACE, + P2P_GROUP_INTERFACE_PENDING, + P2P_GROUP_INTERFACE_GO, + P2P_GROUP_INTERFACE_CLIENT + } p2p_group_interface; + struct p2p_group *p2p_group; + int p2p_long_listen; + char p2p_pin[10]; + int p2p_wps_method; + u8 p2p_auth_invite[ETH_ALEN]; + int p2p_sd_over_ctrl_iface; + int p2p_in_provisioning; + int pending_invite_ssid_id; + int show_group_started; + u8 go_dev_addr[ETH_ALEN]; + int pending_pd_before_join; + u8 pending_join_iface_addr[ETH_ALEN]; + u8 pending_join_dev_addr[ETH_ALEN]; + int pending_join_wps_method; + unsigned int roc_waiting_drv_freq; + int force_long_sd; + + /* + * Whether cross connection is disallowed by the AP to which this + * interface is associated (only valid if there is an association). + */ + int cross_connect_disallowed; + + /* + * Whether this P2P group is configured to use cross connection (only + * valid if this is P2P GO interface). The actual cross connect packet + * forwarding may not be configured depending on the uplink status. + */ + int cross_connect_enabled; + + /* Whether cross connection forwarding is in use at the moment. */ + int cross_connect_in_use; + + /* + * Uplink interface name for cross connection + */ + char cross_connect_uplink[100]; +#endif /* CONFIG_P2P */ + struct wpa_ssid *bgscan_ssid; const struct bgscan_ops *bgscan; void *bgscan_priv; @@ -438,6 +525,7 @@ struct wpa_supplicant { int after_wps; unsigned int wps_freq; int wps_fragment_size; + int auto_reconnect_disabled; }; @@ -501,6 +589,7 @@ void wpa_supplicant_rx_eapol(void *ctx, const u8 *src_addr, enum wpa_key_mgmt key_mgmt2driver(int key_mgmt); enum wpa_cipher cipher_suite2driver(int cipher); void wpa_supplicant_update_config(struct wpa_supplicant *wpa_s); +void wpa_supplicant_clear_status(struct wpa_supplicant *wpa_s); /* events.c */ void wpa_supplicant_mark_disassoc(struct wpa_supplicant *wpa_s);