some cleanup in IPC_HLE_Device_usb. Add /dev/usb/hid as a null device. Just nag me if i've messed up /dev/usb/oh1/57e/305, so much moving around o_o

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4670 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Shawn Hoffman 2009-12-10 09:16:34 +00:00
parent eb2c52f55f
commit cf55a09e08
3 changed files with 941 additions and 884 deletions

File diff suppressed because it is too large Load Diff

View File

@ -56,6 +56,11 @@ struct SQueuedEvent
}
};
// Important to remember that this class is for /dev/usb/oh1/57e/305 ONLY
// /dev/usb/oh1 -> internal usb bus
// 57e/305 -> VendorID/ProductID of device on usb bus
// This device is ONLY the internal bluetooth module (based on BCM2045 chip)
class CWII_IPC_HLE_Device_usb_oh1_57e_305 : public IWII_IPC_HLE_Device
{
public:
@ -200,6 +205,7 @@ private:
bool SendEventRequestConnection(CWII_IPC_HLE_WiiMote& _rWiiMote);
bool SendEventConnectionComplete(bdaddr_t _bd);
bool SendEventReadClockOffsetComplete(u16 _connectionHandle);
bool SendEventConPacketTypeChange(u16 _connectionHandle, u16 _packetType);
bool SendEventReadRemoteVerInfo(u16 _connectionHandle);
bool SendEventReadRemoteFeatures(u16 _connectionHandle);
bool SendEventRoleChange(bdaddr_t _bd, bool _master);
@ -230,6 +236,7 @@ private:
void CommandLinkKeyNegRep(u8* _Input);
void CommandLinkKeyRep(u8* _Input);
void CommandDeleteStoredLinkKey(u8* _Input);
void CommandChangeConPacketType(u8* _Input);
// OGF 0x02 Link policy commands and return parameters
void CommandWriteLinkPolicy(u8* _Input);
@ -279,5 +286,23 @@ public:
// virtual u32 Update();
};
// Addresses Human Interface Devices via the Wii's USB 2.0 ports.
// Used by Rock Band 1 + 2 instruments.
class CWII_IPC_HLE_Device_usb_hid : public IWII_IPC_HLE_Device
{
public:
CWII_IPC_HLE_Device_usb_hid(u32 _DeviceID, const std::string& _rDeviceName);
virtual ~CWII_IPC_HLE_Device_usb_hid();
virtual bool Open(u32 _CommandAddress, u32 _Mode);
virtual bool Close(u32 _CommandAddress, bool _bForce);
virtual bool IOCtlV(u32 _CommandAddress);
virtual bool IOCtl(u32 _CommandAddress);
// virtual u32 Update();
};
#endif

View File

@ -2435,6 +2435,15 @@ struct SHCIEventReadClockOffsetComplete
u16 ClockOffset;
};
struct SHCIEventConPacketTypeChange
{
u8 EventType;
u8 PayloadLength;
u8 Status;
u16 ConnectionHandle;
u16 PacketType;
};
struct SHCIEventReadRemoteVerInfo
{
u8 EventType;