ap_list.h

Go to the documentation of this file.
00001 
00019 #ifndef AP_LIST_H
00020 #define AP_LIST_H
00021 
00022 struct ap_info {
00023         /* Note: next/prev pointers are updated whenever a new beacon is
00024          * received because these are used to find the least recently used
00025          * entries. iter_next/iter_prev are updated only when adding new BSSes
00026          * and when removing old ones. These should be used when iterating
00027          * through the table in a manner that allows beacons to be received
00028          * during the iteration. */
00029         struct ap_info *next; /* next entry in AP list */
00030         struct ap_info *prev; /* previous entry in AP list */
00031         struct ap_info *hnext; /* next entry in hash table list */
00032         struct ap_info *iter_next; /* next entry in AP iteration list */
00033         struct ap_info *iter_prev; /* previous entry in AP iteration list */
00034         u8 addr[6];
00035         u16 beacon_int;
00036         u16 capability;
00037         u8 supported_rates[WLAN_SUPP_RATES_MAX];
00038         u8 ssid[33];
00039         size_t ssid_len;
00040         int wpa;
00041         int erp; /* ERP Info or -1 if ERP info element not present */
00042 
00043         int phytype; /* .11a / .11b / .11g / Atheros Turbo */
00044         int channel;
00045         int datarate; /* in 100 kbps */
00046         int ssi_signal;
00047 
00048         int ht_support;
00049 
00050         unsigned int num_beacons; /* number of beacon frames received */
00051         time_t last_beacon;
00052 
00053         int already_seen; /* whether API call AP-NEW has already fetched
00054                            * information about this AP */
00055 };
00056 
00057 struct ieee802_11_elems;
00058 struct hostapd_frame_info;
00059 
00060 struct ap_info * ap_get_ap(struct hostapd_iface *iface, u8 *sta);
00061 int ap_ap_for_each(struct hostapd_iface *iface,
00062                    int (*func)(struct ap_info *s, void *data), void *data);
00063 void ap_list_process_beacon(struct hostapd_iface *iface,
00064                             struct ieee80211_mgmt *mgmt,
00065                             struct ieee802_11_elems *elems,
00066                             struct hostapd_frame_info *fi);
00067 #ifdef NEED_AP_MLME
00068 int ap_list_init(struct hostapd_iface *iface);
00069 void ap_list_deinit(struct hostapd_iface *iface);
00070 #else /* NEED_AP_MLME */
00071 static inline int ap_list_init(struct hostapd_iface *iface)
00072 {
00073         return 0;
00074 }
00075 
00076 static inline void ap_list_deinit(struct hostapd_iface *iface)
00077 {
00078 }
00079 #endif /* NEED_AP_MLME */
00080 int ap_list_reconfig(struct hostapd_iface *iface,
00081                      struct hostapd_config *oldconf);
00082 
00083 #endif /* AP_LIST_H */
00084 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on Sat Nov 21 23:16:47 2009 for hostapd by  doxygen 1.6.1