Go to the documentation of this file.
40 #ifdef HAVE_LIBOPENUSB
54 #define LIBMTP_USB_DEBUG(format, args...) \
56 if ((LIBMTP_debug & LIBMTP_DEBUG_USB) != 0) \
57 fprintf(stdout, "LIBMTP %s[%d]: " format, __FUNCTION__, __LINE__, ##args); \
60 #define LIBMTP_USB_DATA(buffer, length, base) \
62 if ((LIBMTP_debug & LIBMTP_DEBUG_DATA) != 0) \
63 data_dump_ascii (stdout, buffer, length, base); \
67 #define USB_BULK_READ libusb_bulk_transfer
68 #define USB_BULK_WRITE libusb_bulk_transfer
71 #define USB_BULK_READ usb_bulk_read
72 #define USB_BULK_WRITE usb_bulk_write
74 #ifdef HAVE_LIBOPENUSB
75 #define USB_BULK_READ openusb_bulk_xfer
76 #define USB_BULK_WRITE openusb_bulk_xfer
86 libusb_device_handle* handle;
89 usb_dev_handle* handle;
91 #ifdef HAVE_LIBOPENUSB
92 openusb_dev_handle_t* handle;
106 uint64_t current_transfer_total;
107 uint64_t current_transfer_complete;
109 void const * current_transfer_callback_data;
120 void set_usb_device_timeout(
PTP_USB *ptp_usb,
int timeout);
121 void get_usb_device_timeout(
PTP_USB *ptp_usb,
int *timeout);
122 int guess_usb_speed(
PTP_USB *ptp_usb);
125 #define FLAG_BROKEN_MTPGETOBJPROPLIST_ALL(a) \
126 ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL)
127 #define FLAG_UNLOAD_DRIVER(a) \
128 ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_UNLOAD_DRIVER)
129 #define FLAG_BROKEN_MTPGETOBJPROPLIST(a) \
130 ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST)
131 #define FLAG_NO_ZERO_READS(a) \
132 ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_NO_ZERO_READS)
133 #define FLAG_IRIVER_OGG_ALZHEIMER(a) \
134 ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_IRIVER_OGG_ALZHEIMER)
135 #define FLAG_ONLY_7BIT_FILENAMES(a) \
136 ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_ONLY_7BIT_FILENAMES)
137 #define FLAG_NO_RELEASE_INTERFACE(a) \
138 ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_NO_RELEASE_INTERFACE)
139 #define FLAG_IGNORE_HEADER_ERRORS(a) \
140 ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_IGNORE_HEADER_ERRORS)
141 #define FLAG_BROKEN_SET_OBJECT_PROPLIST(a) \
142 ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST)
143 #define FLAG_OGG_IS_UNKNOWN(a) \
144 ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_OGG_IS_UNKNOWN)
145 #define FLAG_BROKEN_SET_SAMPLE_DIMENSIONS(a) \
146 ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS)
147 #define FLAG_ALWAYS_PROBE_DESCRIPTOR(a) \
148 ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR)
149 #define FLAG_PLAYLIST_SPL_V1(a) \
150 ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_PLAYLIST_SPL_V1)
151 #define FLAG_PLAYLIST_SPL_V2(a) \
152 ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_PLAYLIST_SPL_V2)
153 #define FLAG_PLAYLIST_SPL(a) \
154 ((a)->rawdevice.device_entry.device_flags & (DEVICE_FLAG_PLAYLIST_SPL_V1 | DEVICE_FLAG_PLAYLIST_SPL_V2))
155 #define FLAG_CANNOT_HANDLE_DATEMODIFIED(a) \
156 ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED)
157 #define FLAG_BROKEN_SEND_OBJECT_PROPLIST(a) \
158 ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST)
159 #define FLAG_BROKEN_BATTERY_LEVEL(a) \
160 ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_BROKEN_BATTERY_LEVEL)
161 #define FLAG_FLAC_IS_UNKNOWN(a) \
162 ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_FLAC_IS_UNKNOWN)
163 #define FLAG_UNIQUE_FILENAMES(a) \
164 ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_UNIQUE_FILENAMES)
165 #define FLAG_SWITCH_MODE_BLACKBERRY(a) \
166 ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_SWITCH_MODE_BLACKBERRY)
167 #define FLAG_LONG_TIMEOUT(a) \
168 ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_LONG_TIMEOUT)
169 #define FLAG_FORCE_RESET_ON_CLOSE(a) \
170 ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_FORCE_RESET_ON_CLOSE)
173 #define PTP_CD_RC_CONNECTED 0
174 #define PTP_CD_RC_NO_DEVICES 1
175 #define PTP_CD_RC_ERROR_CONNECTING 2
181 #endif // LIBUSB-GLUE_H
int LIBMTP_debug
Definition: libmtp.c:89
void device_unknown(const int dev_number, const int id_vendor, const int id_product)
Definition: util.c:50
#define LIBMTP_USB_DEBUG(format, args...)
Definition: libusb-glue.h:54
LIBMTP_error_number_t configure_usb_device(LIBMTP_raw_device_t *device, PTPParams *params, void **usbinfo)
Definition: libopenusb1-glue.c:2059
LIBMTP_error_number_t
Definition: libmtp.h:445
uint8_t devnum
Definition: libmtp.h:546
uint32_t bus_location
Definition: libmtp.h:545
char * vendor
Definition: libmtp.h:532
Definition: libusb-glue.h:83
int(* LIBMTP_progressfunc_t)(uint64_t const sent, uint64_t const total, void const *const data)
Definition: libmtp.h:482
int LIBMTP_Check_Specific_Device(int busno, int devno)
Definition: libopenusb1-glue.c:556
Definition: libopenusb1-glue.c:1065
LIBMTP_raw_device_t rawdevice
Definition: libusb-glue.h:111
void dump_usbinfo(PTP_USB *ptp_usb)
Definition: libopenusb1-glue.c:683
Definition: libopenusb1-glue.c:77
int callback_active
Definition: libusb-glue.h:103
void data_dump_ascii(FILE *f, void *buf, uint32_t n, uint32_t dump_boundry)
Definition: util.c:100
uint16_t vendor_id
Definition: libmtp.h:533
const char * get_playlist_extension(PTP_USB *ptp_usb)
Definition: libopenusb1-glue.c:716
int LIBMTP_Get_Supported_Devices_List(LIBMTP_device_entry_t **const devices, int *const numdevs)
Definition: libopenusb1-glue.c:131
int LIBMTP_Handle_Events_Timeout_Completed(struct timeval *, int *)
Definition: libopenusb1-glue.c:1703
char * product
Definition: libmtp.h:534
LIBMTP_device_entry_t device_entry
Definition: libmtp.h:544
uint16_t product_id
Definition: libmtp.h:535
uint32_t device_flags
Definition: libmtp.h:536
LIBMTP_error_number_t LIBMTP_Detect_Raw_Devices(LIBMTP_raw_device_t **devices, int *numdevs)
Definition: libopenusb1-glue.c:592