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/ |