summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoremaste <emaste@FreeBSD.org>2013-05-08 00:55:29 +0000
committeremaste <emaste@FreeBSD.org>2013-05-08 00:55:29 +0000
commit550d992a33e406c6955427d4f169a05822ee6f50 (patch)
treed9bdf3c8a5ecb27056dd085ff2a191045ab82020
parent90de8690e43221caaa3c2571fb8b77560c306dfe (diff)
downloadFreeBSD-src-550d992a33e406c6955427d4f169a05822ee6f50.zip
FreeBSD-src-550d992a33e406c6955427d4f169a05822ee6f50.tar.gz
Add libusb_get_port_path wrapper
This follows the libusbx API reference at http://libusbx.sourceforge.net/api-1.0/group__dev.html Reviewed by: hselasky@
-rw-r--r--lib/libusb/libusb.311
-rw-r--r--lib/libusb/libusb.h1
-rw-r--r--lib/libusb/libusb10.c7
3 files changed, 18 insertions, 1 deletions
diff --git a/lib/libusb/libusb.3 b/lib/libusb/libusb.3
index ffc761b..28dff94 100644
--- a/lib/libusb/libusb.3
+++ b/lib/libusb/libusb.3
@@ -26,7 +26,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd May 7, 2012
+.Dd May 7, 2013
.Dt LIBUSB 3
.Os
.Sh NAME
@@ -102,6 +102,15 @@ counter decremented once.
Returns the number of the bus contained by the device
.Fa dev .
.Pp
+.Ft int
+.Fn libusb_get_port_path "libusb_context *ctx" "libusb_device *dev" "uint8_t *buf" "uint8_t bufsize"
+Stores, in the buffer
+.Fa buf
+of size
+.Fa bufsize ,
+the list of all port numbers from root for the device
+.Fa dev .
+.Pp
.Ft uint8_t
.Fn libusb_get_device_address "libusb_device *dev"
Returns the device_address contained by the device
diff --git a/lib/libusb/libusb.h b/lib/libusb/libusb.h
index 52ad914..220a8da 100644
--- a/lib/libusb/libusb.h
+++ b/lib/libusb/libusb.h
@@ -369,6 +369,7 @@ void libusb_exit(struct libusb_context *ctx);
ssize_t libusb_get_device_list(libusb_context * ctx, libusb_device *** list);
void libusb_free_device_list(libusb_device ** list, int unref_devices);
uint8_t libusb_get_bus_number(libusb_device * dev);
+int libusb_get_port_path(libusb_context *ctx, libusb_device *dev, uint8_t *buf, uint8_t bufsize);
uint8_t libusb_get_device_address(libusb_device * dev);
enum libusb_speed libusb_get_device_speed(libusb_device * dev);
int libusb_clear_halt(libusb_device_handle *devh, uint8_t endpoint);
diff --git a/lib/libusb/libusb10.c b/lib/libusb/libusb10.c
index 0212296..802bc8a 100644
--- a/lib/libusb/libusb10.c
+++ b/lib/libusb/libusb10.c
@@ -290,6 +290,13 @@ libusb_get_bus_number(libusb_device *dev)
return (libusb20_dev_get_bus_number(dev->os_priv));
}
+int
+libusb_get_port_path(libusb_context *ctx, libusb_device *dev, uint8_t *buf,
+ uint8_t bufsize)
+{
+ return (libusb20_dev_get_port_path(dev->os_priv, buf, bufsize));
+}
+
uint8_t
libusb_get_device_address(libusb_device *dev)
{
OpenPOWER on IntegriCloud