ap_list.h revision 444d567b27731d8572ef37697dd12fd1c37c2f24
18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/* 28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * hostapd / AP table 38d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright (c) 2002-2003, Jouni Malinen <j@w1.fi> 48d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright (c) 2003-2004, Instant802 Networks, Inc. 58d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright (c) 2006, Devicescape Software, Inc. 68d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 7c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * This software may be distributed under the terms of the BSD license. 8c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * See README for more details. 98d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifndef AP_LIST_H 128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define AP_LIST_H 138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct ap_info { 158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt /* Note: next/prev pointers are updated whenever a new beacon is 168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * received because these are used to find the least recently used 17444d567b27731d8572ef37697dd12fd1c37c2f24Dmitry Shmidt * entries. */ 188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt struct ap_info *next; /* next entry in AP list */ 198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt struct ap_info *prev; /* previous entry in AP list */ 208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt struct ap_info *hnext; /* next entry in hash table list */ 218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt u8 addr[6]; 228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt u8 supported_rates[WLAN_SUPP_RATES_MAX]; 238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int erp; /* ERP Info or -1 if ERP info element not present */ 248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int channel; 268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt int ht_support; 288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt os_time_t last_beacon; 308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct ieee802_11_elems; 338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct hostapd_frame_info; 348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtvoid ap_list_process_beacon(struct hostapd_iface *iface, 368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt const struct ieee80211_mgmt *mgmt, 378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt struct ieee802_11_elems *elems, 388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt struct hostapd_frame_info *fi); 398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef NEED_AP_MLME 408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint ap_list_init(struct hostapd_iface *iface); 418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtvoid ap_list_deinit(struct hostapd_iface *iface); 428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#else /* NEED_AP_MLME */ 438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstatic inline int ap_list_init(struct hostapd_iface *iface) 448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt{ 458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt return 0; 468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt} 478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstatic inline void ap_list_deinit(struct hostapd_iface *iface) 498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt{ 508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt} 518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* NEED_AP_MLME */ 528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* AP_LIST_H */ 54