Implement missing USB debug information functions.
Approved by: re (kib) MFC after: 1 week
This commit is contained in:
parent
c49e3f837c
commit
c61f25617c
@ -40,6 +40,7 @@ CFLAGS+= -DCOMPAT_32BIT
|
||||
MLINKS += libusb.3 libusb_init.3
|
||||
MLINKS += libusb.3 libusb_exit.3
|
||||
MLINKS += libusb.3 libusb_strerror.3
|
||||
MLINKS += libusb.3 libusb_error_name.3
|
||||
MLINKS += libusb.3 libusb_set_debug.3
|
||||
MLINKS += libusb.3 libusb_get_device_list.3
|
||||
MLINKS += libusb.3 libusb_free_device_list.3
|
||||
@ -210,3 +211,5 @@ MLINKS += libusb20.3 libusb20_me_get_2.3
|
||||
MLINKS += libusb20.3 libusb20_me_encode.3
|
||||
MLINKS += libusb20.3 libusb20_me_decode.3
|
||||
MLINKS += libusb20.3 libusb20_desc_foreach.3
|
||||
MLINKS += libusb20.3 libusb20_strerror.3
|
||||
MLINKS += libusb20.3 libusb20_error_name.3
|
||||
|
@ -63,6 +63,14 @@ Other libusb routines may not be called after this function.
|
||||
Get the ASCII representation of the error given by the
|
||||
.Fa code
|
||||
argument.
|
||||
This function does not return NULL.
|
||||
.Pp
|
||||
.Ft const char *
|
||||
.Fn libusb_error_name "int code"
|
||||
Get the ASCII representation of the error enum given by the
|
||||
.Fa code
|
||||
argument.
|
||||
This function does not return NULL.
|
||||
.Pp
|
||||
.Ft void
|
||||
.Fn libusb_set_debug "libusb_context *ctx" "int level"
|
||||
@ -502,7 +510,8 @@ The library is also compliant with LibUSB version 0.1.12.
|
||||
.Sh SEE ALSO
|
||||
.Xr libusb20 3 ,
|
||||
.Xr usb 4 ,
|
||||
.Xr usbconfig 8
|
||||
.Xr usbconfig 8 ,
|
||||
.Xr usbdump 8
|
||||
.Pp
|
||||
.Pa http://libusb.sourceforge.net/
|
||||
.Sh HISTORY
|
||||
|
@ -303,6 +303,7 @@ typedef struct libusb_transfer {
|
||||
|
||||
void libusb_set_debug(libusb_context * ctx, int level);
|
||||
const char *libusb_strerror(int code);
|
||||
const char *libusb_error_name(int code);
|
||||
int libusb_init(libusb_context ** context);
|
||||
void libusb_exit(struct libusb_context *ctx);
|
||||
|
||||
|
@ -1449,6 +1449,73 @@ libusb_le16_to_cpu(uint16_t x)
|
||||
const char *
|
||||
libusb_strerror(int code)
|
||||
{
|
||||
/* TODO */
|
||||
return ("Unknown error");
|
||||
switch (code) {
|
||||
case LIBUSB_SUCCESS:
|
||||
return ("Success");
|
||||
case LIBUSB_ERROR_IO:
|
||||
return ("I/O error");
|
||||
case LIBUSB_ERROR_INVALID_PARAM:
|
||||
return ("Invalid parameter");
|
||||
case LIBUSB_ERROR_ACCESS:
|
||||
return ("Permissions error");
|
||||
case LIBUSB_ERROR_NO_DEVICE:
|
||||
return ("No device");
|
||||
case LIBUSB_ERROR_NOT_FOUND:
|
||||
return ("Not found");
|
||||
case LIBUSB_ERROR_BUSY:
|
||||
return ("Device busy");
|
||||
case LIBUSB_ERROR_TIMEOUT:
|
||||
return ("Timeout");
|
||||
case LIBUSB_ERROR_OVERFLOW:
|
||||
return ("Overflow");
|
||||
case LIBUSB_ERROR_PIPE:
|
||||
return ("Pipe error");
|
||||
case LIBUSB_ERROR_INTERRUPTED:
|
||||
return ("Interrupted");
|
||||
case LIBUSB_ERROR_NO_MEM:
|
||||
return ("Out of memory");
|
||||
case LIBUSB_ERROR_NOT_SUPPORTED:
|
||||
return ("Not supported");
|
||||
case LIBUSB_ERROR_OTHER:
|
||||
return ("Other error");
|
||||
default:
|
||||
return ("Unknown error");
|
||||
}
|
||||
}
|
||||
|
||||
const char *
|
||||
libusb_error_name(int code)
|
||||
{
|
||||
switch (code) {
|
||||
case LIBUSB_SUCCESS:
|
||||
return ("LIBUSB_SUCCESS");
|
||||
case LIBUSB_ERROR_IO:
|
||||
return ("LIBUSB_ERROR_IO");
|
||||
case LIBUSB_ERROR_INVALID_PARAM:
|
||||
return ("LIBUSB_ERROR_INVALID_PARAM");
|
||||
case LIBUSB_ERROR_ACCESS:
|
||||
return ("LIBUSB_ERROR_ACCESS");
|
||||
case LIBUSB_ERROR_NO_DEVICE:
|
||||
return ("LIBUSB_ERROR_NO_DEVICE");
|
||||
case LIBUSB_ERROR_NOT_FOUND:
|
||||
return ("LIBUSB_ERROR_NOT_FOUND");
|
||||
case LIBUSB_ERROR_BUSY:
|
||||
return ("LIBUSB_ERROR_BUSY");
|
||||
case LIBUSB_ERROR_TIMEOUT:
|
||||
return ("LIBUSB_ERROR_TIMEOUT");
|
||||
case LIBUSB_ERROR_OVERFLOW:
|
||||
return ("LIBUSB_ERROR_OVERFLOW");
|
||||
case LIBUSB_ERROR_PIPE:
|
||||
return ("LIBUSB_ERROR_PIPE");
|
||||
case LIBUSB_ERROR_INTERRUPTED:
|
||||
return ("LIBUSB_ERROR_INTERRUPTED");
|
||||
case LIBUSB_ERROR_NO_MEM:
|
||||
return ("LIBUSB_ERROR_NO_MEM");
|
||||
case LIBUSB_ERROR_NOT_SUPPORTED:
|
||||
return ("LIBUSB_ERROR_NOT_SUPPORTED");
|
||||
case LIBUSB_ERROR_OTHER:
|
||||
return ("LIBUSB_ERROR_OTHER");
|
||||
default:
|
||||
return ("LIBUSB_ERROR_UNKNOWN");
|
||||
}
|
||||
}
|
||||
|
@ -212,6 +212,10 @@ USB access library (libusb -lusb)
|
||||
.Fn libusb20_me_decode "const void *pdata" "uint16_t len" "void *pdecoded"
|
||||
.Ft "const uint8_t *"
|
||||
.Fn libusb20_desc_foreach "const struct libusb20_me_struct *me" "const uint8_t *pdesc"
|
||||
.Ft "const char *"
|
||||
.Fn libusb20_strerror "int code"
|
||||
.Ft "const char *"
|
||||
.Fn libusb20_error_name "int code"
|
||||
.
|
||||
.
|
||||
.Sh DESCRIPTION
|
||||
@ -996,6 +1000,22 @@ The total decoded length is returned.
|
||||
The buffer pointer cannot be NULL.
|
||||
.
|
||||
.
|
||||
.Sh USB DEBUGGING
|
||||
.Pp
|
||||
.Ft const char *
|
||||
.Fn libusb20_strerror "int code"
|
||||
Get the ASCII representation of the error given by the
|
||||
.Fa code
|
||||
argument.
|
||||
This function does not return NULL.
|
||||
.Pp
|
||||
.Ft const char *
|
||||
.Fn libusb20_error_name "int code"
|
||||
Get the ASCII representation of the error enum given by the
|
||||
.Fa code
|
||||
argument.
|
||||
This function does not return NULL.
|
||||
.
|
||||
.Sh FILES
|
||||
.
|
||||
.
|
||||
@ -1003,7 +1023,8 @@ The buffer pointer cannot be NULL.
|
||||
.Sh SEE ALSO
|
||||
.Xr usb 4 ,
|
||||
.Xr libusb 3 ,
|
||||
.Xr usbconfig 8
|
||||
.Xr usbconfig 8 ,
|
||||
.Xr usbdump 8
|
||||
.
|
||||
.
|
||||
.Sh HISTORY
|
||||
|
@ -1244,3 +1244,77 @@ libusb20_be_dequeue_device(struct libusb20_backend *pbe,
|
||||
{
|
||||
TAILQ_REMOVE(&(pbe->usb_devs), pdev, dev_entry);
|
||||
}
|
||||
|
||||
const char *
|
||||
libusb20_strerror(int code)
|
||||
{
|
||||
switch (code) {
|
||||
case LIBUSB20_SUCCESS:
|
||||
return ("Success");
|
||||
case LIBUSB20_ERROR_IO:
|
||||
return ("I/O error");
|
||||
case LIBUSB20_ERROR_INVALID_PARAM:
|
||||
return ("Invalid parameter");
|
||||
case LIBUSB20_ERROR_ACCESS:
|
||||
return ("Permissions error");
|
||||
case LIBUSB20_ERROR_NO_DEVICE:
|
||||
return ("No device");
|
||||
case LIBUSB20_ERROR_NOT_FOUND:
|
||||
return ("Not found");
|
||||
case LIBUSB20_ERROR_BUSY:
|
||||
return ("Device busy");
|
||||
case LIBUSB20_ERROR_TIMEOUT:
|
||||
return ("Timeout");
|
||||
case LIBUSB20_ERROR_OVERFLOW:
|
||||
return ("Overflow");
|
||||
case LIBUSB20_ERROR_PIPE:
|
||||
return ("Pipe error");
|
||||
case LIBUSB20_ERROR_INTERRUPTED:
|
||||
return ("Interrupted");
|
||||
case LIBUSB20_ERROR_NO_MEM:
|
||||
return ("Out of memory");
|
||||
case LIBUSB20_ERROR_NOT_SUPPORTED:
|
||||
return ("Not supported");
|
||||
case LIBUSB20_ERROR_OTHER:
|
||||
return ("Other error");
|
||||
default:
|
||||
return ("Unknown error");
|
||||
}
|
||||
}
|
||||
|
||||
const char *
|
||||
libusb20_error_name(int code)
|
||||
{
|
||||
switch (code) {
|
||||
case LIBUSB20_SUCCESS:
|
||||
return ("LIBUSB20_SUCCESS");
|
||||
case LIBUSB20_ERROR_IO:
|
||||
return ("LIBUSB20_ERROR_IO");
|
||||
case LIBUSB20_ERROR_INVALID_PARAM:
|
||||
return ("LIBUSB20_ERROR_INVALID_PARAM");
|
||||
case LIBUSB20_ERROR_ACCESS:
|
||||
return ("LIBUSB20_ERROR_ACCESS");
|
||||
case LIBUSB20_ERROR_NO_DEVICE:
|
||||
return ("LIBUSB20_ERROR_NO_DEVICE");
|
||||
case LIBUSB20_ERROR_NOT_FOUND:
|
||||
return ("LIBUSB20_ERROR_NOT_FOUND");
|
||||
case LIBUSB20_ERROR_BUSY:
|
||||
return ("LIBUSB20_ERROR_BUSY");
|
||||
case LIBUSB20_ERROR_TIMEOUT:
|
||||
return ("LIBUSB20_ERROR_TIMEOUT");
|
||||
case LIBUSB20_ERROR_OVERFLOW:
|
||||
return ("LIBUSB20_ERROR_OVERFLOW");
|
||||
case LIBUSB20_ERROR_PIPE:
|
||||
return ("LIBUSB20_ERROR_PIPE");
|
||||
case LIBUSB20_ERROR_INTERRUPTED:
|
||||
return ("LIBUSB20_ERROR_INTERRUPTED");
|
||||
case LIBUSB20_ERROR_NO_MEM:
|
||||
return ("LIBUSB20_ERROR_NO_MEM");
|
||||
case LIBUSB20_ERROR_NOT_SUPPORTED:
|
||||
return ("LIBUSB20_ERROR_NOT_SUPPORTED");
|
||||
case LIBUSB20_ERROR_OTHER:
|
||||
return ("LIBUSB20_ERROR_OTHER");
|
||||
default:
|
||||
return ("LIBUSB20_ERROR_UNKNOWN");
|
||||
}
|
||||
}
|
||||
|
@ -293,6 +293,11 @@ void libusb20_be_dequeue_device(struct libusb20_backend *pbe, struct libusb20_de
|
||||
void libusb20_be_enqueue_device(struct libusb20_backend *pbe, struct libusb20_device *pdev);
|
||||
void libusb20_be_free(struct libusb20_backend *pbe);
|
||||
|
||||
/* USB debugging */
|
||||
|
||||
const char *libusb20_strerror(int);
|
||||
const char *libusb20_error_name(int);
|
||||
|
||||
#if 0
|
||||
{ /* style */
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user