Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
wpad.h
Go to the documentation of this file.
1#ifndef _REVOLUTION_WPAD_H_
2#define _REVOLUTION_WPAD_H_
3
4#include <revolution/os.h>
5#include <revolution/types.h>
6#include "types.h"
7
8#ifdef __cplusplus
9extern "C" {
10#endif
11
12#define WPAD_BUTTON_LEFT (1 << 0)
13#define WPAD_BUTTON_RIGHT (1 << 1)
14#define WPAD_BUTTON_DOWN (1 << 2)
15#define WPAD_BUTTON_UP (1 << 3)
16#define WPAD_BUTTON_PLUS (1 << 4)
17#define WPAD_BUTTON_2 (1 << 8)
18#define WPAD_BUTTON_1 (1 << 9)
19#define WPAD_BUTTON_B (1 << 10)
20#define WPAD_BUTTON_A (1 << 11)
21#define WPAD_BUTTON_MINUS (1 << 12)
22#define WPAD_BUTTON_Z (1 << 13)
23#define WPAD_BUTTON_C (1 << 14)
24#define WPAD_BUTTON_HOME (1 << 15)
25
26#define WPAD_CL_BUTTON_UP (1 << 0)
27#define WPAD_CL_BUTTON_LEFT (1 << 1)
28#define WPAD_CL_TRIGGER_ZR (1 << 2)
29#define WPAD_CL_BUTTON_X (1 << 3)
30#define WPAD_CL_BUTTON_A (1 << 4)
31#define WPAD_CL_BUTTON_Y (1 << 5)
32#define WPAD_CL_BUTTON_B (1 << 6)
33#define WPAD_CL_TRIGGER_ZL (1 << 7)
34#define WPAD_CL_RESERVED (1 << 8)
35#define WPAD_CL_TRIGGER_R (1 << 9)
36#define WPAD_CL_BUTTON_PLUS (1 << 10)
37#define WPAD_CL_BUTTON_HOME (1 << 11)
38#define WPAD_CL_BUTTON_MINUS (1 << 12)
39#define WPAD_CL_TRIGGER_L (1 << 13)
40#define WPAD_CL_BUTTON_DOWN (1 << 14)
41#define WPAD_CL_BUTTON_RIGHT (1 << 15)
42
43#define WPAD_DEV_CORE 0
44#define WPAD_DEV_FS 1
45#define WPAD_DEV_CLASSIC 2
46#define WPAD_DEV_BALANCE_CHECKER 3
47#define WPAD_DEV_VSM 4
48#define WPAD_DEV_MOTION_PLUS 5
49#define WPAD_DEV_MPLS_PT_FS 6
50#define WPAD_DEV_MPLS_PT_CLASSIC 7
51#define WPAD_DEV_TRAIN 16
52#define WPAD_DEV_GUITAR 17
53#define WPAD_DEV_DRUM 18
54#define WPAD_DEV_TAIKO 19
55#define WPAD_DEV_TURNTABLE 20
56
57// seems to be like maybe general purpose non-specific device types
58// maybe this was for testing or something? idk
59#define WPAD_DEV_BULK_1 21
60#define WPAD_DEV_BULK_2 22
61#define WPAD_DEV_BULK_3 23
62#define WPAD_DEV_BULK_4 24
63#define WPAD_DEV_BULK_5 25
64#define WPAD_DEV_BULK_6 26
65#define WPAD_DEV_BULK_7 27
66#define WPAD_DEV_BULK_8 28
67
68#define WPAD_DEV_MPLS_PT_FUTURE 250
69#define WPAD_DEV_FUTURE 251
70#define WPAD_DEV_NOT_SUPPORTED 252 // invalid device mode?
71#define WPAD_DEV_NONE 253 // sort of like WPAD_ENODEV (see __wpadAbortInitExtension in WPADHIDParser.c)
72#define WPAD_DEV_INITIALIZING 255 // see __a1_20_status_report
73
74#define WPAD_SENSOR_BAR_POS_BOTTOM 0
75#define WPAD_SENSOR_BAR_POS_TOP 1
76
88
89#define WPAD_ESUCCESS WPAD_ERR_OK
90#define WPAD_ENODEV WPAD_ERR_NO_CONTROLLER
91#define WPAD_EBUSY WPAD_ERR_BUSY
92#define WPAD_ETRANSFER WPAD_ERR_TRANSFER // I don't know what the POSIX equivalent is
93#define WPAD_EINVAL WPAD_ERR_INVALID
94#define WPAD_ENOPERM WPAD_ERR_NOPERM
95#define WPAD_EBROKEN WPAD_ERR_BROKEN
96#define WPAD_EBADE WPAD_ERR_CORRUPTED
97
98// apparently enum vs constant is a thing. cool
99#define WPAD_CESUCCESS (WPAD_ESUCCESS + 0)
100#define WPAD_CENODEV (WPAD_ENODEV + 0)
101#define WPAD_CEBUSY (WPAD_EBUSY + 0)
102#define WPAD_CETRANSFER (WPAD_ETRANSFER + 0)
103#define WPAD_CEINVAL (WPAD_EINVAL + 0)
104#define WPAD_CENOPERM (WPAD_ENOPERM + 0)
105#define WPAD_CEBROKEN (WPAD_EBROKEN + 0)
106#define WPAD_CEBADE (WPAD_EBADE + 0)
107
108#define WPAD_DPD_MAX_OBJECTS 4
109#define WPAD_DPD_IMG_RESO_WX 1024
110#define WPAD_DPD_IMG_RESO_WY 768
111
112#define WPAD_STATE_DISABLED 0
113#define WPAD_STATE_ENABLING 1
114#define WPAD_STATE_ENABLED 2
115#define WPAD_STATE_SETUP 3
116#define WPAD_STATE_DISABLING 4
117
118#define WPAD_CHAN0 0
119#define WPAD_CHAN1 1
120#define WPAD_CHAN2 2
121#define WPAD_CHAN3 3
122#define WPAD_CHAN_INVALID -1
123
124#define WPAD_MAX_CONTROLLERS 4
125
126#define WPAD_HIDREP_BASE 0x10
127#define WPAD_HIDREP_VIBRATOR 0x10
128#define WPAD_HIDREP_PORT 0x11
129#define WPAD_HIDREP_REPTYPE 0x12
130#define WPAD_HIDREP_ENDPD 0x13
131#define WPAD_HIDREP_ENSPK 0x14
132#define WPAD_HIDREP_GETSTAT 0x15
133#define WPAD_HIDREP_WRDATA 0x16
134#define WPAD_HIDREP_RDDATA 0x17
135#define WPAD_HIDREP_STRM 0x18
136#define WPAD_HIDREP_MUTE 0x19
137#define WPAD_HIDREP_DPDCSB 0x1A
138#define WPAD_HIDREP_WAIT 0xFF
139
140#define WPAD_BTN_HCURSOR_MASK (WPAD_BUTTON_LEFT | WPAD_BUTTON_RIGHT)
141#define WPAD_BTN_VCURSOR_MASK (WPAD_BUTTON_UP | WPAD_BUTTON_DOWN)
142#define WPAD_CLB_HCURSOR_MASK (WPAD_CL_BUTTON_LEFT | WPAD_CL_BUTTON_RIGHT)
143#define WPAD_CLB_VCURSOR_MASK (WPAD_CL_BUTTON_UP | WPAD_CL_BUTTON_DOWN)
144
145typedef void (*WPADInitFunc)(void);
146typedef void (*WPADCallback)(s32 chan, s32 result);
147typedef void (*WPADExtensionCallback)(s32 chan, s32 devType);
148typedef void* (*WPADAlloc)(u32 size);
149typedef BOOL (*WPADFree)(void* ptr);
150typedef void (*WPADSyncDeviceCallback)(s32 result, s32 num);
151typedef void (*WPADSamplingCallback)(s32 chan);
152typedef void (*WPADConnectCallback)(s32 chan, s32 result);
153typedef void (*WPADSimpleSyncCallback)(s32 result, s32 num);
154typedef void (*WPADFlushCallback)(u32 result);
155
158
159typedef struct WPADInfo {
160 /* 0x00 */ BOOL dpd;
161 /* 0x04 */ BOOL speaker;
162 /* 0x08 */ BOOL attach;
163 /* 0x0C */ BOOL lowBat;
164 /* 0x10 */ BOOL nearempty;
165 /* 0x14 */ u8 battery;
166 /* 0x15 */ u8 led;
167 /* 0x16 */ u8 protocol;
168 /* 0x17 */ u8 firmware;
170
171typedef struct WPADAcc {
172 /* 0x00 */ s16 x;
173 /* 0x02 */ s16 y;
174 /* 0x04 */ s16 z;
176
177typedef struct DPDObject {
178 /* 0x00 */ s16 x;
179 /* 0x02 */ s16 y;
180 /* 0x04 */ u16 size;
181 /* 0x06 */ u8 traceId;
183
184typedef struct WPADStatus {
185 /* 0x00 */ u16 button;
186 /* 0x02 */ s16 accX;
187 /* 0x04 */ s16 accY;
188 /* 0x06 */ s16 accZ;
189 /* 0x08 */ DPDObject obj[WPAD_DPD_MAX_OBJECTS];
190 /* 0x28 */ u8 dev;
191 /* 0x29 */ s8 err;
193
194typedef struct DPDObjEx {
195 /* 0x00 */ s16 range_x1;
196 /* 0x02 */ s16 range_y1;
197 /* 0x04 */ s16 range_x2;
198 /* 0x06 */ s16 range_y2;
199 /* 0x08 */ u16 pixel;
200 /* 0x0A */ s8 radius;
202
203typedef struct WPADStatusEx {
204 /* 0x00 */ WPADStatus base;
205 /* 0x2A */ DPDObjEx exp[WPAD_DPD_MAX_OBJECTS];
207
208typedef struct WPADFSStatus {
209 /* 0x00 */ WPADStatus base;
210 /* 0x2A */ s16 fsAccX;
211 /* 0x2C */ s16 fsAccY;
212 /* 0x2E */ s16 fsAccZ;
213 /* 0x30 */ s8 fsStickX;
214 /* 0x31 */ s8 fsStickY;
216
217typedef struct WPADCLStatus {
218 /* 0x00 */ WPADStatus base;
219 /* 0x2A */ u16 clButton;
220 /* 0x2C */ s16 clLStickX;
221 /* 0x2E */ s16 clLStickY;
222 /* 0x30 */ s16 clRStickX;
223 /* 0x32 */ s16 clRStickY;
224 /* 0x34 */ u8 clTriggerL;
225 /* 0x35 */ u8 clTriggerR;
227
228#if SDK_AUG2010
229typedef struct WPADBKStatus {
230 /* 0x00 */ u16 button;
231 /* 0x02 */ s16 accX;
232 /* 0x04 */ s16 accY;
233 /* 0x06 */ s16 accZ;
234 /* 0x08 */ DPDObject obj[WPAD_DPD_MAX_OBJECTS];
235 /* 0x28 */ u8 dev;
236 /* 0x29 */ s8 err;
237 /* 0x2a */ u8 bulk[21];
238 /* 0x3f */ u8 padding[1];
240
241typedef struct WPADTRStatus {
242 /* 0x00 */ u16 button;
243 /* 0x02 */ s16 accX;
244 /* 0x04 */ s16 accY;
245 /* 0x06 */ s16 accZ;
246 /* 0x08 */ DPDObject obj[WPAD_DPD_MAX_OBJECTS];
247 /* 0x28 */ u8 dev;
248 /* 0x29 */ s8 err;
249 /* 0x2a */ u16 trButton;
250 /* 0x2c */ u8 brake;
251 /* 0x2d */ u8 mascon;
253
254typedef struct WPADVSStatus {
255 /* 0x00 */ u16 button;
256 /* 0x02 */ s16 accX;
257 /* 0x04 */ s16 accY;
258 /* 0x06 */ s16 accZ;
259 /* 0x08 */ DPDObject obj[WPAD_DPD_MAX_OBJECTS];
260 /* 0x28 */ u8 dev;
261 /* 0x29 */ s8 err;
262 /* 0x2a */ u16 at_0x2a[5];
263 /* 0x34 */ u8 at_0x34;
264 /* 0x36 */ u16 at_0x36[5];
265 /* 0x40 */ u8 at_0x40;
266 /* 0x42 */ u16 at_0x42;
267 /* 0x44 */ u8 at_0x44;
269
270typedef struct WPADMPStatus {
271 /* 0x00 */ u16 button;
272 /* 0x02 */ s16 accX;
273 /* 0x04 */ s16 accY;
274 /* 0x06 */ s16 accZ;
275 /* 0x08 */ DPDObject obj[WPAD_DPD_MAX_OBJECTS];
276 /* 0x28 */ u8 dev;
277 /* 0x29 */ s8 err;
278 union {
279 struct {
280 /* 0x00 */ s16 fsAccX;
281 /* 0x02 */ s16 fsAccY;
282 /* 0x04 */ s16 fsAccZ;
283 /* 0x06 */ s8 fsStickX;
284 /* 0x07 */ s8 fsStickY;
285 } fs;
286 struct {
287 /* 0x00 */ u16 clButton;
288 /* 0x02 */ s16 clLStickX;
289 /* 0x04 */ s16 clLStickY;
290 /* 0x06 */ s16 clRStickX;
291 /* 0x08 */ s16 clRStickY;
292 /* 0x0a */ u8 clTriggerL;
293 /* 0x0b */ u8 clTriggerR;
294 } cl;
296 /* 0x36 */ u8 stat;
297 /* 0x38 */ s16 pitch;
298 /* 0x3a */ s16 yaw;
299 /* 0x3c */ s16 roll;
301
302typedef struct WPADBLStatus {
303 /* 0x00 */ u16 button;
304 /* 0x02 */ s16 accX;
305 /* 0x04 */ s16 accY;
306 /* 0x06 */ s16 accZ;
307 /* 0x08 */ DPDObject obj[WPAD_DPD_MAX_OBJECTS];
308 /* 0x28 */ u8 dev;
309 /* 0x29 */ s8 err;
310 /* 0x2a */ u16 press[4];
311 /* 0x32 */ s8 temp;
312 /* 0x33 */ u8 battery;
314#endif
315
316#define WPAD_FMT_CORE_BTN 0
317#define WPAD_FMT_CORE_BTN_ACC 1
318#define WPAD_FMT_CORE_BTN_ACC_DPD 2
319#define WPAD_FMT_FS_BTN 3
320#define WPAD_FMT_FS_BTN_ACC 4
321#define WPAD_FMT_FS_BTN_ACC_DPD 5
322#define WPAD_FMT_CLASSIC_BTN 6
323#define WPAD_FMT_CLASSIC_BTN_ACC 7
324#define WPAD_FMT_CLASSIC_BTN_ACC_DPD 8
325#define WPAD_FMT_BTN_ACC_DPD_EXTENDED 9
326// extensions
327#define WPAD_FMT_TRAIN 10
328#define WPAD_FMT_GUITAR 11
329#define WPAD_FMT_BALANCE_CHECKER 12
330#define WPAD_FMT_VSM 13
331#define WPAD_FMT_DRUM 15
332#define WPAD_FMT_MOTION_PLUS 16
333#define WPAD_FMT_TAIKO 17
334#define WPAD_FMT_TURNTABLE 18
335#define WPAD_FMT_BULK 19
336#define WPAD_FMT_UNK_20 20
337
338#define WPAD_SPEAKER_DISABLE 0
339#define WPAD_SPEAKER_ENABLE 1 // might be ON? see HBMRemoteSpk.cpp
340#define WPAD_SPEAKER_MUTE 2
341#define WPAD_SPEAKER_UNMUTE 3
342#define WPAD_SPEAKER_PLAY 4
343#define WPAD_SPEAKER_CMD_05 5 // does the same thing as ENABLE? unless i'm missing something. not used so i don't know the context
344
345#define WPAD_MOTOR_STOP 0
346#define WPAD_MOTOR_RUMBLE 1
347
350{
352
353 // the command here is actually the data format
357};
358
359s32 WPADProbe(s32 chan, u32* devType);
366s32 WPADSendStreamData(s32 chan, void* p_buf, u16 len);
367
372
376void WPADControlMotor(s32 chan, u32 command);
385void WPADEnableMotor(BOOL enabled);
388
391
392void WPADGetAccGravityUnit(s32 chan, u32 type, WPADAcc* acc);
393
402
403void WPADInit(void);
404BOOL OnShutdown(BOOL final, u32 event);
406
407void __WPADShutdown(void);
409
411
413
416
417#define WPADStartMotor(chan) WPADControlMotor((chan), WPAD_MOTOR_RUMBLE)
418#define WPADStopMotor(chan) WPADControlMotor((chan), WPAD_MOTOR_STOP)
419
420#ifdef __cplusplus
421}
422#endif
423
424#endif // _REVOLUTION_WPAD_H_
static u32 addr
Definition WUD.c:1668
void free(void *ptr)
Definition alloc.c:328
unsigned int size
Definition __os.h:106
static u32 status
Definition fstload.c:9
static void cb(s32 result, DVDCommandBlock *block)
Definition fstload.c:16
int BOOL
Definition types.h:33
signed char s8
Definition types.h:7
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
unsigned short int u16
Definition types.h:10
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
IOSResourceRequest * buf[RESPONSE_REQ_BUF_LEN]
Definition ipcclt.c:47
static void callback(u32 param_0)
Definition OSExec.c:308
Definition wpad.h:194
s16 range_y1
Definition wpad.h:196
s16 range_x1
Definition wpad.h:195
s16 range_y2
Definition wpad.h:198
s8 radius
Definition wpad.h:200
u16 pixel
Definition wpad.h:199
s16 range_x2
Definition wpad.h:197
Definition wpad.h:177
s16 y
Definition wpad.h:179
s16 x
Definition wpad.h:178
u16 size
Definition wpad.h:180
u8 traceId
Definition wpad.h:181
Definition wpad.h:171
s16 x
Definition wpad.h:172
s16 z
Definition wpad.h:174
s16 y
Definition wpad.h:173
Definition wpad.h:229
s8 err
Definition wpad.h:236
s16 accY
Definition wpad.h:232
DPDObject obj[WPAD_DPD_MAX_OBJECTS]
Definition wpad.h:234
u8 bulk[21]
Definition wpad.h:237
u8 dev
Definition wpad.h:235
s16 accZ
Definition wpad.h:233
u16 button
Definition wpad.h:230
u8 padding[1]
Definition wpad.h:238
s16 accX
Definition wpad.h:231
Definition wpad.h:302
s16 accZ
Definition wpad.h:306
DPDObject obj[WPAD_DPD_MAX_OBJECTS]
Definition wpad.h:307
s16 accX
Definition wpad.h:304
s16 accY
Definition wpad.h:305
u8 dev
Definition wpad.h:308
s8 temp
Definition wpad.h:311
u8 battery
Definition wpad.h:312
u16 press[4]
Definition wpad.h:310
u16 button
Definition wpad.h:303
s8 err
Definition wpad.h:309
Definition wpad.h:217
u8 clTriggerR
Definition wpad.h:225
s16 clRStickX
Definition wpad.h:222
s16 clLStickY
Definition wpad.h:221
u8 clTriggerL
Definition wpad.h:224
s16 clRStickY
Definition wpad.h:223
WPADStatus base
Definition wpad.h:218
u16 clButton
Definition wpad.h:219
s16 clLStickX
Definition wpad.h:220
Definition wpad.h:208
s16 fsAccX
Definition wpad.h:210
s8 fsStickY
Definition wpad.h:214
s8 fsStickX
Definition wpad.h:213
s16 fsAccY
Definition wpad.h:211
s16 fsAccZ
Definition wpad.h:212
WPADStatus base
Definition wpad.h:209
Definition wpad.h:159
u8 battery
Definition wpad.h:165
u8 led
Definition wpad.h:166
u8 protocol
Definition wpad.h:167
BOOL nearempty
Definition wpad.h:164
BOOL attach
Definition wpad.h:162
BOOL lowBat
Definition wpad.h:163
u8 firmware
Definition wpad.h:168
BOOL dpd
Definition wpad.h:160
BOOL speaker
Definition wpad.h:161
Definition wpad.h:270
s16 clLStickX
Definition wpad.h:288
s16 roll
Definition wpad.h:299
s16 fsAccX
Definition wpad.h:280
s8 err
Definition wpad.h:277
u8 clTriggerL
Definition wpad.h:292
s8 fsStickY
Definition wpad.h:284
s16 yaw
Definition wpad.h:298
s8 fsStickX
Definition wpad.h:283
struct WPADMPStatus::@240::@242 cl
DPDObject obj[WPAD_DPD_MAX_OBJECTS]
Definition wpad.h:275
s16 accY
Definition wpad.h:273
u16 button
Definition wpad.h:271
s16 clLStickY
Definition wpad.h:289
s16 fsAccZ
Definition wpad.h:282
struct WPADMPStatus::@240::@241 fs
u8 clTriggerR
Definition wpad.h:293
u8 stat
Definition wpad.h:296
s16 clRStickX
Definition wpad.h:290
s16 accX
Definition wpad.h:272
s16 accZ
Definition wpad.h:274
union WPADMPStatus::@240 ext
s16 pitch
Definition wpad.h:297
u8 dev
Definition wpad.h:276
s16 clRStickY
Definition wpad.h:291
u16 clButton
Definition wpad.h:287
s16 fsAccY
Definition wpad.h:281
Definition wpad.h:203
WPADStatus base
Definition wpad.h:204
DPDObjEx exp[WPAD_DPD_MAX_OBJECTS]
Definition wpad.h:205
Definition wpad.h:184
s8 err
Definition wpad.h:191
u8 dev
Definition wpad.h:190
s16 accX
Definition wpad.h:186
s16 accZ
Definition wpad.h:188
u16 button
Definition wpad.h:185
DPDObject obj[WPAD_DPD_MAX_OBJECTS]
Definition wpad.h:189
s16 accY
Definition wpad.h:187
Definition wpad.h:241
u16 button
Definition wpad.h:242
s8 err
Definition wpad.h:248
u8 brake
Definition wpad.h:250
s16 accY
Definition wpad.h:244
s16 accX
Definition wpad.h:243
DPDObject obj[WPAD_DPD_MAX_OBJECTS]
Definition wpad.h:246
u8 mascon
Definition wpad.h:251
u8 dev
Definition wpad.h:247
u16 trButton
Definition wpad.h:249
s16 accZ
Definition wpad.h:245
Definition wpad.h:254
DPDObject obj[WPAD_DPD_MAX_OBJECTS]
Definition wpad.h:259
u8 dev
Definition wpad.h:260
u16 at_0x36[5]
Definition wpad.h:264
s8 err
Definition wpad.h:261
s16 accY
Definition wpad.h:257
u8 at_0x40
Definition wpad.h:265
s16 accX
Definition wpad.h:256
u8 at_0x34
Definition wpad.h:263
s16 accZ
Definition wpad.h:258
u8 at_0x44
Definition wpad.h:267
u16 at_0x2a[5]
Definition wpad.h:262
u16 at_0x42
Definition wpad.h:266
u16 button
Definition wpad.h:255
WPADConnectCallback WPADSetConnectCallback(s32 chan, WPADConnectCallback cb)
void WPADSetCallbackByKPAD(BOOL isKPAD)
WPADSimpleSyncCallback WPADSetSimpleSyncCallback(WPADSimpleSyncCallback cb)
BOOL WPADIsMotorEnabled(void)
void(* WPADSimpleSyncCallback)(s32 result, s32 num)
Definition wpad.h:153
BOOL WPADStartSimpleSync()
s32 WPADGetInfoAsync(s32 chan, WPADInfo *info, WPADCallback callback)
u32 WPADGetLatestIndexInBuf(s32 chan)
s32 WPADControlDpd(s32 chan, u32 command, WPADCallback callback)
BOOL WPADStopSimpleSync(void)
struct WPADStatus WPADStatus
BOOL WPADCancelSyncDevice()
struct WPADAcc WPADAcc
u8 WPADGetSensorBarPosition(void)
u8 WPADGetSpeakerVolume(void)
u32 WPADGetDataFormat(s32 chan)
struct WPADTRStatus WPADTRStatus
void(* WPADCallback)(s32 chan, s32 result)
Definition wpad.h:146
BOOL WPADGetAcceptConnection(void)
void WPADControlMotor(s32 chan, u32 command)
WPADExtensionCallback WPADSetExtensionCallback(s32 chan, WPADExtensionCallback cb)
s32 WPADControlLed(s32 chan, u8 pattern, WPADCallback callback)
void WPADRegisterAllocator(WPADAlloc alloc, WPADFree free)
void __WPADShutdown(void)
BOOL IsBusyStream(s32 chan)
s32 WPADGetStatus(void)
struct WPADStatusEx WPADStatusEx
WPADDpdCommand_et
Definition wpad.h:350
@ WPAD_DPD_EXTENDED
Definition wpad.h:356
@ WPAD_DPD_BASIC
Definition wpad.h:354
@ WPAD_DPD_STANDARD
Definition wpad.h:355
@ WPAD_DPD_DISABLE
Definition wpad.h:351
void WPADEnableMotor(BOOL enabled)
struct WPADInfo WPADInfo
s32 WPADControlSpeaker(s32 chan, u32 command, WPADCallback cb)
void(* WPADInitFunc)(void)
Definition wpad.h:145
struct WPADCLStatus WPADCLStatus
void WPADInit(void)
Definition WPAD.c:321
BOOL WPADSaveConfig(WPADFlushCallback cb)
u8 WPADGetRadioSensitivity(s32 chan)
void WPADGetAddress(s32 chan, u8 *addr)
s32 WPADChannel
Definition wpad.h:157
BOOL(* WPADFree)(void *ptr)
Definition wpad.h:149
BOOL WPADSetAcceptConnection(u8 accept)
struct WPADFSStatus WPADFSStatus
void(* WPADSyncDeviceCallback)(s32 result, s32 num)
Definition wpad.h:150
BOOL WPADIsSpeakerEnabled(s32 chan)
void(* WPADFlushCallback)(u32 result)
Definition wpad.h:154
void WPADSetAutoSamplingBuf(s32 chan, void *buf, u32)
void(* WPADExtensionCallback)(s32 chan, s32 devType)
Definition wpad.h:147
void __WPADReconnect(BOOL)
WPADResult_et
Definition wpad.h:77
@ WPAD_ERR_NOPERM
Definition wpad.h:84
@ WPAD_ERR_TRANSFER
Definition wpad.h:82
@ WPAD_ERR_OK
Definition wpad.h:78
@ WPAD_ERR_BUSY
Definition wpad.h:81
@ WPAD_ERR_CORRUPTED
Definition wpad.h:86
@ WPAD_ERR_NO_CONTROLLER
Definition wpad.h:80
@ WPAD_ERR_INVALID
Definition wpad.h:83
@ WPAD_ERR_BROKEN
Definition wpad.h:85
void WPADDisconnect(s32 chan)
s32 WPADSetDataFormat(s32 chan, u32 fmt)
void(* WPADConnectCallback)(s32 chan, s32 result)
Definition wpad.h:152
WPADSamplingCallback WPADSetSamplingCallback(s32 chan, WPADSamplingCallback cb)
struct WPADMPStatus WPADMPStatus
struct WPADBKStatus WPADBKStatus
void WPADSetAutoSleepTime(u8 minute)
struct DPDObject DPDObject
u8 WPADGetDpdSensitivity(void)
BOOL WPADIsDpdEnabled(s32 chan)
void WPADRead(s32 chan, WPADStatus *status)
s32 WPADProbe(s32 chan, u32 *devType)
void WPADGetAccGravityUnit(s32 chan, u32 type, WPADAcc *acc)
u32 WPADGetWorkMemorySize(void)
u32 WPADDeviceType
Definition wpad.h:156
void(* WPADSamplingCallback)(s32 chan)
Definition wpad.h:151
BOOL WPADIsUsedCallbackByKPAD(void)
u32 WPADDpdCommand
Definition wpad.h:348
void WPADSetSpeakerVolume(u8 volume)
struct WPADVSStatus WPADVSStatus
struct WPADBLStatus WPADBLStatus
BOOL WPADCanSendStreamData(s32 chan)
BOOL WPADStartFastSimpleSync(void)
void *(* WPADAlloc)(u32 size)
Definition wpad.h:148
s32 WPADSendStreamData(s32 chan, void *p_buf, u16 len)
struct DPDObjEx DPDObjEx
BOOL OnShutdown(BOOL final, u32 event)
Definition WPAD.c:79