summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/nds/dswifi/common/source/wifi_shared.h
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/arm/nds/dswifi/common/source/wifi_shared.h')
-rw-r--r--c/src/lib/libbsp/arm/nds/dswifi/common/source/wifi_shared.h284
1 files changed, 0 insertions, 284 deletions
diff --git a/c/src/lib/libbsp/arm/nds/dswifi/common/source/wifi_shared.h b/c/src/lib/libbsp/arm/nds/dswifi/common/source/wifi_shared.h
deleted file mode 100644
index 8656feea6d..0000000000
--- a/c/src/lib/libbsp/arm/nds/dswifi/common/source/wifi_shared.h
+++ /dev/null
@@ -1,284 +0,0 @@
-// DS Wifi interface code
-// Copyright (C) 2005-2006 Stephen Stair - sgstair@akkit.org - http://www.akkit.org
-// wifi_shared.h - Shared structures to be used by arm9 and arm7
-/******************************************************************************
-DSWifi Lib and test materials are licenced under the MIT open source licence:
-Copyright (c) 2005-2006 Stephen Stair
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-******************************************************************************/
-
-#ifndef WIFI_SHARED_H
-#define WIFI_SHARED_H
-
-
-#include <nds.h>
-
-
-
-// on spinlock contention, the side unsuccessfully attempting the lock reverts the lock.
-// if the unlocking side sees the lock incorrectly set, the unlocking side will delay until it has reverted to the correct value, then continue unlocking.
-// there should be a delay of at least about ~10-20 cycles between a lock and unlock, to prevent contention.
-#define SPINLOCK_NOBODY 0x0000
-#define SPINLOCK_ARM7 0x0001
-#define SPINLOCK_ARM9 0x0002
-
-#define SPINLOCK_OK 0x0000
-#define SPINLOCK_INUSE 0x0001
-#define SPINLOCK_ERROR 0x0002
-
-#ifdef ARM7
-#define SPINLOCK_VALUE SPINLOCK_ARM7
-#endif
-#ifdef ARM9
-#define SPINLOCK_VALUE SPINLOCK_ARM9
-#endif
-
-
-#define Spinlock_Acquire(structtolock) SLasm_Acquire(&((structtolock).spinlock),SPINLOCK_VALUE)
-#define Spinlock_Release(structtolock) SLasm_Release(&((structtolock).spinlock),SPINLOCK_VALUE)
-#define Spinlock_Check(structtolock) (((structtolock).spinlock)!=SPINLOCK_NOBODY)
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-extern u32 SLasm_Acquire(volatile u32 * lockaddr, u32 lockvalue);
-extern u32 SLasm_Release(volatile u32 * lockaddr, u32 lockvalue);
-
-#ifdef __cplusplus
-};
-#endif
-
-// If for whatever reason you want to ditch SGIP and use your own stack, comment out the following line.
-#define WIFI_USE_TCP_SGIP 1
-
-#define WIFI_RXBUFFER_SIZE (1024*12)
-#define WIFI_TXBUFFER_SIZE (1024*24)
-#define WIFI_MAX_AP 32
-#define WIFI_MAX_ASSOC_RETRY 30
-#define WIFI_PS_POLL_CONST 2
-
-#define WIFI_MAX_PROBE 4
-
-#define WIFI_AP_TIMEOUT 40
-
-#define WFLAG_PACKET_DATA 0x0001
-#define WFLAG_PACKET_MGT 0x0002
-#define WFLAG_PACKET_BEACON 0x0004
-#define WFLAG_PACKET_CTRL 0x0008
-
-
-#define WFLAG_PACKET_ALL 0xFFFF
-
-#define WFLAG_ARM7_ACTIVE 0x0001
-#define WFLAG_ARM7_RUNNING 0x0002
-
-#define WFLAG_ARM9_ACTIVE 0x0001
-#define WFLAG_ARM9_USELED 0x0002
-#define WFLAG_ARM9_ARM7READY 0x0004
-#define WFLAG_ARM9_NETUP 0x0008
-#define WFLAG_ARM9_NETREADY 0x0010
-
-#define WFLAG_ARM9_INITFLAGMASK 0x0002
-
-#define WFLAG_IP_GOTDHCP 0x0001
-
-// request - request flags
-#define WFLAG_REQ_APCONNECT 0x0001
-#define WFLAG_REQ_APCOPYVALUES 0x0002
-#define WFLAG_REQ_APADHOC 0x0008
-#define WFLAG_REQ_PROMISC 0x0010
-#define WFLAG_REQ_USEWEP 0x0020
-
-// request - informational flags
-#define WFLAG_REQ_APCONNECTED 0x8000
-
-#define WFLAG_APDATA_ADHOC 0x0001
-#define WFLAG_APDATA_WEP 0x0002
-#define WFLAG_APDATA_WPA 0x0004
-#define WFLAG_APDATA_COMPATIBLE 0x0008
-#define WFLAG_APDATA_EXTCOMPATIBLE 0x0010
-#define WFLAG_APDATA_SHORTPREAMBLE 0x0020
-#define WFLAG_APDATA_ACTIVE 0x8000
-
-
-enum WIFI_RETURN {
- WIFI_RETURN_OK = 0, // Everything went ok
- WIFI_RETURN_LOCKFAILED = 1, // the spinlock attempt failed (it wasn't retried cause that could lock both cpus- retry again after a delay.
- WIFI_RETURN_ERROR = 2, // There was an error in attempting to complete the requested task.
- WIFI_RETURN_PARAMERROR = 3, // There was an error in the parameters passed to the function.
-};
-
-enum WIFI_STATS {
- // software stats
- WSTAT_RXQUEUEDPACKETS, // number of packets queued into the rx fifo
- WSTAT_TXQUEUEDPACKETS, // number of packets queued into the tx fifo
- WSTAT_RXQUEUEDBYTES, // number of bytes queued into the rx fifo
- WSTAT_TXQUEUEDBYTES, // number of bytes queued into the tx fifo
- WSTAT_RXQUEUEDLOST, // number of packets lost due to space limitations in queuing
- WSTAT_TXQUEUEDREJECTED, // number of packets rejected due to space limitations in queuing
- WSTAT_RXPACKETS,
- WSTAT_RXBYTES,
- WSTAT_RXDATABYTES,
- WSTAT_TXPACKETS,
- WSTAT_TXBYTES,
- WSTAT_TXDATABYTES,
- WSTAT_ARM7_UPDATES,
- WSTAT_DEBUG,
- // harware stats (function mostly unknown.)
- WSTAT_HW_1B0,WSTAT_HW_1B1,WSTAT_HW_1B2,WSTAT_HW_1B3,WSTAT_HW_1B4,WSTAT_HW_1B5,WSTAT_HW_1B6,WSTAT_HW_1B7,
- WSTAT_HW_1B8,WSTAT_HW_1B9,WSTAT_HW_1BA,WSTAT_HW_1BB,WSTAT_HW_1BC,WSTAT_HW_1BD,WSTAT_HW_1BE,WSTAT_HW_1BF,
- WSTAT_HW_1C0,WSTAT_HW_1C1,WSTAT_HW_1C4,WSTAT_HW_1C5,
- WSTAT_HW_1D0,WSTAT_HW_1D1,WSTAT_HW_1D2,WSTAT_HW_1D3,WSTAT_HW_1D4,WSTAT_HW_1D5,WSTAT_HW_1D6,WSTAT_HW_1D7,
- WSTAT_HW_1D8,WSTAT_HW_1D9,WSTAT_HW_1DA,WSTAT_HW_1DB,WSTAT_HW_1DC,WSTAT_HW_1DD,WSTAT_HW_1DE,WSTAT_HW_1DF,
-
- NUM_WIFI_STATS
-};
-
-
-enum WIFI_MODE {
- WIFIMODE_DISABLED,
- WIFIMODE_NORMAL,
- WIFIMODE_SCAN,
- WIFIMODE_ASSOCIATE,
- WIFIMODE_ASSOCIATED,
- WIFIMODE_DISASSOCIATE,
- WIFIMODE_CANNOTASSOCIATE,
-};
-enum WIFI_AUTHLEVEL {
- WIFI_AUTHLEVEL_DISCONNECTED,
- WIFI_AUTHLEVEL_AUTHENTICATED,
- WIFI_AUTHLEVEL_ASSOCIATED,
- WIFI_AUTHLEVEL_DEASSOCIATED,
-};
-
-enum WEPMODES {
- WEPMODE_NONE = 0,
- WEPMODE_40BIT = 1,
- WEPMODE_128BIT = 2
-};
-
-enum WIFI_ASSOCSTATUS {
- ASSOCSTATUS_DISCONNECTED, // not *trying* to connect
- ASSOCSTATUS_SEARCHING, // data given does not completely specify an AP, looking for AP that matches the data.
- ASSOCSTATUS_AUTHENTICATING, // connecting...
- ASSOCSTATUS_ASSOCIATING, // connecting...
- ASSOCSTATUS_ACQUIRINGDHCP, // connected to AP, but getting IP data from DHCP
- ASSOCSTATUS_ASSOCIATED, // Connected! (COMPLETE if Wifi_ConnectAP was called to start)
- ASSOCSTATUS_CANNOTCONNECT, // error in connecting... (COMPLETE if Wifi_ConnectAP was called to start)
-};
-
-typedef struct WIFI_TXHEADER {
- u16 enable_flags;
- u16 unknown;
- u16 countup;
- u16 beaconfreq;
- u16 tx_rate;
- u16 tx_length;
-} Wifi_TxHeader;
-
-typedef struct WIFI_RXHEADER {
- u16 a;
- u16 b;
- u16 c;
- u16 d;
- u16 byteLength;
- u16 rssi_;
-} Wifi_RxHeader;
-
-typedef struct WIFI_ACCESSPOINT {
- char ssid[33]; // 0-32byte data, zero
- char ssid_len;
- u8 bssid[6];
- u8 macaddr[6];
- u16 maxrate; // max rate is measured in steps of 1/2Mbit - 5.5Mbit will be represented as 11, or 0x0B
- u32 timectr;
- u16 rssi;
- u16 flags;
- u32 spinlock;
- u8 channel;
- u8 rssi_past[8];
- u8 base_rates[16]; // terminated by a 0 entry
-} Wifi_AccessPoint;
-
-typedef struct WIFI_MAINSTRUCT {
- unsigned long dummy1[8];
- // wifi status
- u16 curChannel, reqChannel;
- u16 curMode, reqMode;
- u16 authlevel,authctr;
- u32 flags9, flags7, reqPacketFlags;
- u16 curReqFlags, reqReqFlags;
- u32 counter7,bootcounter7;
- char MacAddr[6];
- u16 authtype;
- u16 iptype,ipflags;
- u32 ip,snmask,gateway;
-
- // current AP data
- char ssid7[34],ssid9[34];
- u8 bssid7[6], bssid9[6];
- u8 apmac7[6], apmac9[6];
- char wepmode7, wepmode9;
- char wepkeyid7, wepkeyid9;
- u8 wepkey7[20],wepkey9[20];
- u8 baserates7[16], baserates9[16];
- u8 apchannel7, apchannel9;
- u8 maxrate7;
- u16 ap_rssi;
- u16 pspoll_period;
-
- // AP data
- Wifi_AccessPoint aplist[WIFI_MAX_AP];
-
- // probe stuff
- u8 probe9_numprobe;
- u8 probe9_ssidlen[WIFI_MAX_PROBE];
- char probe9_ssid[WIFI_MAX_PROBE][32];
-
- // WFC data
- u8 wfc_enable[4]; // wep mode, or 0x80 for "enabled"
- Wifi_AccessPoint wfc_ap[3];
- unsigned long wfc_config[3][5]; // ip, snmask, gateway, primarydns, 2nddns
- u8 wfc_wepkey[3][16];
-
-
- // wifi data
- u32 rxbufIn, rxbufOut; // bufIn/bufOut have 2-byte granularity.
- u16 rxbufData[WIFI_RXBUFFER_SIZE/2]; // send raw 802.11 data through! rxbuffer is for rx'd data, arm7->arm9 transfer
-
- u32 txbufIn, txbufOut;
- u16 txbufData[WIFI_TXBUFFER_SIZE/2]; // tx buffer is for data to tx, arm9->arm7 transfer
-
- // stats data
- u32 stats[NUM_WIFI_STATS];
-
- u16 debug[30];
-
- u32 random; // semirandom number updated at the convenience of the arm7. use for initial seeds & such.
-
- unsigned long dummy2[8];
-
-} Wifi_MainStruct;
-
-
-
-#endif
-