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: I000930b787b00a2da0b57de9790053b2d71b86fd
Signed-off-by: Mike Lockwood <lockwood@android.com>
5 files changed
tree: 51c5e0f9bd786a4faa0d1b4572f9370d7d74c536
  1. camera/
  2. cmds/
  3. drm/
  4. include/
  5. media/
  6. services/