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
15char usb_error_str[1024] = "";
16int usb_error_errno = 0;
17usb_error_type_t usb_error_type = USB_ERROR_TYPE_NONE;
18
19char *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