summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMax Roncace <me@caseif.net>2026-02-03 02:17:29 -0500
committerGitHub <noreply@github.com>2026-02-02 23:17:29 -0800
commit3bc0670b910c4d638dfff81da67e5a95009183cb (patch)
tree22a501d99df41bee95a730acefd6cfd2d8b2c954 /include
parent67f179161f04805654fbb078ad2996837f8acb27 (diff)
Revolution WUD work (mostly matching) (#3080)
* WUD mostly matching for Wii Mostly copied from Petari with small modifications, Shield match is still pretty bad. * Implement WUDHidHost * Fix WUD regressions in Shield/ShieldD
Diffstat (limited to 'include')
-rw-r--r--include/revolution/os.h1
-rw-r--r--include/revolution/sc.h59
-rw-r--r--include/revolution/wpad.h2
-rw-r--r--include/revolution/wpad/bte.h55
-rw-r--r--include/revolution/wud.h150
-rw-r--r--include/revolution/wud/WUD.h256
-rw-r--r--include/revolution/wud/debug_msg.h14
7 files changed, 224 insertions, 313 deletions
diff --git a/include/revolution/os.h b/include/revolution/os.h
index 7fcffb8f5f..f896dd5144 100644
--- a/include/revolution/os.h
+++ b/include/revolution/os.h
@@ -105,6 +105,7 @@ u8 __gUnknown800030E3 AT_ADDRESS(OS_BASE_CACHED | 0x30E3);
#define OSMillisecondsToTicks(msec) ((msec) * (OS_TIMER_CLOCK / 1000))
#define OSNanosecondsToTicks(nsec) (((nsec) * (OS_TIMER_CLOCK / 125000)) / 8000)
#define OSMicrosecondsToTicks(usec) (((usec) * (OS_TIMER_CLOCK / 125000)) / 8)
+#define OSTicksDelta(x, y) ((s32)x, (s32)y)
u32 OSGetConsoleType(void);
void OSInit(void);
diff --git a/include/revolution/sc.h b/include/revolution/sc.h
index 89b205cec4..88ecad9660 100644
--- a/include/revolution/sc.h
+++ b/include/revolution/sc.h
@@ -11,6 +11,13 @@ extern "C" {
typedef u8 SCType;
+typedef enum {
+ SC_STATUS_OK,
+ SC_STATUS_BUSY,
+ SC_STATUS_FATAL,
+ SC_STATUS_PARSE,
+} SCStatus;
+
typedef struct {
u8 mode;
u8 led;
@@ -108,6 +115,57 @@ typedef struct {
u32 flushSize;
} SCControl;
+#define SC_MAX_DEV_ENTRY_FOR_STD 10
+#define SC_MAX_DEV_ENTRY_FOR_SMP 6
+#define SC_MAX_DEV_ENTRY (SC_MAX_DEV_ENTRY_FOR_STD + SC_MAX_DEV_ENTRY_FOR_SMP)
+
+typedef struct {
+ BD_ADDR bd_addr;
+ u8 bd_name[64];
+ u8 link_key[16];
+} SCBtCmpDevInfoSingle;
+
+typedef struct {
+ BD_ADDR bd_addr;
+ u8 bd_name[64];
+} SCBtDeviceInfoSingle;
+
+typedef struct {
+ u8 num;
+ SCBtCmpDevInfoSingle info[6];
+} SCBtCmpDevInfoArray;
+
+typedef struct SCDevInfo {
+ char devName[20]; // at 0x0
+ char at_0x14[1];
+ char UNK_0x15[0xB];
+ LINK_KEY linkKey; // at 0x20
+ char UNK_0x30[0x10];
+} SCDevInfo;
+
+typedef struct SCBtDeviceInfo {
+ BD_ADDR addr; // at 0x0
+ SCDevInfo info; // at 0x6
+} SCBtDeviceInfo;
+
+typedef struct SCBtDeviceInfoArray {
+ /* 0x000 */ u8 num;
+
+ union {
+ struct {
+#if SDK_AUG2010
+ /* 0x001 */ SCBtDeviceInfo regist[SC_MAX_DEV_ENTRY_FOR_STD];
+ /* 0x2BD */ SCBtDeviceInfo active[SC_MAX_DEV_ENTRY_FOR_SMP];
+#else
+ /* 0x001 */ SCBtDeviceInfo regist[SC_MAX_DEV_ENTRY];
+#endif
+ };
+ };
+#if SDK_AUG2010
+ SCBtDeviceInfoSingle info[16];
+#endif
+} SCBtDeviceInfoArray;
+
#define SC_LANG_JAPANESE 0u
#define SC_LANG_ENGLISH 1u
#define SC_LANG_GERMAN 2u
@@ -152,6 +210,7 @@ BOOL SCFindS8Item(s8* data, SCItemID id);
BOOL SCFindU32Item(u32* data, SCItemID id);
BOOL SCReplaceU8Item(u8 data, SCItemID id);
void SCFlushAsync(SCFlushCallback callback);
+BOOL SCGetBtDeviceInfoArray(SCBtDeviceInfoArray*);
BOOL SCSetBtDeviceInfoArray(const SCBtDeviceInfoArray*);
u32 SCCheckStatus(void);
s32 SCReloadConfFileAsync(u8* bufp, u32 bufSize, SCReloadConfFileCallback callback);
diff --git a/include/revolution/wpad.h b/include/revolution/wpad.h
index c2b23c436a..09881c6551 100644
--- a/include/revolution/wpad.h
+++ b/include/revolution/wpad.h
@@ -135,7 +135,7 @@ typedef void (*WPADInitFunc)(void);
typedef void (*WPADCallback)(s32 chan, s32 result);
typedef void (*WPADExtensionCallback)(s32 chan, s32 devType);
typedef void* (*WPADAlloc)(u32 size);
-typedef u8 (*WPADFree)(void* ptr);
+typedef BOOL (*WPADFree)(void* ptr);
typedef void (*WPADSyncDeviceCallback)(s32 result, s32 num);
typedef void (*WPADSamplingCallback)(s32 chan);
typedef void (*WPADConnectCallback)(s32 chan, s32 result);
diff --git a/include/revolution/wpad/bte.h b/include/revolution/wpad/bte.h
index a09000a254..8f936a6b54 100644
--- a/include/revolution/wpad/bte.h
+++ b/include/revolution/wpad/bte.h
@@ -596,13 +596,19 @@ typedef union
typedef void (tBTA_DM_SEC_CBACK)(tBTA_DM_SEC_EVT event, tBTA_DM_SEC *p_data);
/* Search callback events */
-#define BTA_DM_INQ_RES_EVT 0 /* Inquiry result for a peer device. */
-#define BTA_DM_INQ_CMPL_EVT 1 /* Inquiry complete. */
-#define BTA_DM_DISC_RES_EVT 2 /* Discovery result for a peer device. */
-#define BTA_DM_DISC_BLE_RES_EVT 3 /* Discovery result for BLE GATT based service on a peer device. */
-#define BTA_DM_DISC_CMPL_EVT 4 /* Discovery complete. */
-#define BTA_DM_DI_DISC_CMPL_EVT 5 /* Discovery complete. */
-#define BTA_DM_SEARCH_CANCEL_CMPL_EVT 6 /* Search cancelled */
+enum BTA_DM_State_e {
+ BTA_DM_INQ_RES_EVT, /* Inquiry result for a peer device. */
+ BTA_DM_INQ_CMPL_EVT, /* Inquiry complete. */
+ BTA_DM_DISC_RES_EVT, /* Discovery result for a peer device. */
+#if SDK_AUG2010
+ BTA_DM_DISC_BLE_RES_EVT, /* Discovery result for BLE GATT based service on a peer device. */
+#endif
+ BTA_DM_DISC_CMPL_EVT, /* Discovery complete. */
+#if SDK_AUG2010
+ BTA_DM_DI_DISC_CMPL_EVT, /* Discovery complete. */
+#endif
+ BTA_DM_SEARCH_CANCEL_CMPL_EVT, /* Search cancelled */
+};
typedef UINT8 tBTA_DM_SEARCH_EVT;
@@ -1028,39 +1034,4 @@ void BTA_HhGetAclQueueInfo(void);
void BTA_Init(void);
void BTA_CleanUp(void (*p_cb)(tBTA_STATUS status)); // probably
-// ---
-/* muff1n: I wrote this definition myself
- * TODO: would this be part of BLE or WUD?
- */
-
-struct small_dev_info
-{
- char devName[20]; // size 0x14? offset 0x00 // might be 0x13?
- char at_0x14[1]; // size 0x??, offset 0x14?
- char __pad0[0x20 - (0x14 + 0x01)];
- LINK_KEY linkKey; // size 0x10, offset 0x20
- char __pad1[0x10];
-}; // size 0x40
-
-typedef struct {
- BD_ADDR bd_addr;
- u8 bd_name[64];
- u8 link_key[16];
-} SCBtCmpDevInfoSingle;
-
-typedef struct {
- BD_ADDR bd_addr;
- u8 bd_name[64];
-} SCBtDeviceInfoSingle;
-
-typedef struct {
- u8 num;
- SCBtCmpDevInfoSingle info[6];
-} SCBtCmpDevInfoArray;
-
-typedef struct {
- u8 num;
- SCBtDeviceInfoSingle info[16];
-} SCBtDeviceInfoArray;
-
#endif // CONTEXT_BTE_H
diff --git a/include/revolution/wud.h b/include/revolution/wud.h
new file mode 100644
index 0000000000..292c7c50aa
--- /dev/null
+++ b/include/revolution/wud.h
@@ -0,0 +1,150 @@
+#ifndef RVL_SDK_WUD_H
+#define RVL_SDK_WUD_H
+
+
+#include <revolution/sc.h>
+#include <revolution/wpad/bte.h>
+
+#include "types.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define WUD_MAX_DEV_ENTRY_FOR_STD SC_MAX_DEV_ENTRY_FOR_STD
+#define WUD_MAX_DEV_ENTRY_FOR_SMP SC_MAX_DEV_ENTRY_FOR_SMP
+#define WUD_MAX_DEV_ENTRY SC_MAX_DEV_ENTRY
+#define WUD_DEV_HANDLE_INVALID (-1)
+#define WUD_ADDR_LEN BD_ADDR_LEN
+
+// Forward declarations
+typedef struct WUDDevInfo WUDDevInfo;
+
+typedef enum {
+ WUD_LIB_STATUS_0,
+ WUD_LIB_STATUS_1,
+ WUD_LIB_STATUS_2,
+ WUD_LIB_STATUS_3,
+ WUD_LIB_STATUS_4,
+ WUD_LIB_STATUS_5,
+} WUDLibStatus;
+
+typedef enum {
+ WUD_CHAN0,
+ WUD_CHAN1,
+ WUD_CHAN2,
+ WUD_CHAN3,
+
+ WUD_MAX_CHANNELS,
+ WUD_CHAN_INVALID = -1
+} WUDChannel;
+
+typedef enum {
+ WUD_SYNC_TYPE_STANDARD,
+ WUD_SYNC_TYPE_SIMPLE,
+} WUDSyncType;
+
+typedef enum {
+ WUD_RESULT_SYNC_BUSY = -1,
+ WUD_RESULT_SYNC_WAITING,
+ WUD_RESULT_SYNC_DONE,
+} WUDSyncResult;
+
+typedef void* (*WUDAllocFunc)(u32 size);
+typedef BOOL (*WUDFreeFunc)(void* pBlock);
+
+typedef void (*WUDSyncDeviceCallback)(s32 result, s32 num);
+typedef void (*WUDClearDeviceCallback)(s32 result);
+
+typedef void (*WUDHidConnCallback)(u8, u8);
+typedef void (*WUDHidRecvCallback)(UINT8 devHandle, UINT8* pReport, UINT16 len);
+
+typedef struct WUDDevInfo {
+ SCDevInfo conf; // at 0x0
+ BD_ADDR devAddr; // at 0x40
+ LINK_KEY linkKey; // at 0x46
+ UINT8 devHandle; // at 0x56
+ UINT8 subclass; // at 0x57
+ UINT8 appID; // at 0x58
+ u8 status; // at 0x59
+ s8 UNK_0x5A; // at 0x5A
+ u8 sync_type; // at 0x5B
+ u8 UNK_0x5C; // at 0x5C
+ u8 UNK_0x5D[1];
+ tBTA_HH_ATTR_MASK hhAttrMask; // at 0x5E
+} WUDDevInfo;
+
+BOOL WUDInit(void);
+BOOL WUDIsBusy(void);
+void WUDRegisterAllocator(WUDAllocFunc pAllocFunc, WUDFreeFunc pFreeFunc);
+u32 WUDGetAllocatedMemSize(void);
+void WUDShutdown(void);
+
+WUDLibStatus WUDGetStatus(void);
+u8 WUDGetBufferStatus(void);
+
+void WUDSetSniffMode(BD_ADDR addr, s32 interval);
+
+// clang-format off
+WUDSyncDeviceCallback
+WUDSetSyncSimpleCallback(WUDSyncDeviceCallback pCallback);
+
+WUDClearDeviceCallback
+WUDSetClearDeviceCallback(WUDClearDeviceCallback pCallback);
+// clang-format on
+
+BOOL WUDStartSyncDevice(void);
+BOOL WUDStartFastSyncSimple(void);
+BOOL WUDStartSyncSimple(void);
+BOOL WUDStopSyncSimple(void);
+BOOL WUDCancelSyncDevice(void);
+
+BOOL WUDStartClearDevice(void);
+BOOL WUDSetDisableChannel(s8 afhChannel);
+
+WUDHidRecvCallback WUDSetHidRecvCallback(WUDHidRecvCallback pCallback);
+WUDHidConnCallback WUDSetHidConnCallback(WUDHidConnCallback pCallback);
+
+void WUDSetVisibility(u8 disc, u8 conn);
+u8 WUDGetConnectable(void);
+
+void WUDiGetFirmwareVersion(void);
+void WUDiInitSub(void);
+
+void WUDiEnableStack(void);
+void WUDiAutoSync(void);
+void WUDiDeleteAllLinkKeys(void);
+
+void WUDiRegisterDevice(BD_ADDR addr);
+void WUDiRemoveDevice(BD_ADDR addr);
+
+WUDDevInfo* WUDiGetDevInfo(BD_ADDR addr);
+WUDDevInfo* WUDiGetDevInfoIndex(int idx);
+WUDDevInfo* WUDiGetNewDevInfo(void);
+void WUDiRemoveDevInfo(BD_ADDR addr);
+void WUDiClearDevice(void);
+
+u8 WUDiGetDevNumber(void);
+u8 WUDiGetDevSmpNumber(void);
+u8 WUDiGetConnNumber(void);
+u8 WUDiGetLinkNum(void);
+
+void WUDiMoveTopSmpDevInfoPtr(WUDDevInfo* pInfo);
+void WUDiMoveBottomSmpDevInfoPtr(WUDDevInfo* pInfo);
+WUDDevInfo* WUDiGetRemoveSmpDevice(void);
+void WUDiMoveTopOfDisconnectedSmpDevice(WUDDevInfo* pInfo);
+
+void WUDiMoveTopStdDevInfoPtr(WUDDevInfo* pInfo);
+void WUDiMoveBottomStdDevInfoPtr(WUDDevInfo* pInfo);
+WUDDevInfo* WUDiGetRemoveStdDevice(void);
+void WUDiMoveTopOfDisconnectedStdDevice(WUDDevInfo* pInfo);
+
+BD_ADDR_PTR _WUDGetDevAddr(UINT8 handle);
+u16 _WUDGetQueuedSize(s8 dev_handle);
+u16 _WUDGetNotAckedSize(s8 dev_handle);
+u8 _WUDGetLinkNumber(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/revolution/wud/WUD.h b/include/revolution/wud/WUD.h
deleted file mode 100644
index 138733f1f0..0000000000
--- a/include/revolution/wud/WUD.h
+++ /dev/null
@@ -1,256 +0,0 @@
-#ifndef _REVOLUTION_WUD_WUD_H_
-#define _REVOLUTION_WUD_WUD_H_
-
-#include <revolution/wpad/bte.h>
-#include <revolution.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define WUD_CHAN0 0
-#define WUD_CHAN1 1
-#define WUD_CHAN2 2
-#define WUD_CHAN3 3
-#define WUD_MAX_CHANNELS 4
-
-#define WUD_CHAN_INVALID -1
-
-typedef void* WUDAllocFunc(u32 size);
-typedef int WUDFreeFunc(void* ptr); // signature from petari. not sure what the int is, though
-
-typedef struct WUDDevInfo {
- /* 0x00 */ struct small_dev_info small;
- /* 0x40 */ BD_ADDR devAddr;
- /* 0x46 */ LINK_KEY linkKey;
- /* 0x56 */ u8 devHandle;
- /* 0x57 */ u8 subclass;
- /* 0x58 */ u8 appID;
- /* 0x59 */ u8 at_0x59;
- /* 0x5a */ u8 at_0x5a; /* unknown */
- /* 0x5b */ u8 at_0x5b;
- /* 0x5c */ u8 at_0x5c;
- u8 at_0x5d[1]; // padding?
- /* 0x5e */ tBTA_HH_ATTR_MASK hhAttrMask;
-} WUDDevInfo; // size 0x60
-
-typedef void WUDHidConnectCallback(WUDDevInfo* devInfo, u8 isOpenEvent);
-typedef void WUDHidReceiveCallback(u8 dev_handle, u8* p_rpt, u16 len);
-
-u8 WUDGetBufferStatus(void);
-u8 _WUDGetLinkNumber(void);
-u16 _WUDGetQueuedSize(s8 dev_handle);
-u16 _WUDGetNotAckedSize(s8 dev_handle);
-
-typedef u8 BTD_NAME[64];
-typedef u8 BTD_ADDR[6];
-typedef u8 LINKKEY[16];
-
-typedef enum {
- WUD_STATE_SYNC_START = 0,
- WUD_STATE_SYNC_PREPARE_SEARCH = 1,
- WUD_STATE_SYNC_START_SEARCH = 2,
- WUD_STATE_SYNC_WAIT_FOR_SEARCH_RESULT = 3,
- WUD_STATE_SYNC_CHECK_SEARCH_RESULT = 4,
- WUD_STATE_SYNC_IS_EXISTED_DEVICE = 5,
- WUD_STATE_SYNC_6 = 6,
- WUD_STATE_SYNC_STORED_LINK_KEY_TO_EEPROM = 7,
- WUD_STATE_SYNC_WAIT_FOR_STORING = 8,
- WUD_STATE_SYNC_WAIT_FOR_READING = 10,
- WUD_STATE_SYNC_11 = 11,
- WUD_STATE_SYNC_12 = 12,
- WUD_STATE_SYNC_13 = 13,
- WUD_STATE_SYNC_DONE = 14,
- WUD_STATE_SYNC_TRY_CONNECT = 15,
- WUD_STATE_SYNC_PREPARE_FOR_EXISTED_DEVICE = 16,
- WUD_STATE_SYNC_PREPARE_FOR_UNKNOWN_DEVICE = 17,
- WUD_STATE_SYNC_REGISTER_DEVICE = 18,
- WUD_STATE_SYNC_VIRGIN_SIMPLE = 19,
- WUD_STATE_SYNC_VIRGIN_STANDARD = 20,
- WUD_STATE_SYNC_CHANGE_SIMPLE_TO_STANDARD = 21,
- WUD_STATE_SYNC_STORED_DEV_INFO_TO_NAND = 22,
- WUD_STATE_SYNC_COMPLETE = 23,
- WUD_STATE_SYNC_WAIT_FOR_INCOMING = 24,
- WUD_STATE_SYNC_SC_FLUSH = 25,
- WUD_STATE_SYNC_CANCEL_SEARCH = 26,
- WUD_STATE_SYNC_WAIT_FOR_START_SEARCH = 29,
- WUD_STATE_SYNC_ERROR = 255,
-} WUDSyncState;
-
-typedef enum {
- WUD_STATE_DELETE_START = 0,
- WUD_STATE_DELETE_DISALLOW_INCOMING = 1,
- WUD_STATE_DELETE_DISCONNECT_ALL = 2,
- WUD_STATE_DELETE_CLEANUP_DATABASE = 3,
- WUD_STATE_DELETE_CLEANUP_SETTING = 5,
- WUD_STATE_DELETE_6 = 6,
- WUD_STATE_DELETE_7 = 7,
- WUD_STATE_DELETE_DONE = 8
-} WUDDeleteState;
-
-typedef enum {
- WUD_RESULT_DELETE_BUSY = -1,
- WUD_RESULT_DELETE_WAITING,
- WUD_RESULT_DELETE_COMPLETE,
-} WUDDeleteResult;
-
-typedef enum {
- WUD_STATE_LINK_KEY_START = 0,
- WUD_STATE_LINK_KEY_READING = 1,
- WUD_STATE_LINK_KEY_WRITING = 2,
- WUD_STATE_LINK_KEY_DELETING = 3,
- WUD_STATE_LINK_KEY_ERROR = 255,
-} WUDLinkKeyState;
-
-typedef enum {
- WUD_STATE_STACK_START = 0,
- WUD_STATE_STACK_GET_STORED_LINK_KEY = 1,
- WUD_STATE_STACK_CHECK_DEVICE_INFO = 2,
- WUD_STATE_STACK_DONE = 3,
- WUD_STATE_STACK_INITIALIZED = 4,
- WUD_STATE_STACK_ERROR = 255,
-} WUDStackState;
-
-typedef enum {
- WUD_STATE_INIT_START = 0,
- WUD_STATE_INIT_WAIT_FOR_INITIALIZATION = 1,
- WUD_STATE_INIT_GET_DEV_INFO = 2,
- WUD_STATE_INIT_DONE = 3,
- WUD_STATE_INIT_INITIALIZED = 4,
- WUD_STATE_INIT_ERROR = 255,
-} WUDInitState;
-
-typedef enum {
- WUD_STATE_SHUTDOWN_START = 0,
- WUD_STATE_SHUTDOWN_STORE_SETTINGS = 1,
- WUD_STATE_SHUTDOWN_FLUSH_SETTINGS = 2,
- WUD_STATE_SHUTDOWN_DONE = 3,
- WUD_STATE_SHUTDOWN_ERROR = 255,
-} WUDShutdownState;
-
-typedef enum {
- WUD_VSE_INITIATE_PAIRING = 8,
- WUD_VSE_DELETE_ALL_KEYS,
- WUD_VSE_SI_PORT_STATUS,
- WUD_VSE_WATCH_DOG_RESET_HW = 16,
-} WUDVendorSpecificEvent;
-
-typedef struct WUDDeviceInfo {
- BTD_NAME bd_name;
- BTD_ADDR bd_addr;
- LINKKEY link_key;
- u8 handle;
- u8 sub_class;
- u8 app_id;
- u8 status;
- u8 overwrite;
- u8 sync_type;
- u8 reg;
- u16 attr_mask;
-} WUDDeviceInfo;
-
-typedef void* (*WUDAlloc)(u32);
-typedef u8 (*WUDFree)(void*);
-typedef void (*WUDSyncDeviceCallback)(s32 result, s32 num); // what is result?
-typedef void (*WUDClearDeviceCallback)(s32);
-typedef void (*WUDHidRecvCallback)(u8, u8*, u16);
-typedef void (*WUDHidConnCallback)(u8, u8);
-typedef void (*WUDStoredCallback)(void*);
-
-typedef struct DeviceList {
- WUDDeviceInfo* info;
- void* prev;
- void* next;
-} DeviceList;
-
-typedef struct WUDControlBlock {
- WUDSyncDeviceCallback syncCallback;
- WUDSyncDeviceCallback syncSmpCallback;
- WUDClearDeviceCallback clearCallback;
- u8 syncStatus;
- u8 delStatus;
- u8 keyStatus;
- u8 profStatus;
- u8 initStatus;
- u8 shutStatus;
- u8 devNums;
- u8 devSmpNums;
- DeviceList* smpListHead;
- DeviceList* smpListTail;
- DeviceList smpList[6];
- DeviceList* stdListHead;
- DeviceList* stdListTail;
- DeviceList stdList[10];
- WUDDeviceInfo devInfo[10];
- WUDDeviceInfo devSmpInfo[6];
- u8 connNums;
- u8 linkNums;
- u8 pairNums;
- u8 syncFast;
- s8 syncLoop;
- u8 syncMode;
- u8 connectable;
- u8 discoverable;
- WUDHidRecvCallback hidRecvCallback;
- WUDHidConnCallback hidConnCallback;
- WUDAlloc alloc;
- WUDFree free;
- BTD_ADDR lastAddr;
- BTD_ADDR hostAddr;
- s8 status;
- u8 siStatus;
- u8 pmId;
- s8 rssi;
- OSAlarm evtAlarm;
- u32 profileMask;
- u16 aclAvailBufSize;
- u16 aclMaxBufSize;
- s16 delayCnt;
- s16 incomeCnt;
-} WUDControlBlock;
-
-BOOL WUDInit();
-BOOL WUDStartSyncSimple(void);
-BOOL WUDStartFastSyncSimple(void);
-u32 WUDGetAllocatedMemSize(void);
-WUDSyncDeviceCallback WUDSetSyncSimpleCallback(WUDSyncDeviceCallback);
-void WUDiMoveTopSmpDevInfoPtr(WUDDeviceInfo*);
-void WUDiMoveTopStdDevInfoPtr(WUDDeviceInfo*);
-void WUDSetSniffMode(BTD_ADDR, s32);
-void WUDiRemoveDevice(BTD_ADDR);
-void WUDiMoveBottomSmpDevInfoPtr(WUDDeviceInfo*);
-void WUDiMoveTopSmpDevInfoPtr(WUDDeviceInfo*);
-void WUDiMoveBottomStdDevInfoPtr(WUDDeviceInfo*);
-void WUDiMoveTopOfDisconnectedSmpDevice(WUDDeviceInfo*);
-void WUDiMoveTopOfDisconnectedStdDevice(WUDDeviceInfo*);
-WUDDeviceInfo* WUDiGetDevInfo(BTD_ADDR);
-
-BOOL WUDCancelSyncDevice(void);
-BOOL WUDStopSyncSimple(void);
-s32 WUDGetStatus(void);
-void WUDShutdown();
-void WUDSetVisibility(u8, u8);
-u8 WUDGetConnectable(void);
-BOOL WUDIsBusy(void);
-WUDHidRecvCallback WUDSetHidRecvCallback(WUDHidRecvCallback);
-WUDHidConnCallback WUDSetHidConnCallback(WUDHidConnCallback);
-void WUDRegisterAllocator(WUDAlloc, WUDFree);
-u8* _WUDGetDevAddr(u8);
-BOOL WUDSetDisableChannel(s8);
-u8 WUDGetBufferStatus(void);
-u8 _WUDGetLinkNumber(void);
-u16 _WUDGetQueuedSize(s8);
-u16 _WUDGetNotAckedSize(s8);
-
-extern WUDControlBlock _wcb;
-extern WUDDeviceInfo _work;
-extern u8* _dev_handle_to_bda[16];
-extern u16 _dev_handle_queue_size[16];
-extern u16 _dev_handle_notack_num[16];
-extern SCBtDeviceInfoArray _scArray;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _REVOLUTION_WUD_WUD_H_ */
diff --git a/include/revolution/wud/debug_msg.h b/include/revolution/wud/debug_msg.h
deleted file mode 100644
index 550bf9a0ba..0000000000
--- a/include/revolution/wud/debug_msg.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef _REVOLUTION_WUD_DEBUG_MSG_H_
-#define _REVOLUTION_WUD_DEBUG_MSG_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void WUD_DEBUGPrint(const char*, ...);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _REVOLUTION_WUD_DEBUG_MSG_H_ */