From ea97ac427eb9ff7ec48baf3a5ab7cc293fc34b70 Mon Sep 17 00:00:00 2001 From: pancake Date: Tue, 12 Jun 2007 15:29:07 +0200 Subject: * Initial import of the libusb source tree into the flasher - optional, but useful for embedding - avoids gnu autosux problems --- libusb/error.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 libusb/error.h (limited to 'libusb/error.h') diff --git a/libusb/error.h b/libusb/error.h new file mode 100644 index 0000000..173e6fd --- /dev/null +++ b/libusb/error.h @@ -0,0 +1,31 @@ +#ifndef _ERROR_H_ +#define _ERROR_H_ + +typedef enum { + USB_ERROR_TYPE_NONE = 0, + USB_ERROR_TYPE_STRING, + USB_ERROR_TYPE_ERRNO, +} usb_error_type_t; + +extern char usb_error_str[1024]; +extern int usb_error_errno; +extern usb_error_type_t usb_error_type; + +#define USB_ERROR(x) \ + do { \ + usb_error_type = USB_ERROR_TYPE_ERRNO; \ + usb_error_errno = x; \ + return x; \ + } while (0) + +#define USB_ERROR_STR(x, format, args...) \ + do { \ + usb_error_type = USB_ERROR_TYPE_STRING; \ + snprintf(usb_error_str, sizeof(usb_error_str) - 1, format, ## args); \ + if (usb_debug >= 2) \ + fprintf(stderr, "USB error: %s\n", usb_error_str); \ + return x; \ + } while (0) + +#endif /* _ERROR_H_ */ + -- cgit v1.2.3