aboutsummaryrefslogtreecommitdiffstats
path: root/heimdall/source/BridgeManager.h
diff options
context:
space:
mode:
authorBenjamin Dobell <benjamin.dobell+git@glassechidna.com.au>2014-07-06 03:50:48 +1000
committerBenjamin Dobell <benjamin.dobell+git@glassechidna.com.au>2014-07-06 03:50:48 +1000
commitd613a87cdb6b27bf5f36200295f926a91f8d27be (patch)
tree797da72091b37ccf0da961afdc1b0d5e81ceea64 /heimdall/source/BridgeManager.h
parentfbebc394f441e35e4777868627b4d2d1ec349a6b (diff)
downloadexternal_heimdall-d613a87cdb6b27bf5f36200295f926a91f8d27be.zip
external_heimdall-d613a87cdb6b27bf5f36200295f926a91f8d27be.tar.gz
external_heimdall-d613a87cdb6b27bf5f36200295f926a91f8d27be.tar.bz2
More empty transfer craziness, this time when receving packets
It seems newer devices need more weird empty transfers in order to function.
Diffstat (limited to 'heimdall/source/BridgeManager.h')
-rw-r--r--heimdall/source/BridgeManager.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/heimdall/source/BridgeManager.h b/heimdall/source/BridgeManager.h
index e85dc87..840fb5e 100644
--- a/heimdall/source/BridgeManager.h
+++ b/heimdall/source/BridgeManager.h
@@ -82,7 +82,7 @@ namespace Heimdall
{
kDefaultTimeoutSend = 3000,
kDefaultTimeoutReceive = 3000,
- kDefaultTimeoutSendEmptyTransfer = 100
+ kDefaultTimeoutEmptyTransfer = 100
};
enum class UsbLogLevel
@@ -98,10 +98,10 @@ namespace Heimdall
enum
{
- kSendEmptyTransferNone = 0,
- kSendEmptyTransferBefore = 1,
- kSendEmptyTransferAfter = 1 << 1,
- kSendEmptyTransferBeforeAndAfter = kSendEmptyTransferBefore | kSendEmptyTransferAfter
+ kEmptyTransferNone = 0,
+ kEmptyTransferBefore = 1,
+ kEmptyTransferAfter = 1 << 1,
+ kEmptyTransferBeforeAndAfter = kEmptyTransferBefore | kEmptyTransferAfter
};
private:
@@ -141,6 +141,7 @@ namespace Heimdall
bool InitialiseProtocol(void);
bool SendBulkTransfer(unsigned char *data, int length, int timeout, bool retry = true) const;
+ int ReceiveBulkTransfer(unsigned char *data, int length, int timeout, bool retry = true) const;
public:
@@ -153,8 +154,8 @@ namespace Heimdall
bool BeginSession(void);
bool EndSession(bool reboot) const;
- bool SendPacket(OutboundPacket *packet, int timeout = kDefaultTimeoutSend, int sendEmptyTransferFlags = kSendEmptyTransferAfter) const;
- bool ReceivePacket(InboundPacket *packet, int timeout = kDefaultTimeoutReceive) const;
+ bool SendPacket(OutboundPacket *packet, int timeout = kDefaultTimeoutSend, int emptyTransferFlags = kEmptyTransferAfter) const;
+ bool ReceivePacket(InboundPacket *packet, int timeout = kDefaultTimeoutReceive, int emptyTransferFlags = kEmptyTransferNone) const;
bool RequestDeviceType(unsigned int request, int *result) const;