5#include <revolution/BTE.h> 
    6#include <revolution/SC.h> 
   11#define WUD_MAX_DEV_ENTRY_FOR_STD SC_MAX_DEV_ENTRY_FOR_STD 
   12#define WUD_MAX_DEV_ENTRY_FOR_SMP SC_MAX_DEV_ENTRY_FOR_SMP 
   13#define WUD_MAX_DEV_ENTRY SC_MAX_DEV_ENTRY 
   14#define WUD_DEV_HANDLE_INVALID (-1) 
   39    WUD_SYNC_TYPE_STANDARD,
 
   43typedef void* (*WUDAllocFunc)(u32 size);
 
   44typedef BOOL (*WUDFreeFunc)(
void* pBlock);
 
   46typedef void (*WUDSyncDeviceCallback)(s32 result, s32 num);
 
   47typedef void (*WUDClearDeviceCallback)(s32 result);
 
   49typedef void (*WUDHidConnCallback)(UINT8 devHandle, u8 open);
 
   50typedef void (*WUDHidRecvCallback)(UINT8 devHandle, UINT8* pReport, UINT16 len);
 
   64    tBTA_HH_ATTR_MASK hhAttrMask; 
 
 
   69void WUDRegisterAllocator(WUDAllocFunc pAllocFunc, WUDFreeFunc pFreeFunc);
 
   70u32 WUDGetAllocatedMemSize(
void);
 
   71void WUDShutdown(
void);
 
   73WUDLibStatus WUDGetStatus(
void);
 
   74u8 WUDGetBufferStatus(
void);
 
   76void WUDSetSniffMode(BD_ADDR addr, s32 interval);
 
   80WUDSetSyncSimpleCallback(WUDSyncDeviceCallback pCallback);
 
   83WUDSetClearDeviceCallback(WUDClearDeviceCallback pCallback);
 
   86BOOL WUDStartSyncDevice(
void);
 
   87BOOL WUDStartFastSyncSimple(
void);
 
   88BOOL WUDStartSyncSimple(
void);
 
   89BOOL WUDStopSyncSimple(
void);
 
   91BOOL WUDStartClearDevice(
void);
 
   92BOOL WUDSetDisableChannel(s8 afhChannel);
 
   94WUDHidRecvCallback WUDSetHidRecvCallback(WUDHidRecvCallback pCallback);
 
   95WUDHidConnCallback WUDSetHidConnCallback(WUDHidConnCallback pCallback);
 
   97void WUDSetVisibility(u8 disc, u8 conn);
 
   98u8 WUDGetConnectable(
void);
 
  100void WUDiGetFirmwareVersion(
void);
 
  101void WUDiInitSub(
void);
 
  103void WUDiEnableStack(
void);
 
  104void WUDiAutoSync(
void);
 
  105void WUDiDeleteAllLinkKeys(
void);
 
  107void WUDiRegisterDevice(BD_ADDR addr);
 
  108void WUDiRemoveDevice(BD_ADDR addr);
 
  113void WUDiRemoveDevInfo(BD_ADDR addr);
 
  114void WUDiClearDevice(
void);
 
  116u8 WUDiGetDevNumber(
void);
 
  117u8 WUDiGetDevSmpNumber(
void);
 
  118u8 WUDiGetConnNumber(
void);
 
  119u8 WUDiGetLinkNum(
void);
 
  121void WUDiMoveTopSmpDevInfoPtr(
WUDDevInfo* pInfo);
 
  122void WUDiMoveBottomSmpDevInfoPtr(
WUDDevInfo* pInfo);
 
  124void WUDiMoveTopOfDisconnectedSmpDevice(
WUDDevInfo* pInfo);
 
  126void WUDiMoveTopStdDevInfoPtr(
WUDDevInfo* pInfo);
 
  127void WUDiMoveBottomStdDevInfoPtr(
WUDDevInfo* pInfo);
 
  129void WUDiMoveTopOfDisconnectedStdDevice(
WUDDevInfo* pInfo);
 
  131BD_ADDR_PTR _WUDGetDevAddr(UINT8 handle);
 
  132u16 _WUDGetQueuedSize(s8 handle);
 
  133u16 _WUDGetNotAckedSize(s8 handle);
 
  134u8 _WUDGetLinkNumber(
void);