aboutsummaryrefslogtreecommitdiff
path: root/src/DSi_NWifi.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/DSi_NWifi.h')
-rw-r--r--src/DSi_NWifi.h29
1 files changed, 26 insertions, 3 deletions
diff --git a/src/DSi_NWifi.h b/src/DSi_NWifi.h
index e5fe637..a72d54d 100644
--- a/src/DSi_NWifi.h
+++ b/src/DSi_NWifi.h
@@ -1,5 +1,5 @@
/*
- Copyright 2016-2019 Arisotura
+ Copyright 2016-2020 Arisotura
This file is part of melonDS.
@@ -28,6 +28,8 @@ public:
DSi_NWifi(DSi_SDHost* host);
~DSi_NWifi();
+ void Reset();
+
void SendCMD(u8 cmd, u32 param);
void SendACMD(u8 cmd, u32 param);
@@ -35,6 +37,10 @@ public:
void SetIRQ_F1_Counter(u32 n);
+ void _MSTimer();
+
+ static void MSTimer(u32 param);
+
private:
u32 TransferCmd;
u32 TransferAddr;
@@ -60,9 +66,18 @@ private:
void HandleCommand();
void BMI_Command();
+ void HTC_Command();
void WMI_Command();
- void SendWMIFrame(u8* data, u32 len, u8 ep, u8 flags, u16 ctrl);
+ void WMI_ConnectToNetwork();
+ void WMI_SendPacket(u16 len);
+
+ void SendWMIEvent(u8 ep, u16 id, u8* data, u32 len);
+ void SendWMIAck(u8 ep);
+ void SendWMIBSSInfo(u8 type, u8* data, u32 len);
+
+ void CheckRX();
+ void DrainRXBuffer();
u32 WindowRead(u32 addr);
void WindowWrite(u32 addr, u32 val);
@@ -102,7 +117,7 @@ private:
while (!Mailbox[n]->IsEmpty()) Mailbox[n]->Read();
}
- FIFO<u8>* Mailbox[8];
+ FIFO<u8>* Mailbox[9];
u8 F0_IRQEnable;
u8 F0_IRQStatus;
@@ -116,6 +131,14 @@ private:
u32 EEPROMReady;
u32 BootPhase;
+
+ u32 ErrorMask;
+ u32 ScanTimer;
+
+ u64 BeaconTimer;
+ u32 ConnectionStatus;
+
+ u8 LANBuffer[2048];
};
#endif // DSI_NWIFI_H