device-flags.h   device-flags.h 
skipping to change at line 68 skipping to change at line 68
* will present both an MTP compliant interface and device * will present both an MTP compliant interface and device
* descriptor *and* a USB mass storage interface. If the USB * descriptor *and* a USB mass storage interface. If the USB
* mass storage interface is in use, other apps (like our * mass storage interface is in use, other apps (like our
* userspace libmtp through libusb access path) cannot get in * userspace libmtp through libusb access path) cannot get in
* and get cosy with it. So we can remove the offending * and get cosy with it. So we can remove the offending
* application. Typically this means you have to run the program * application. Typically this means you have to run the program
* as root as well. * as root as well.
*/ */
#define DEVICE_FLAG_UNLOAD_DRIVER 0x00000002 #define DEVICE_FLAG_UNLOAD_DRIVER 0x00000002
/** /**
* This means that the PTP_OC_MTP_GetObjPropList is broken and * This means that the PTP_OC_MTP_GetObjPropList (9805)
* won't properly return all object properties if parameter 3 * is broken in some way, either it doesn't work at all
* is set to 0xFFFFFFFFU. * (as for Android devices) or it won't properly return all
* object properties if parameter 3 is set to 0xFFFFFFFFU.
*/ */
#define DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST 0x00000004 #define DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST 0x00000004
/** /**
* This means the device doesn't send zero packets to indicate * This means the device doesn't send zero packets to indicate
* end of transfer when the transfer boundary occurs at a * end of transfer when the transfer boundary occurs at a
* multiple of 64 bytes (the USB 1.1 endpoint size). Instead, * multiple of 64 bytes (the USB 1.1 endpoint size). Instead,
* exactly one extra byte is sent at the end of the transfer * exactly one extra byte is sent at the end of the transfer
* if the size is an integer multiple of USB 1.1 endpoint size * if the size is an integer multiple of USB 1.1 endpoint size
* (64 bytes). * (64 bytes).
* *
skipping to change at line 270 skipping to change at line 271
* timeout on some operations. * timeout on some operations.
*/ */
#define DEVICE_FLAG_LONG_TIMEOUT 0x08000000 #define DEVICE_FLAG_LONG_TIMEOUT 0x08000000
/** /**
* This flag indicates that the device need an explicit * This flag indicates that the device need an explicit
* USB reset after each connection. Some devices don't * USB reset after each connection. Some devices don't
* like this, so it's not done by default. * like this, so it's not done by default.
*/ */
#define DEVICE_FLAG_FORCE_RESET_ON_CLOSE 0x10000000 #define DEVICE_FLAG_FORCE_RESET_ON_CLOSE 0x10000000
/** /**
* Early Creative Zen (etc) models actually only support
* command 9805 (Get object property list) and will hang
* if you try to get individual properties of an object.
*/
#define DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL 0x20000000
/**
* All these bug flags need to be set on SONY NWZ Walkman
* players, and will be autodetected on unknown devices
* by detecting the vendor extension descriptor "sony.net"
*/
#define DEVICE_FLAGS_SONY_NWZ_BUGS \
(DEVICE_FLAG_UNLOAD_DRIVER | \
DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | \
DEVICE_FLAG_UNIQUE_FILENAMES | \
DEVICE_FLAG_FORCE_RESET_ON_CLOSE )
/**
* All these bug flags need to be set on Android devices, * All these bug flags need to be set on Android devices,
* they claim to support MTP operations they actually * they claim to support MTP operations they actually
* cannot handle. These are auto-assigned to devices reporting * cannot handle, especially 9805 (Get object property list).
* These are auto-assigned to devices reporting
* "android.com" in their device extension descriptor. * "android.com" in their device extension descriptor.
*/ */
#define DEVICE_FLAGS_ANDROID_BUGS \ #define DEVICE_FLAGS_ANDROID_BUGS \
(DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | \ (DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | \
DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST | \ DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST | \
DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST) DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST | \
DEVICE_FLAG_UNLOAD_DRIVER | \
DEVICE_FLAG_LONG_TIMEOUT )
 End of changes. 4 change blocks. 
4 lines changed or deleted 23 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/