summaryrefslogtreecommitdiffstats
path: root/src/libusb-sniff.c
diff options
context:
space:
mode:
authorPali Rohár <pali.rohar@gmail.com>2016-02-23 18:15:55 +0100
committerPali Rohár <pali.rohar@gmail.com>2016-02-23 18:15:55 +0100
commit6952d730827165f9596b6c65380f5aeb4e6c985b (patch)
tree7eec6001fa3988d4dcc32d53df05fb7538073393 /src/libusb-sniff.c
parentbc7894b99dc4902b365b5f2e5bb258f471fe5582 (diff)
download0xFFFF-6952d730827165f9596b6c65380f5aeb4e6c985b.tar.bz2
libusb-sniff: Fix libusb_control_transfer function
Diffstat (limited to 'src/libusb-sniff.c')
-rw-r--r--src/libusb-sniff.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/libusb-sniff.c b/src/libusb-sniff.c
index 0ac1259..ea7ef48 100644
--- a/src/libusb-sniff.c
+++ b/src/libusb-sniff.c
@@ -24,6 +24,7 @@
#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
+#include <stdint.h>
#include <dlfcn.h>
struct usb_dev_handle;
@@ -207,17 +208,17 @@ int usb_control_msg(usb_dev_handle *dev, int requesttype, int request, int value
}
-int libusb_control_msg(libusb_device_handle *dev, int requesttype, int request, int value, int index, unsigned char *bytes, int size, int timeout) {
+int libusb_control_transfer(libusb_device_handle *dev, uint8_t requesttype, uint8_t request, uint16_t value, uint16_t index, unsigned char *bytes, uint16_t size, unsigned int timeout) {
- static int (*real_usb_control_msg)(libusb_device_handle *dev, int requesttype, int request, int value, int index, unsigned char *bytes, int size, int timeout) = NULL;
+ static int (*real_libusb_control_transfer)(libusb_device_handle *dev, uint8_t requesttype, uint8_t request, uint16_t value, uint16_t index, unsigned char *bytes, uint16_t size, unsigned int timeout) = NULL;
int ret;
- if ( ! real_usb_control_msg )
- *(void **)(&real_usb_control_msg) = dlsym(RTLD_NEXT, "libusb_control_msg");
+ if ( ! real_libusb_control_transfer )
+ *(void **)(&real_libusb_control_transfer) = dlsym(RTLD_NEXT, "libusb_control_transfer");
if ( requesttype == 64 && ! getenv("USBSNIFF_SKIP_CONTROL") ) {
- printf("\n==== usb_control_msg(requesttype=%d, request=%d, value=%d, index=%d, size=%d, timeout=%d) ====\n", requesttype, request, value, index, size, timeout);
+ printf("\n==== usb_control_msg(requesttype=%d, request=%d, value=%d, index=%d, size=%d, timeout=%d) ====\n", (int)requesttype, (int)request, (int)value, (int)index, (int)size, (int)timeout);
dump_bytes((char*) bytes, size);
printf("====\n");
@@ -227,11 +228,11 @@ int libusb_control_msg(libusb_device_handle *dev, int requesttype, int request,
}
- ret = real_usb_control_msg(dev, requesttype, request, value, index, bytes, size, timeout);
+ ret = real_libusb_control_transfer(dev, requesttype, request, value, index, bytes, size, timeout);
if ( requesttype != 64 && ! getenv("USBSNIFF_SKIP_CONTROL") ) {
- printf("\n==== usb_control_msg(requesttype=%d, request=%d, value=%d, index=%d, size=%d, timeout=%d) ret = %d ====\n", requesttype, request, value, index, size, timeout, ret);
+ printf("\n==== usb_control_msg(requesttype=%d, request=%d, value=%d, index=%d, size=%d, timeout=%d) ret = %d ====\n", (int)requesttype, (int)request, (int)value, (int)index, (int)size, (int)timeout, ret);
if ( ret > 0 ) {
dump_bytes((char*) bytes, ret);
printf("====\n");