#include "rtllib.h"
#include <linux/random.h>
#include <linux/delay.h>
#include <linux/uaccess.h>
#include <linux/etherdevice.h>
#include <linux/ieee80211.h>
static void rtllib_sta_wakeup(struct rtllib_device *ieee, short nl);
static short rtllib_is_54g(struct rtllib_network *net)
{ … }
static unsigned int rtllib_MFIE_rate_len(struct rtllib_device *ieee)
{ … }
static void rtllib_mfie_brate(struct rtllib_device *ieee, u8 **tag_p)
{ … }
static void rtllib_mfie_grate(struct rtllib_device *ieee, u8 **tag_p)
{ … }
static void rtllib_wmm_info(struct rtllib_device *ieee, u8 **tag_p)
{ … }
static void rtllib_turbo_info(struct rtllib_device *ieee, u8 **tag_p)
{ … }
static void enqueue_mgmt(struct rtllib_device *ieee, struct sk_buff *skb)
{ … }
static void init_mgmt_queue(struct rtllib_device *ieee)
{ … }
u8 mgnt_query_tx_rate_exclude_cck_rates(struct rtllib_device *ieee)
{ … }
static u8 mgnt_query_mgnt_frame_tx_rate(struct rtllib_device *ieee)
{ … }
inline void softmac_mgmt_xmit(struct sk_buff *skb, struct rtllib_device *ieee)
{ … }
static inline void
softmac_ps_mgmt_xmit(struct sk_buff *skb,
struct rtllib_device *ieee)
{ … }
static inline struct sk_buff *rtllib_probe_req(struct rtllib_device *ieee)
{ … }
void rtllib_enable_net_monitor_mode(struct net_device *dev,
bool init_state)
{ … }
void rtllib_disable_net_monitor_mode(struct net_device *dev, bool init_state)
{ … }
static void rtllib_send_probe(struct rtllib_device *ieee)
{ … }
static void rtllib_send_probe_requests(struct rtllib_device *ieee)
{ … }
static void rtllib_softmac_scan_syncro(struct rtllib_device *ieee)
{ … }
static void rtllib_softmac_scan_wq(void *data)
{ … }
static void rtllib_softmac_stop_scan(struct rtllib_device *ieee)
{ … }
void rtllib_stop_scan(struct rtllib_device *ieee)
{ … }
EXPORT_SYMBOL(…);
void rtllib_stop_scan_syncro(struct rtllib_device *ieee)
{ … }
EXPORT_SYMBOL(…);
bool rtllib_act_scanning(struct rtllib_device *ieee, bool sync_scan)
{ … }
EXPORT_SYMBOL(…);
static void rtllib_start_scan(struct rtllib_device *ieee)
{ … }
void rtllib_start_scan_syncro(struct rtllib_device *ieee)
{ … }
EXPORT_SYMBOL(…);
static inline struct sk_buff *
rtllib_authentication_req(struct rtllib_network *beacon,
struct rtllib_device *ieee,
int challengelen, u8 *daddr)
{ … }
static struct sk_buff *rtllib_null_func(struct rtllib_device *ieee, short pwr)
{ … }
static struct sk_buff *rtllib_pspoll_func(struct rtllib_device *ieee)
{ … }
static inline int sec_is_in_pmkid_list(struct rtllib_device *ieee, u8 *bssid)
{ … }
static inline struct sk_buff *
rtllib_association_req(struct rtllib_network *beacon,
struct rtllib_device *ieee)
{ … }
static void rtllib_associate_abort(struct rtllib_device *ieee)
{ … }
static void rtllib_associate_abort_cb(struct timer_list *t)
{ … }
static void rtllib_associate_step1(struct rtllib_device *ieee, u8 *daddr)
{ … }
static void rtllib_auth_challenge(struct rtllib_device *ieee, u8 *challenge,
int chlen)
{ … }
static void rtllib_associate_step2(struct rtllib_device *ieee)
{ … }
static void rtllib_associate_complete_wq(void *data)
{ … }
static void rtllib_sta_send_associnfo(struct rtllib_device *ieee)
{ … }
static void rtllib_associate_complete(struct rtllib_device *ieee)
{ … }
static void rtllib_associate_procedure_wq(void *data)
{ … }
inline void rtllib_softmac_new_net(struct rtllib_device *ieee,
struct rtllib_network *net)
{ … }
static void rtllib_softmac_check_all_nets(struct rtllib_device *ieee)
{ … }
static inline int auth_parse(struct net_device *dev, struct sk_buff *skb,
u8 **challenge, int *chlen)
{ … }
static inline u16 assoc_parse(struct rtllib_device *ieee, struct sk_buff *skb,
int *aid)
{ … }
void rtllib_sta_ps_send_null_frame(struct rtllib_device *ieee, short pwr)
{ … }
EXPORT_SYMBOL(…);
void rtllib_sta_ps_send_pspoll_frame(struct rtllib_device *ieee)
{ … }
static short rtllib_sta_ps_sleep(struct rtllib_device *ieee, u64 *time)
{ … }
static inline void rtllib_sta_ps(struct work_struct *work)
{ … }
static void rtllib_sta_wakeup(struct rtllib_device *ieee, short nl)
{ … }
void rtllib_ps_tx_ack(struct rtllib_device *ieee, short success)
{ … }
EXPORT_SYMBOL(…);
static void rtllib_process_action(struct rtllib_device *ieee,
struct sk_buff *skb)
{ … }
static inline int
rtllib_rx_assoc_resp(struct rtllib_device *ieee, struct sk_buff *skb,
struct rtllib_rx_stats *rx_stats)
{ … }
static void rtllib_rx_auth_resp(struct rtllib_device *ieee, struct sk_buff *skb)
{ … }
static inline int
rtllib_rx_auth(struct rtllib_device *ieee, struct sk_buff *skb,
struct rtllib_rx_stats *rx_stats)
{ … }
static inline int
rtllib_rx_deauth(struct rtllib_device *ieee, struct sk_buff *skb)
{ … }
inline int rtllib_rx_frame_softmac(struct rtllib_device *ieee,
struct sk_buff *skb,
struct rtllib_rx_stats *rx_stats, u16 type,
u16 stype)
{ … }
void rtllib_softmac_xmit(struct rtllib_txb *txb, struct rtllib_device *ieee)
{ … }
void rtllib_reset_queue(struct rtllib_device *ieee)
{ … }
EXPORT_SYMBOL(…);
void rtllib_stop_all_queues(struct rtllib_device *ieee)
{ … }
void rtllib_wake_all_queues(struct rtllib_device *ieee)
{ … }
static void rtllib_start_bss(struct rtllib_device *ieee)
{ … }
static void rtllib_link_change_wq(void *data)
{ … }
void rtllib_disassociate(struct rtllib_device *ieee)
{ … }
static void rtllib_associate_retry_wq(void *data)
{ … }
void rtllib_softmac_stop_protocol(struct rtllib_device *ieee)
{ … }
EXPORT_SYMBOL(…);
void rtllib_stop_protocol(struct rtllib_device *ieee)
{ … }
void rtllib_softmac_start_protocol(struct rtllib_device *ieee)
{ … }
EXPORT_SYMBOL(…);
void rtllib_start_protocol(struct rtllib_device *ieee)
{ … }
int rtllib_softmac_init(struct rtllib_device *ieee)
{ … }
void rtllib_softmac_free(struct rtllib_device *ieee)
{ … }
static inline struct sk_buff *
rtllib_disauth_skb(struct rtllib_network *beacon,
struct rtllib_device *ieee, u16 rsn)
{ … }
static inline struct sk_buff *
rtllib_disassociate_skb(struct rtllib_network *beacon,
struct rtllib_device *ieee, u16 rsn)
{ … }
void send_disassociation(struct rtllib_device *ieee, bool deauth, u16 rsn)
{ … }
u8 rtllib_ap_sec_type(struct rtllib_device *ieee)
{ … }
static void rtllib_mlme_disassociate_request(struct rtllib_device *rtllib,
u8 *addr, u8 rsn)
{ … }
static void rtllib_mgnt_disconnect_ap(struct rtllib_device *rtllib, u8 rsn)
{ … }
bool rtllib_mgnt_disconnect(struct rtllib_device *rtllib, u8 rsn)
{ … }
EXPORT_SYMBOL(…);
void notify_wx_assoc_event(struct rtllib_device *ieee)
{ … }
EXPORT_SYMBOL(…);