libusb-sniff: Disable printing output of libusb function if env USBSNIFF_SKIP_* is set
This commit is contained in:
1 parent
40cd74c506
commit
805bafacef
1 file changed
+13
@@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
/* compile: gcc libusb-sniff.c -o libusb-sniff.so -W -Wall -O2 -fPIC -ldl -shared -m32 */
|
/* compile: gcc libusb-sniff.c -o libusb-sniff.so -W -Wall -O2 -fPIC -ldl -shared -m32 */
|
||||||
/* usage: sudo USBSNIFF_WAIT=1 LD_PRELOAD=./libusb-sniff.so flasher-3.5 ... */
|
/* usage: sudo USBSNIFF_WAIT=1 LD_PRELOAD=./libusb-sniff.so flasher-3.5 ... */
|
||||||
|
/* usage: sudo USBSNIFF_SKIP_READ=1 USBSNIFF_SKIP_WRITE=1 LD_PRELOAD=./libusb-sniff.so flasher-3.5 ... */
|
||||||
|
|
||||||
#define _GNU_SOURCE
|
#define _GNU_SOURCE
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -69,6 +70,8 @@ int usb_bulk_write(usb_dev_handle * dev, int ep, const char * bytes, int size, i
|
|||||||
if ( ! real_usb_bulk_write )
|
if ( ! real_usb_bulk_write )
|
||||||
real_usb_bulk_write = dlsym(RTLD_NEXT, "usb_bulk_write");
|
real_usb_bulk_write = dlsym(RTLD_NEXT, "usb_bulk_write");
|
||||||
|
|
||||||
|
if ( ! getenv("USBSNIFF_SKIP_WRITE") ) {
|
||||||
|
|
||||||
printf("\n==== usb_bulk_write (ep=%d size=%d timeout=%d) ====\n", ep, size, timeout);
|
printf("\n==== usb_bulk_write (ep=%d size=%d timeout=%d) ====\n", ep, size, timeout);
|
||||||
dump_bytes(bytes, size);
|
dump_bytes(bytes, size);
|
||||||
printf("====\n");
|
printf("====\n");
|
||||||
@@ -77,6 +80,8 @@ int usb_bulk_write(usb_dev_handle * dev, int ep, const char * bytes, int size, i
|
|||||||
printf("Press ENTER"); fflush(stdout); getchar();
|
printf("Press ENTER"); fflush(stdout); getchar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
return real_usb_bulk_write(dev, ep, bytes, size, timeout);
|
return real_usb_bulk_write(dev, ep, bytes, size, timeout);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -91,6 +96,8 @@ int usb_bulk_read(usb_dev_handle * dev, int ep, char * bytes, int size, int time
|
|||||||
|
|
||||||
ret = real_usb_bulk_read(dev, ep, bytes, size, timeout);
|
ret = real_usb_bulk_read(dev, ep, bytes, size, timeout);
|
||||||
|
|
||||||
|
if ( ! getenv("USBSNIFF_SKIP_READ") ) {
|
||||||
|
|
||||||
printf("\n==== usb_bulk_read (ep=%d size=%d timeout=%d) ret = %d ====\n", ep, size, timeout, ret);
|
printf("\n==== usb_bulk_read (ep=%d size=%d timeout=%d) ret = %d ====\n", ep, size, timeout, ret);
|
||||||
if ( ret > 0 ) {
|
if ( ret > 0 ) {
|
||||||
dump_bytes(bytes, ret);
|
dump_bytes(bytes, ret);
|
||||||
@@ -101,6 +108,8 @@ int usb_bulk_read(usb_dev_handle * dev, int ep, char * bytes, int size, int time
|
|||||||
printf("Press ENTER"); fflush(stdout); getchar();
|
printf("Press ENTER"); fflush(stdout); getchar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -115,6 +124,8 @@ int usb_control_msg(usb_dev_handle *dev, int requesttype, int request, int value
|
|||||||
|
|
||||||
ret = real_usb_control_msg(dev, requesttype, request, value, index, bytes, size, timeout);
|
ret = real_usb_control_msg(dev, requesttype, request, value, index, bytes, size, timeout);
|
||||||
|
|
||||||
|
if ( ! 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", requesttype, request, value, index, size, timeout, ret);
|
||||||
if ( ret > 0 ) {
|
if ( ret > 0 ) {
|
||||||
dump_bytes(bytes, ret);
|
dump_bytes(bytes, ret);
|
||||||
@@ -125,6 +136,8 @@ int usb_control_msg(usb_dev_handle *dev, int requesttype, int request, int value
|
|||||||
printf("Press ENTER"); fflush(stdout); getchar();
|
printf("Press ENTER"); fflush(stdout); getchar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user