diff options
author | Hans Petter Selasky <hselasky@FreeBSD.org> | 2013-11-07 07:22:51 +0000 |
---|---|---|
committer | Hans Petter Selasky <hselasky@FreeBSD.org> | 2013-11-07 07:22:51 +0000 |
commit | 2578c12e39a4009e1b0e0183e0273bab80a1fbb9 (patch) | |
tree | 648af4ea258a46bdf72538a3fe05adb5d0c9cb38 /share/examples/libusb20 | |
parent | f382c38e98b42ef55119ef5b66d0e59ef129b30b (diff) |
- Use libusb20_strerror() function instead of custom usb_error() one.
- Rename "aux.[ch]" to "util.[ch]" which is a more common name for
utility functions and allows checkout on some non-FreeBSD systems
where the "aux.*" namespace is reserved.
- Fix some compile warnings while at it.
PR: usb/183728
MFC after: 2 weeks
Notes
Notes:
svn path=/head/; revision=257779
Diffstat (limited to 'share/examples/libusb20')
-rw-r--r-- | share/examples/libusb20/Makefile | 9 | ||||
-rw-r--r-- | share/examples/libusb20/aux.c | 120 | ||||
-rw-r--r-- | share/examples/libusb20/bulk.c | 16 | ||||
-rw-r--r-- | share/examples/libusb20/control.c | 17 | ||||
-rw-r--r-- | share/examples/libusb20/util.c | 50 | ||||
-rw-r--r-- | share/examples/libusb20/util.h (renamed from share/examples/libusb20/aux.h) | 1 |
6 files changed, 72 insertions, 141 deletions
diff --git a/share/examples/libusb20/Makefile b/share/examples/libusb20/Makefile index 6f870a192949..f0da6bf527a4 100644 --- a/share/examples/libusb20/Makefile +++ b/share/examples/libusb20/Makefile @@ -1,13 +1,14 @@ # $FreeBSD$ TARGETS= bulk control +CFLAGS+= -Wall all: $(TARGETS) -bulk: bulk.o aux.o - $(CC) $(CFLAGS) -o bulk bulk.o aux.o -lusb +bulk: bulk.o util.o + $(CC) $(CFLAGS) -o bulk bulk.o util.o -lusb -control: control.o aux.o - $(CC) $(CFLAGS) -o control control.o aux.o -lusb +control: control.o util.o + $(CC) $(CFLAGS) -o control control.o util.o -lusb clean: rm -f $(TARGETS) *.o *~ diff --git a/share/examples/libusb20/aux.c b/share/examples/libusb20/aux.c deleted file mode 100644 index 434972aa736c..000000000000 --- a/share/examples/libusb20/aux.c +++ /dev/null @@ -1,120 +0,0 @@ -/* ---------------------------------------------------------------------------- - * "THE BEER-WARE LICENSE" (Revision 42) (by Poul-Henning Kamp): - * <joerg@FreeBSD.ORG> wrote this file. As long as you retain this notice you - * can do whatever you want with this stuff. If we meet some day, and you think - * this stuff is worth it, you can buy me a beer in return. Joerg Wunsch - * ---------------------------------------------------------------------------- - * - * $FreeBSD$ - */ - -/* - * Helper functions common to all examples - */ - -#include <stdio.h> -#include <stdint.h> -#include <stdlib.h> - -#include <libusb20.h> -#include <libusb20_desc.h> - -#include "aux.h" - -/* - * Return a textual description for error "r". - */ -const char * -usb_error(enum libusb20_error r) -{ - const char *msg = "UNKNOWN"; - - switch (r) - { - case LIBUSB20_SUCCESS: - msg = "success"; - break; - - case LIBUSB20_ERROR_IO: - msg = "IO error"; - break; - - case LIBUSB20_ERROR_INVALID_PARAM: - msg = "Invalid parameter"; - break; - - case LIBUSB20_ERROR_ACCESS: - msg = "Access denied"; - break; - - case LIBUSB20_ERROR_NO_DEVICE: - msg = "No such device"; - break; - - case LIBUSB20_ERROR_NOT_FOUND: - msg = "Entity not found"; - break; - - case LIBUSB20_ERROR_BUSY: - msg = "Resource busy"; - break; - - case LIBUSB20_ERROR_TIMEOUT: - msg = "Operation timed out"; - break; - - case LIBUSB20_ERROR_OVERFLOW: - msg = "Overflow"; - break; - - case LIBUSB20_ERROR_PIPE: - msg = "Pipe error"; - break; - - case LIBUSB20_ERROR_INTERRUPTED: - msg = "System call interrupted"; - break; - - case LIBUSB20_ERROR_NO_MEM: - msg = "Insufficient memory"; - break; - - case LIBUSB20_ERROR_NOT_SUPPORTED: - msg = "Operation not supported"; - break; - - case LIBUSB20_ERROR_OTHER: - msg = "Other error"; - break; - } - - return msg; -} - -/* - * Print "len" bytes from "buf" in hex, followed by an ASCII - * representation (somewhat resembling the output of hd(1)). - */ -void -print_formatted(uint8_t *buf, uint32_t len) -{ - int i, j; - - for (j = 0; j < len; j += 16) - { - printf("%02x: ", j); - - for (i = 0; i < 16 && i + j < len; i++) - printf("%02x ", buf[i + j]); - printf(" "); - for (i = 0; i < 16 && i + j < len; i++) - { - uint8_t c = buf[i + j]; - if(c >= ' ' && c <= '~') - printf("%c", (char)c); - else - putchar('.'); - } - putchar('\n'); - } -} diff --git a/share/examples/libusb20/bulk.c b/share/examples/libusb20/bulk.c index 7b6b02c005b1..08ba029c0817 100644 --- a/share/examples/libusb20/bulk.c +++ b/share/examples/libusb20/bulk.c @@ -41,7 +41,7 @@ #include <libusb20.h> #include <libusb20_desc.h> -#include "aux.h" +#include "util.h" /* * If you want to see the details of the internal datastructures @@ -74,7 +74,7 @@ doit(struct libusb20_device *dev) */ if ((rv = libusb20_dev_open(dev, 2)) != 0) { - fprintf(stderr, "libusb20_dev_open: %s\n", usb_error(rv)); + fprintf(stderr, "libusb20_dev_open: %s\n", libusb20_strerror(rv)); return; } @@ -84,7 +84,7 @@ doit(struct libusb20_device *dev) */ if ((rv = libusb20_dev_set_config_index(dev, 0)) != 0) { - fprintf(stderr, "libusb20_dev_set_config_index: %s\n", usb_error(rv)); + fprintf(stderr, "libusb20_dev_set_config_index: %s\n", libusb20_strerror(rv)); return; } @@ -97,7 +97,7 @@ doit(struct libusb20_device *dev) if (xfr_in == NULL || xfr_out == NULL) { - fprintf(stderr, "libusb20_tr_get_pointer: %s\n", usb_error(rv)); + fprintf(stderr, "libusb20_tr_get_pointer: %s\n", libusb20_strerror(rv)); return; } @@ -107,12 +107,12 @@ doit(struct libusb20_device *dev) */ if ((rv = libusb20_tr_open(xfr_out, 0, 1, out_ep)) != 0) { - fprintf(stderr, "libusb20_tr_open: %s\n", usb_error(rv)); + fprintf(stderr, "libusb20_tr_open: %s\n", libusb20_strerror(rv)); return; } if ((rv = libusb20_tr_open(xfr_in, 0, 1, in_ep)) != 0) { - fprintf(stderr, "libusb20_tr_open: %s\n", usb_error(rv)); + fprintf(stderr, "libusb20_tr_open: %s\n", libusb20_strerror(rv)); return; } @@ -124,7 +124,7 @@ doit(struct libusb20_device *dev) if ((rv = libusb20_tr_bulk_intr_sync(xfr_out, out_buf, out_len, &rlen, TIMEOUT)) != 0) { - fprintf(stderr, "libusb20_tr_bulk_intr_sync (OUT): %s\n", usb_error(rv)); + fprintf(stderr, "libusb20_tr_bulk_intr_sync (OUT): %s\n", libusb20_strerror(rv)); } printf("sent %d bytes\n", rlen); } @@ -132,7 +132,7 @@ doit(struct libusb20_device *dev) if ((rv = libusb20_tr_bulk_intr_sync(xfr_in, in_buf, BUFLEN, &rlen, TIMEOUT)) != 0) { - fprintf(stderr, "libusb20_tr_bulk_intr_sync: %s\n", usb_error(rv)); + fprintf(stderr, "libusb20_tr_bulk_intr_sync: %s\n", libusb20_strerror(rv)); } printf("received %d bytes\n", rlen); if (rlen > 0) diff --git a/share/examples/libusb20/control.c b/share/examples/libusb20/control.c index 0a9d152068a0..724ef5979ede 100644 --- a/share/examples/libusb20/control.c +++ b/share/examples/libusb20/control.c @@ -11,8 +11,6 @@ /* * Simple demo program to illustrate the handling of FreeBSD's * libusb20. - * - * XXX */ /* @@ -38,12 +36,15 @@ #include <stdlib.h> #include <sysexits.h> #include <unistd.h> +#include <string.h> #include <libusb20.h> #include <libusb20_desc.h> #include <sys/queue.h> +#include "util.h" + /* * If you want to see the details of the internal datastructures * in the debugger, unifdef the following. @@ -86,7 +87,7 @@ doit(struct libusb20_device *dev) */ if ((rv = libusb20_dev_open(dev, 1)) != 0) { - fprintf(stderr, "libusb20_dev_open: %s\n", usb_error(rv)); + fprintf(stderr, "libusb20_dev_open: %s\n", libusb20_strerror(rv)); return; } @@ -96,7 +97,7 @@ doit(struct libusb20_device *dev) */ if ((rv = libusb20_dev_set_config_index(dev, 0)) != 0) { - fprintf(stderr, "libusb20_dev_set_config_index: %s\n", usb_error(rv)); + fprintf(stderr, "libusb20_dev_set_config_index: %s\n", libusb20_strerror(rv)); return; } @@ -126,7 +127,7 @@ doit(struct libusb20_device *dev) 0 /* flags */)) != 0) { fprintf(stderr, - "libusb20_dev_request_sync: %s\n", usb_error(rv)); + "libusb20_dev_request_sync: %s\n", libusb20_strerror(rv)); } printf("sent %d bytes\n", actlen); if ((setup.bmRequestType & 0x80) != 0) @@ -146,7 +147,7 @@ doit(struct libusb20_device *dev) if (xfr_intr == NULL) { - fprintf(stderr, "libusb20_tr_get_pointer: %s\n", usb_error(rv)); + fprintf(stderr, "libusb20_tr_get_pointer: %s\n", libusb20_strerror(rv)); return; } @@ -155,7 +156,7 @@ doit(struct libusb20_device *dev) */ if ((rv = libusb20_tr_open(xfr_intr, 0, 1, intr_ep)) != 0) { - fprintf(stderr, "libusb20_tr_open: %s\n", usb_error(rv)); + fprintf(stderr, "libusb20_tr_open: %s\n", libusb20_strerror(rv)); return; } @@ -165,7 +166,7 @@ doit(struct libusb20_device *dev) if ((rv = libusb20_tr_bulk_intr_sync(xfr_intr, in_buf, BUFLEN, &rlen, TIMEOUT)) != 0) { - fprintf(stderr, "libusb20_tr_bulk_intr_sync: %s\n", usb_error(rv)); + fprintf(stderr, "libusb20_tr_bulk_intr_sync: %s\n", libusb20_strerror(rv)); } printf("received %d bytes\n", rlen); if (rlen > 0) diff --git a/share/examples/libusb20/util.c b/share/examples/libusb20/util.c new file mode 100644 index 000000000000..4a24ee0cf8c9 --- /dev/null +++ b/share/examples/libusb20/util.c @@ -0,0 +1,50 @@ +/* ---------------------------------------------------------------------------- + * "THE BEER-WARE LICENSE" (Revision 42) (by Poul-Henning Kamp): + * <joerg@FreeBSD.ORG> wrote this file. As long as you retain this notice you + * can do whatever you want with this stuff. If we meet some day, and you think + * this stuff is worth it, you can buy me a beer in return. Joerg Wunsch + * ---------------------------------------------------------------------------- + * + * $FreeBSD$ + */ + +/* + * Helper functions common to all examples + */ + +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> + +#include <libusb20.h> +#include <libusb20_desc.h> + +#include "util.h" + +/* + * Print "len" bytes from "buf" in hex, followed by an ASCII + * representation (somewhat resembling the output of hd(1)). + */ +void +print_formatted(uint8_t *buf, uint32_t len) +{ + int i, j; + + for (j = 0; j < len; j += 16) + { + printf("%02x: ", j); + + for (i = 0; i < 16 && i + j < len; i++) + printf("%02x ", buf[i + j]); + printf(" "); + for (i = 0; i < 16 && i + j < len; i++) + { + uint8_t c = buf[i + j]; + if(c >= ' ' && c <= '~') + printf("%c", (char)c); + else + putchar('.'); + } + putchar('\n'); + } +} diff --git a/share/examples/libusb20/aux.h b/share/examples/libusb20/util.h index d43ea4e571fb..5fd2a6e09c2d 100644 --- a/share/examples/libusb20/aux.h +++ b/share/examples/libusb20/util.h @@ -11,5 +11,4 @@ #include <stdint.h> #include <libusb20.h> -const char *usb_error(enum libusb20_error r); void print_formatted(uint8_t *buf, uint32_t len); |