summaryrefslogtreecommitdiffstats
path: root/media/mtp/MtpDebug.cpp
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@android.com>2011-04-21 17:05:55 -0700
committerMike Lockwood <lockwood@android.com>2011-05-03 21:03:56 -0400
commit4d9da14065fea7bca759f83c419ce10bd1195e83 (patch)
tree803d17f1571306380ec986d87bdbc0dd03d041f4 /media/mtp/MtpDebug.cpp
parent462accab9dbcf8d1597de999328fa74337b3b88c (diff)
downloadframeworks_av-4d9da14065fea7bca759f83c419ce10bd1195e83.zip
frameworks_av-4d9da14065fea7bca759f83c419ce10bd1195e83.tar.gz
frameworks_av-4d9da14065fea7bca759f83c419ce10bd1195e83.tar.bz2
DO NOT MERGE MTP: Add extended operations to support in-place editing of files
MTP does not support partial writes of files (the entire file must be transferred at once). This makes it impossible to implement a FUSE file system for MTP with acceptable performance. To fix this problem, this change adds extended MTP operations to allow partial writes to files: SendPartialObject - allows writing a subset of a file, or appending to the end of a file TruncateObject - allows changing the size of a file BeginEditObject - must be called before using SendPartialObject and TruncateObject EndEditObject - commits changes to a file after it has been edited with SendPartialObject or TruncateObject We also add GetPartialObject64, which is the same as GetPartialObject but has a 64 bit offset rather than 32. Change-Id: Id5365e1c4dc55a2d819c16c9db0a3ac2260f9309 Signed-off-by: Mike Lockwood <lockwood@android.com>
Diffstat (limited to 'media/mtp/MtpDebug.cpp')
-rw-r--r--media/mtp/MtpDebug.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/media/mtp/MtpDebug.cpp b/media/mtp/MtpDebug.cpp
index 1668ecf..9f3037d 100644
--- a/media/mtp/MtpDebug.cpp
+++ b/media/mtp/MtpDebug.cpp
@@ -63,6 +63,12 @@ static const CodeEntry sOperationCodes[] = {
{ "MTP_OPERATION_GET_OBJECT_REFERENCES", 0x9810 },
{ "MTP_OPERATION_SET_OBJECT_REFERENCES", 0x9811 },
{ "MTP_OPERATION_SKIP", 0x9820 },
+ // android extensions
+ { "MTP_OPERATION_GET_PARTIAL_OBJECT_64", 0x95C1 },
+ { "MTP_OPERATION_SEND_PARTIAL_OBJECT", 0x95C2 },
+ { "MTP_OPERATION_TRUNCATE_OBJECT", 0x95C3 },
+ { "MTP_OPERATION_BEGIN_EDIT_OBJECT", 0x95C4 },
+ { "MTP_OPERATION_END_EDIT_OBJECT", 0x95C5 },
{ 0, 0 },
};