Go to the source code of this file.
Defines | |
#define | __WLANDRV_C__ |
#define | Debug(_x) |
#define | Debug2(_x) |
#define | panic |
#define | WI_LOCK(sc) NutEventWait(&hDeviceSemaphore,0) |
#define | WI_UNLOCK(sc) NutEventPost(&hDeviceSemaphore) |
#define | ieee80211_new_state(_a, _b, _c) _a->ic_state=_b |
#define | isset(_a, _b) (*_a & (1<<_b)) |
#define | CSR_WRITE_2(_a, _b, _c) pcmcia_WriteReg(_b,_c) |
#define | CSR_READ_2(_a, _b) pcmcia_ReadReg(_b) |
#define | WLAN_MIN_ETHERNET_FRAME_LEN 60 |
#define | WLAN_MAX_ETHERNET_FRAME_LEN 1514 |
#define | WLAN_ETHERNET_HEADER_LEN 14 |
#define | WI_INTRS (WI_EV_RX | WI_EV_ALLOC | WI_EV_INFO) |
Functions | |
void | DumpWlanData (BYTE *pBuffer, WORD wBufferSize) |
void | wi_stop (struct wi_softc *sc, int disable) |
void | RxThread (void *arg) |
int | wlandrv_ProbeDevice (void) |
int | wlandrv_Attach (device_t dev) |
void | wlandrv_Init (device_t dev) |
int | wlandrv_PutPacket (NUTDEVICE *dev, NETBUF *nb) |
int | wlandrv_IOCTL (NUTDEVICE *dev, int req, void *conf) |
Variables | |
struct wi_card_ident | wi_card_ident [] |
#define WI_LOCK | ( | sc | ) | NutEventWait(&hDeviceSemaphore,0) |
Definition at line 114 of file wlandrv.c.
Referenced by RxThread(), wlandrv_Init(), wlandrv_IOCTL(), and wlandrv_PutPacket().
#define WI_UNLOCK | ( | sc | ) | NutEventPost(&hDeviceSemaphore) |
Definition at line 115 of file wlandrv.c.
Referenced by RxThread(), wlandrv_Init(), wlandrv_IOCTL(), and wlandrv_PutPacket().
#define ieee80211_new_state | ( | _a, | |||
_b, | |||||
_c | ) | _a->ic_state=_b |
Definition at line 117 of file wlandrv.c.
Referenced by wi_stop(), and wlandrv_Init().
#define CSR_WRITE_2 | ( | _a, | |||
_b, | |||||
_c | ) | pcmcia_WriteReg(_b,_c) |
Definition at line 120 of file wlandrv.c.
Referenced by RxThread(), wi_stop(), and wlandrv_Init().
#define WI_INTRS (WI_EV_RX | WI_EV_ALLOC | WI_EV_INFO) |
Definition at line 133 of file wlandrv.c.
Referenced by RxThread(), and wlandrv_Init().
void wi_stop | ( | struct wi_softc * | sc, | |
int | disable | |||
) |
Definition at line 371 of file wlandrv.c.
References CSR_WRITE_2, ieee80211_new_state, IEEE80211_S_INIT, WI_SOFTC::sc_enabled, WI_SOFTC::sc_ic, WI_SOFTC::sc_portnum, WI_SOFTC::sc_scan_timer, WI_SOFTC::sc_tx_timer, WI_CMD_DISABLE, WI_SOFTC::wi_gone, and WI_INT_EN.
Referenced by wlandrv_Init(), and wlandrv_IOCTL().
void RxThread | ( | void * | arg | ) |
Definition at line 1087 of file wlandrv.c.
References CSR_WRITE_2, Debug, WI_SOFTC::EventStatus, WI_SOFTC::InterruptEvent, NutEventWait(), WI_SOFTC::sc_enabled, WI_EV_ALLOC, WI_EV_INFO, WI_EV_RX, WI_EV_TX_EXC, WI_SOFTC::wi_gone, WI_INT_EN, WI_INTRS, WI_LOCK, WI_UNLOCK, and wlandrv_Init().
Referenced by wlandrv_Init().
int wlandrv_ProbeDevice | ( | void | ) |
Definition at line 1385 of file wlandrv.c.
References NutSleep(), pcmcia_ReadReg(), pcmcia_WriteMem(), pcmcia_WriteReg(), RESET_BIT, RESET_EN_PORT, RESET_PORT, WI_COR_OFFSET, WI_COR_VALUE, WI_HFA384X_SWSUPPORT0_OFF, and WI_PRISM2STA_MAGIC.
Referenced by WlanInit().
int wlandrv_Attach | ( | device_t | dev | ) |
Definition at line 1434 of file wlandrv.c.
References ieee80211com::ChannelList, Debug, device_get_softc, ENXIO, htole16, ieee80211com::ic_caps, ieee80211com::ic_fixed_rate, ieee80211com::ic_ibss_chan, ieee80211com::ic_myaddr, ieee80211com::ic_opmode, ieee80211com::ic_state, ieee80211com::ic_sup_rates, IEEE80211_ADDR_LEN, IEEE80211_AUTH_OPEN, IEEE80211_C_AHDEMO, IEEE80211_C_HOSTAP, IEEE80211_C_IBSS, IEEE80211_C_MONITOR, IEEE80211_C_PMGT, IEEE80211_C_WEP, IEEE80211_M_STA, IEEE80211_MODE_11B, IEEE80211_RATE_MAXSIZE, IEEE80211_RATE_SIZE, IEEE80211_S_INIT, le16toh, NutEventPost(), ieee80211_rateset::rs_nrates, ieee80211_rateset::rs_rates, WI_SOFTC::sc_authtype, WI_SOFTC::sc_cnfauthmode, WI_SOFTC::sc_dbm_offset, WI_SOFTC::sc_firmware_type, WI_SOFTC::sc_flags, WI_SOFTC::sc_ibss_port, WI_SOFTC::sc_ic, WI_SOFTC::sc_max_datalen, WI_SOFTC::sc_max_rssi, WI_SOFTC::sc_min_rssi, WI_SOFTC::sc_ntxbuf, WI_SOFTC::sc_portnum, WI_SOFTC::sc_roaming_mode, WI_SOFTC::sc_sta_firmware_ver, WI_SOFTC::sc_system_scale, WI_SOFTC::wi_cmd_count, WI_DEFAULT_AUTHTYPE, WI_DEFAULT_PORT, WI_DEFAULT_ROAMING, WI_FLAGS_BUG_AUTOINC, WI_FLAGS_HAS_DBMADJUST, WI_FLAGS_HAS_DIVERSITY, WI_FLAGS_HAS_FRAGTHR, WI_FLAGS_HAS_MOR, WI_FLAGS_HAS_ROAMING, WI_FLAGS_HAS_SYSSCALE, WI_INTERSIL, WI_LUCENT, WI_LUCENT_DBM_OFFSET, WI_LUCENT_MAX_RSSI, WI_LUCENT_MIN_RSSI, WI_NTXBUF, WI_PRISM_DBM_OFFSET, WI_PRISM_MAX_RSSI, WI_PRISM_MIN_RSSI, WI_RID_CHANNEL_LIST, WI_RID_DATA_RATES, WI_RID_DBM_ADJUST, WI_RID_MAC_NODE, WI_RID_OWN_CHNL, WI_RID_WEP_AVAIL, and WI_SYMBOL.
Referenced by WlanInit().
void wlandrv_Init | ( | device_t | dev | ) |
Definition at line 1660 of file wlandrv.c.
References CSR_WRITE_2, WI_SOFTC::d_fid, WI_SOFTC::d_len, Debug, device_get_softc, EICR, FALSE, htole16, ieee80211com::ic_caps, ieee80211com::ic_des_essid, ieee80211com::ic_des_esslen, ieee80211com::ic_flags, ieee80211com::ic_ibss_chan, ieee80211com::ic_myaddr, ieee80211com::ic_opmode, IEEE80211_ADDR_LEN, IEEE80211_C_WEP, IEEE80211_CHAN_ANYC, IEEE80211_F_DESBSSID, IEEE80211_F_IBSSON, IEEE80211_F_PMGTON, IEEE80211_M_AHDEMO, IEEE80211_M_HOSTAP, IEEE80211_M_IBSS, IEEE80211_M_MONITOR, IEEE80211_M_STA, IEEE80211_MAX_LEN, ieee80211_new_state, IEEE80211_S_RUN, INT7, WI_SOFTC::InterruptInitDone, memset(), NutRegisterIrqHandler(), NutThreadCreate(), WI_SOFTC::PromiscuousMode, RxThread(), sbi, WI_SOFTC::sc_buflen, WI_SOFTC::sc_enabled, WI_SOFTC::sc_firmware_type, WI_SOFTC::sc_flags, WI_SOFTC::sc_ibss_port, WI_SOFTC::sc_ic, WI_SOFTC::sc_max_datalen, WI_SOFTC::sc_microwave_oven, WI_SOFTC::sc_ntxbuf, WI_SOFTC::sc_portnum, WI_SOFTC::sc_roaming_mode, WI_SOFTC::sc_system_scale, WI_SOFTC::sc_txcur, WI_SOFTC::sc_txd, WI_SOFTC::sc_txnext, sig_INTERRUPT7, WI_CMD_DEBUG, WI_CMD_DISABLE, WI_CMD_ENABLE, WI_FLAGS_HAS_FRAGTHR, WI_FLAGS_HAS_MOR, WI_FLAGS_HAS_ROAMING, WI_FLAGS_HAS_SYSSCALE, WI_FLAGS_OUTRANGE, WI_SOFTC::wi_gone, WI_INT_EN, WI_INTERSIL, WI_INTRS, WI_LOCK, WI_LUCENT, WI_PORT0, WI_PORTTYPE_ADHOC, WI_PORTTYPE_BSS, WI_PORTTYPE_HOSTAP, WI_RID_BASIC_RATE, WI_RID_CREATE_IBSS, WI_RID_DESIRED_SSID, WI_RID_DTIM_PERIOD, WI_RID_FRAG_THRESH, WI_RID_MAC_NODE, WI_RID_MAX_DATALEN, WI_RID_MAX_SLEEP, WI_RID_MICROWAVE_OVEN, WI_RID_NODENAME, WI_RID_OWN_BEACON_INT, WI_RID_OWN_CHNL, WI_RID_OWN_SSID, WI_RID_PM_ENABLED, WI_RID_PORTTYPE, WI_RID_PROMISC, WI_RID_ROAMING_MODE, WI_RID_RTS_THRESH, WI_RID_SUPPORT_RATE, WI_RID_SYSTEM_SCALE, wi_stop(), WI_SYMBOL, WI_TEST_MONITOR, and WI_UNLOCK.
Referenced by RxThread(), wlandrv_IOCTL(), and WlanInit().
int wlandrv_PutPacket | ( | NUTDEVICE * | dev, | |
NETBUF * | nb | |||
) |
Definition at line 1907 of file wlandrv.c.
References WI_SOFTC::d_fid, WI_SOFTC::d_len, Debug, DumpWlanData(), IEEE80211_ADDR_LEN, memcpy(), memset(), WI_SOFTC::sc_ntxbuf, WI_SOFTC::sc_txcur, WI_SOFTC::sc_txd, WI_SOFTC::sc_txnext, SWAP, WI_CMD_TX, WI_SOFTC::wi_gone, WI_LOCK, WI_RECLAIM, and WI_UNLOCK.
Referenced by WlanOutput().
int wlandrv_IOCTL | ( | NUTDEVICE * | dev, | |
int | req, | |||
void * | conf | |||
) |
Definition at line 2031 of file wlandrv.c.
References ieee80211com::ic_des_essid, ieee80211com::ic_des_esslen, ieee80211com::ic_flags, ieee80211com::ic_myaddr, ieee80211com::ic_nw_keys, ieee80211com::ic_opmode, ieee80211com::ic_wep_txkey, IEEE80211_ADDR_LEN, IEEE80211_F_WEPON, IEEE80211_M_IBSS, IEEE80211_M_STA, memcpy(), memset(), WI_SOFTC::sc_ic, strlen(), WI_SOFTC::wi_gone, WI_LOCK, WI_RID_CUR_TX_RATE, WI_RID_CURRENT_BSSID, WI_RID_CURRENT_CHAN, WI_RID_DBM_COMMS_QUAL, WI_RID_PORT_STAT, wi_stop(), WI_UNLOCK, ieee80211_wepkey::wk_key, ieee80211_wepkey::wk_len, WLAN_IOCTL_GET_MAC_ADDRESS, WLAN_IOCTL_GET_STATUS, WLAN_IOCTL_SET_CONFIG, WLAN_MODE_ADHOC, WLAN_MODE_STATION, WLAN_MODE_STOP, WLAN_USE_128BIT_WEP, WLAN_USE_64BIT_WEP, WLAN_USE_NO_WEP, WLAN_WEP_MAX_KEY_COUNT, WLAN_WEP_MAX_KEY_SIZE, and wlandrv_Init().
Referenced by WlanIOCtl().
struct wi_card_ident wi_card_ident[] |