1 /*
2  * USB Error messages
3  *
4  * Copyright (c) 2000-2001 Johannes Erdfelt <johannes@erdfelt.com>
5  *
6  * This library is covered by the LGPL, read LICENSE for details.
7  */
8 
9 #include <errno.h>
10 #include <string.h>
11 
12 #include "usb.h"
13 #include "error.h"
14 
15 char usb_error_str[1024] = "";
16 int usb_error_errno = 0;
17 usb_error_type_t usb_error_type = USB_ERROR_TYPE_NONE;
18 
usb_strerror(void)19 char *usb_strerror(void)
20 {
21   switch (usb_error_type) {
22   case USB_ERROR_TYPE_NONE:
23     return "No error";
24   case USB_ERROR_TYPE_STRING:
25     return usb_error_str;
26   case USB_ERROR_TYPE_ERRNO:
27     if (usb_error_errno > -USB_ERROR_BEGIN)
28       return strerror(usb_error_errno);
29     else
30       /* Any error we don't know falls under here */
31       return "Unknown error";
32   }
33 
34   return "Unknown error";
35 }
36 
37