Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
wud.h
Go to the documentation of this file.
1#ifndef RVL_SDK_WUD_H
2#define RVL_SDK_WUD_H
3
4
5#include <revolution/sc.h>
7
8#include "types.h"
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13#define WUD_MAX_DEV_ENTRY_FOR_STD SC_MAX_DEV_ENTRY_FOR_STD
14#define WUD_MAX_DEV_ENTRY_FOR_SMP SC_MAX_DEV_ENTRY_FOR_SMP
15#define WUD_MAX_DEV_ENTRY SC_MAX_DEV_ENTRY
16#define WUD_DEV_HANDLE_INVALID (-1)
17#define WUD_ADDR_LEN BD_ADDR_LEN
18
19// Forward declarations
20typedef struct WUDDevInfo WUDDevInfo;
21
30
40
45
51
52typedef void* (*WUDAllocFunc)(u32 size);
53typedef BOOL (*WUDFreeFunc)(void* pBlock);
54
55typedef void (*WUDSyncDeviceCallback)(s32 result, s32 num);
56typedef void (*WUDClearDeviceCallback)(s32 result);
57
58typedef void (*WUDHidConnCallback)(u8, u8);
59typedef void (*WUDHidRecvCallback)(UINT8 devHandle, UINT8* pReport, UINT16 len);
60
61typedef struct WUDDevInfo {
62 SCDevInfo conf; // at 0x0
63 BD_ADDR devAddr; // at 0x40
64 LINK_KEY linkKey; // at 0x46
65 UINT8 devHandle; // at 0x56
66 UINT8 subclass; // at 0x57
67 UINT8 appID; // at 0x58
68 u8 status; // at 0x59
69 s8 UNK_0x5A; // at 0x5A
70 u8 sync_type; // at 0x5B
71 u8 UNK_0x5C; // at 0x5C
75
76BOOL WUDInit(void);
77BOOL WUDIsBusy(void);
78void WUDRegisterAllocator(WUDAllocFunc pAllocFunc, WUDFreeFunc pFreeFunc);
80void WUDShutdown(void);
81
84
85void WUDSetSniffMode(BD_ADDR addr, s32 interval);
86
87// clang-format off
90
93// clang-format on
94
100
102BOOL WUDSetDisableChannel(s8 afhChannel);
103
106
107void WUDSetVisibility(u8 disc, u8 conn);
109
110void WUDiGetFirmwareVersion(void);
111void WUDiInitSub(void);
112
113void WUDiEnableStack(void);
114void WUDiAutoSync(void);
115void WUDiDeleteAllLinkKeys(void);
116
119
124void WUDiClearDevice(void);
125
126u8 WUDiGetDevNumber(void);
129u8 WUDiGetLinkNum(void);
130
135
140
142u16 _WUDGetQueuedSize(s8 dev_handle);
143u16 _WUDGetNotAckedSize(s8 dev_handle);
145
146#ifdef __cplusplus
147}
148#endif
149
150#endif
static u32 addr
Definition WUD.c:1668
UINT16 tBTA_HH_ATTR_MASK
Definition bte.h:830
UINT8 * BD_ADDR_PTR
Definition bte.h:70
UINT8 BD_ADDR[BD_ADDR_LEN]
Definition bte.h:69
UINT8 LINK_KEY[LINK_KEY_LEN]
Definition bte.h:73
uint16_t UINT16
Definition bte.h:55
uint8_t UINT8
Definition bte.h:54
unsigned int size
Definition __os.h:106
int BOOL
Definition types.h:33
signed char s8
Definition types.h:7
unsigned long u32
Definition types.h:12
unsigned short int u16
Definition types.h:10
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
Definition sc.h:138
Definition wud.h:29
UINT8 appID
Definition wud.h:67
LINK_KEY linkKey
Definition wud.h:32
BD_ADDR devAddr
Definition wud.h:31
u8 status
Definition wud.h:68
u8 sync_type
Definition wud.h:70
s8 UNK_0x5A
Definition wud.h:69
tBTA_HH_ATTR_MASK hhAttrMask
Definition wud.h:41
SCDevInfo conf
Definition wud.h:62
u8 UNK_0x5C
Definition wud.h:71
u8 devHandle
Definition wud.h:33
u8 UNK_0x5D[1]
Definition wud.h:72
UINT8 subclass
Definition wud.h:66
UINT8 devHandle
Definition wud.h:65
u16 _WUDGetNotAckedSize(s8 dev_handle)
Definition WUD.c:2847
void WUDSyncDeviceCallback(s32 result, s32 num)
Definition wud.h:22
u16 _WUDGetQueuedSize(s8 dev_handle)
Definition WUD.c:2833
void WUDClearDeviceCallback(signed)
Definition wud.h:23
void * WUDAllocFunc(u32 size)
Definition wud.h:19
int WUDFreeFunc(void *ptr)
Definition wud.h:20
u8 WUDGetBufferStatus(void)
Definition WUD.c:1296
u8 _WUDGetLinkNumber(void)
Definition WUD.c:2861
void WUDiGetFirmwareVersion(void)
Definition WUD.c:1762
void WUDiEnableStack(void)
Definition WUD.c:1821
void WUDiMoveBottomStdDevInfoPtr(WUDDevInfo *pInfo)
Definition WUD.c:2262
WUDDevInfo * WUDiGetRemoveSmpDevice(void)
Definition WUD.c:2166
WUDSyncResult
Definition wud.h:46
@ WUD_RESULT_SYNC_WAITING
Definition wud.h:48
@ WUD_RESULT_SYNC_DONE
Definition wud.h:49
@ WUD_RESULT_SYNC_BUSY
Definition wud.h:47
void WUDiMoveTopOfDisconnectedStdDevice(WUDDevInfo *pInfo)
Definition WUD.c:2302
WUDChannel
Definition wud.h:31
@ WUD_CHAN2
Definition wud.h:34
@ WUD_CHAN0
Definition wud.h:32
@ WUD_CHAN_INVALID
Definition wud.h:38
@ WUD_CHAN3
Definition wud.h:35
@ WUD_MAX_CHANNELS
Definition wud.h:37
@ WUD_CHAN1
Definition wud.h:33
WUDLibStatus WUDGetStatus(void)
Definition WUD.c:1286
void WUDRegisterAllocator(WUDAllocFunc pAllocFunc, WUDFreeFunc pFreeFunc)
Definition WUD.c:1242
BOOL WUDInit(void)
Definition WUD.c:1162
u8 WUDiGetDevNumber(void)
Definition WUD.c:2054
WUDSyncType
Definition wud.h:41
@ WUD_SYNC_TYPE_SIMPLE
Definition wud.h:43
@ WUD_SYNC_TYPE_STANDARD
Definition wud.h:42
void WUDSetSniffMode(BD_ADDR addr, s32 interval)
Definition WUD.c:1307
BOOL WUDSetDisableChannel(s8 afhChannel)
Definition WUD.c:1518
WUDDevInfo * WUDiGetNewDevInfo(void)
Definition WUD.c:1996
void WUDiInitSub(void)
Definition WUD.c:1783
void(* WUDHidConnCallback)(u8, u8)
Definition wud.h:58
BOOL WUDStopSyncSimple(void)
Definition WUD.c:1484
u8 WUDGetConnectable(void)
Definition WUD.c:1606
WUDDevInfo * WUDiGetRemoveStdDevice(void)
Definition WUD.c:2298
u8 WUDiGetLinkNum(void)
Definition WUD.c:2084
void WUDiDeleteAllLinkKeys(void)
Definition WUD.c:1859
WUDHidRecvCallback WUDSetHidRecvCallback(WUDHidRecvCallback pCallback)
Definition WUD.c:1563
void WUDiAutoSync(void)
Definition WUD.c:1832
struct WUDDevInfo WUDDevInfo
u8 WUDiGetDevSmpNumber(void)
Definition WUD.c:2064
void WUDiMoveTopOfDisconnectedSmpDevice(WUDDevInfo *pInfo)
Definition WUD.c:2170
BOOL WUDCancelSyncDevice(void)
Definition WUD.c:1455
void WUDSetVisibility(u8 disc, u8 conn)
Definition WUD.c:1595
WUDClearDeviceCallback WUDSetClearDeviceCallback(WUDClearDeviceCallback pCallback)
Definition WUD.c:1341
BOOL WUDStartClearDevice(void)
Definition WUD.c:1488
BOOL WUDIsBusy(void)
Definition WUD.c:2357
void WUDiClearDevice(void)
Definition WUD.c:2035
WUDLibStatus
Definition wud.h:22
@ WUD_LIB_STATUS_4
Definition wud.h:27
@ WUD_LIB_STATUS_2
Definition wud.h:25
@ WUD_LIB_STATUS_3
Definition wud.h:26
@ WUD_LIB_STATUS_1
Definition wud.h:24
@ WUD_LIB_STATUS_5
Definition wud.h:28
@ WUD_LIB_STATUS_0
Definition wud.h:23
void WUDiMoveBottomSmpDevInfoPtr(WUDDevInfo *pInfo)
Definition WUD.c:2130
u8 WUDiGetConnNumber(void)
Definition WUD.c:2074
WUDDevInfo * WUDiGetDevInfo(BD_ADDR addr)
Definition WUD.c:1950
BOOL WUDStartSyncDevice(void)
Definition WUD.c:1391
WUDSyncDeviceCallback WUDSetSyncSimpleCallback(WUDSyncDeviceCallback pCallback)
Definition WUD.c:1325
BOOL WUDStartSyncSimple(void)
Definition WUD.c:1435
void(* WUDHidRecvCallback)(UINT8 devHandle, UINT8 *pReport, UINT16 len)
Definition wud.h:59
BD_ADDR_PTR _WUDGetDevAddr(UINT8 handle)
Definition WUD.c:2818
void WUDiRegisterDevice(BD_ADDR addr)
Definition WUD.c:1882
void WUDiMoveTopStdDevInfoPtr(WUDDevInfo *pInfo)
Definition WUD.c:2226
void WUDiMoveTopSmpDevInfoPtr(WUDDevInfo *pInfo)
Definition WUD.c:2094
void WUDShutdown(void)
Definition WUD.c:1260
void WUDiRemoveDevice(BD_ADDR addr)
Definition WUD.c:1913
u32 WUDGetAllocatedMemSize(void)
Definition WUD.c:1256
BOOL WUDStartFastSyncSimple(void)
Definition WUD.c:1415
WUDDevInfo * WUDiGetDevInfoIndex(int idx)
Definition WUD.c:1979
void WUDiRemoveDevInfo(BD_ADDR addr)
Definition WUD.c:2021
WUDHidConnCallback WUDSetHidConnCallback(WUDHidConnCallback pCallback)
Definition WUD.c:1579