X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=wpa_supplicant%2Fwnm_sta.h;h=81d815359634ecaeedfaf20bf748494365438001;hb=dd20eabd16da3b7f459eb89eb4670c73a5062498;hp=de87301560da0ed9e79fec8b7c2c4ac2d0668ea1;hpb=dbfb8e82ff69e6c7969b7cd23e53fd39b3e896e7;p=mech_eap.git diff --git a/wpa_supplicant/wnm_sta.h b/wpa_supplicant/wnm_sta.h index de87301..81d8153 100644 --- a/wpa_supplicant/wnm_sta.h +++ b/wpa_supplicant/wnm_sta.h @@ -9,65 +9,43 @@ #ifndef WNM_STA_H #define WNM_STA_H -struct tsf_info { - u8 present; - u8 tsf_offset[2]; - u8 beacon_interval[2]; -}; - -struct condensed_country_string { - u8 present; - u8 country_string[2]; -}; - -struct bss_transition_candidate { - u8 present; - u8 preference; -}; - -struct bss_termination_duration { - u8 present; - u8 duration[12]; -}; - -struct bearing { - u8 present; - u8 bearing[8]; -}; - struct measurement_pilot { - u8 present; u8 measurement_pilot; - u8 num_vendor_specific; - u8 vendor_specific[255]; -}; - -struct rrm_enabled_capabilities { - u8 present; - u8 capabilities[4]; + u8 subelem_len; + u8 subelems[255]; }; struct multiple_bssid { - u8 present; u8 max_bssid_indicator; - u8 num_vendor_specific; - u8 vendor_specific[255]; + u8 subelem_len; + u8 subelems[255]; }; struct neighbor_report { u8 bssid[ETH_ALEN]; - u8 bssid_information[4]; + u32 bssid_info; u8 regulatory_class; u8 channel_number; u8 phy_type; - struct tsf_info *tsf_info; - struct condensed_country_string *con_coun_str; - struct bss_transition_candidate *bss_tran_can; - struct bss_termination_duration *bss_term_dur; - struct bearing *bearing; + u8 preference; /* valid if preference_present=1 */ + u16 tsf_offset; /* valid if tsf_present=1 */ + u16 beacon_int; /* valid if tsf_present=1 */ + char country[2]; /* valid if country_present=1 */ + u8 rm_capab[5]; /* valid if rm_capab_present=1 */ + u16 bearing; /* valid if bearing_present=1 */ + u16 rel_height; /* valid if bearing_present=1 */ + u32 distance; /* valid if bearing_present=1 */ + u64 bss_term_tsf; /* valid if bss_term_present=1 */ + u16 bss_term_dur; /* valid if bss_term_present=1 */ + unsigned int preference_present:1; + unsigned int tsf_present:1; + unsigned int country_present:1; + unsigned int rm_capab_present:1; + unsigned int bearing_present:1; + unsigned int bss_term_present:1; struct measurement_pilot *meas_pilot; - struct rrm_enabled_capabilities *rrm_cap; struct multiple_bssid *mul_bssid; + int freq; }; @@ -77,11 +55,23 @@ int ieee802_11_send_wnmsleep_req(struct wpa_supplicant *wpa_s, void ieee802_11_rx_wnm_action(struct wpa_supplicant *wpa_s, const struct ieee80211_mgmt *mgmt, size_t len); -void wnm_scan_response(struct wpa_supplicant *wpa_s, - struct wpa_scan_results *scan_res); - int wnm_send_bss_transition_mgmt_query(struct wpa_supplicant *wpa_s, - u8 query_reason); + u8 query_reason, int cand_list); void wnm_deallocate_memory(struct wpa_supplicant *wpa_s); + +#ifdef CONFIG_WNM + +int wnm_scan_process(struct wpa_supplicant *wpa_s, int reply_on_fail); + +#else /* CONFIG_WNM */ + +static inline int wnm_scan_process(struct wpa_supplicant *wpa_s, + int reply_on_fail) +{ + return 0; +} + +#endif /* CONFIG_WNM */ + #endif /* WNM_STA_H */