Skip to content

Commit 21d2ef8

Browse files
committed
Add a few comments + Get rid of some magic numbers.
1 parent f3c0490 commit 21d2ef8

1 file changed

Lines changed: 38 additions & 13 deletions

File tree

libogc/wd.c

Lines changed: 38 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,32 @@
3333
#include <string.h>
3434
#include <ogc/machine/processor.h>
3535

36-
#define WD_HEAP_SIZE 0x1000
36+
//#define WD_HEAP_SIZE 0x1000
37+
38+
#define DEFAULT_CHANNEL_BITMAP 0xfffe
39+
40+
enum WDIOCTLV
41+
{
42+
IOCTLV_WD_INVALID = 0x1000,
43+
IOCTLV_WD_GET_MODE = 0x1001, // WD_GetMode
44+
IOCTLV_WD_SET_LINKSTATE = 0x1002, // WD_SetLinkState
45+
IOCTLV_WD_GET_LINKSTATE = 0x1003, // WD_GetLinkState
46+
IOCTLV_WD_SET_CONFIG = 0x1004, // WD_SetConfig
47+
IOCTLV_WD_GET_CONFIG = 0x1005, // WD_GetConfig
48+
IOCTLV_WD_CHANGE_BEACON = 0x1006, // WD_ChangeBeacon
49+
IOCTLV_WD_DISASSOC = 0x1007, // WD_DisAssoc
50+
IOCTLV_WD_MP_SEND_FRAME = 0x1008, // WD_MpSendFrame
51+
IOCTLV_WD_SEND_FRAME = 0x1009, // WD_SendFrame
52+
IOCTLV_WD_SCAN = 0x100a, // WD_Scan
53+
IOCTLV_WD_CALL_WL = 0x100c, // WD_CallWL
54+
IOCTLV_WD_MEASURE_CHANNEL = 0x100b, // WD_MeasureChannel
55+
IOCTLV_WD_GET_LASTERROR = 0x100d, // WD_GetLastError
56+
IOCTLV_WD_GET_INFO = 0x100e, // WD_GetInfo
57+
IOCTLV_WD_CHANGE_GAMEINFO = 0x100f, // WD_ChangeGameInfo
58+
IOCTLV_WD_CHANGE_VTSF = 0x1010, // WD_ChangeVTSF
59+
IOCTLV_WD_RECV_FRAME = 0x8000, // WD_ReceiveFrame
60+
IOCTLV_WD_RECV_NOTIFICATION = 0x8001 // WD_ReceiveNotification
61+
};
3762

3863
extern void usleep(u32 t);
3964

@@ -45,7 +70,7 @@ s32* WD_GetWork() {
4570
}
4671

4772
u8 NCDcommonbuff[0x20] __attribute__((aligned(32)));
48-
s32 NCDheap;
73+
//s32 NCDheap;
4974

5075
s32 NCD_LockWirelessDriver() {
5176
s32 NCD = IOS_Open("/dev/net/ncd/manage", 0);
@@ -90,8 +115,8 @@ u32 NCD_UnlockWirelessDriver(s32 lockid) {
90115
NCD = -1;
91116
return ret;
92117
}
93-
94-
s32 WD_CreateHeap() {
118+
/*
119+
s32 WD_CreateHeap() { // Currently unused.
95120
s32 heap;
96121
u32 level;
97122
@@ -101,10 +126,11 @@ s32 WD_CreateHeap() {
101126
102127
return heap;
103128
}
129+
*/
104130

105131
void WD_SetDefaultScanParameters(ScanParameters* set) {
106-
set->ChannelBitmap = 0xfffe;
107-
set->MaxChannelTime = 100; // 100 ms
132+
set->ChannelBitmap = DEFAULT_CHANNEL_BITMAP;
133+
set->MaxChannelTime = 100;
108134

109135
memset(set->BSSID, 0xff, BSSID_LENGTH);
110136

@@ -140,15 +166,15 @@ u8 WD_GetRadioLevel(BSSDescriptor* Bss) {
140166
if (Bss->RSSI < 0xc4) {
141167
if (Bss->RSSI < 0xb5) {
142168
if (Bss->RSSI < 0xab) {
143-
ret = 0;
169+
ret = 0; // Very Weak
144170
} else {
145-
ret = 1;
171+
ret = 1; // Weak
146172
}
147173
} else {
148-
ret = 2;
174+
ret = 2; // Medium
149175
}
150176
} else {
151-
ret = 3;
177+
ret = 3; // Strong
152178
}
153179
return ret;
154180
}
@@ -164,7 +190,7 @@ int WD_GetInfo(WDInfo* info) {
164190
vector.data = inf;
165191
vector.len = sizeof(WDInfo);
166192

167-
IOS_Ioctlv(wd_fd, 0x100e, 0, 1, &vector);
193+
IOS_Ioctlv(wd_fd, IOCTLV_WD_GET_INFO, 0, 1, &vector);
168194
memcpy(info, inf, sizeof(WDInfo));
169195

170196
WD_Deinit();
@@ -189,7 +215,7 @@ int WD_Scan(ScanParameters *settings, u8* buff, u16 buffsize) {
189215
vectors[1].data = buf;
190216
vectors[1].len = buffsize;
191217

192-
IOS_Ioctlv(wd_fd, 0x100a, 1, 1, vectors);
218+
IOS_Ioctlv(wd_fd, IOCTLV_WD_SCAN, 1, 1, vectors);
193219
usleep(100000);
194220
memcpy(buff, buf, buffsize);
195221

@@ -200,7 +226,6 @@ int WD_ScanOnce(ScanParameters *settings, u8* buff, u16 buffsize) {
200226
s32 lockid = NCD_LockWirelessDriver();
201227

202228
if(WD_Init(AOSSAPScan) < 0) return -1;
203-
usleep(100000);
204229

205230
WD_Scan(settings, buff, buffsize);
206231

0 commit comments

Comments
 (0)