diff options
author | hselasky <hselasky@FreeBSD.org> | 2016-06-16 12:14:19 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2016-06-16 12:14:19 +0000 |
commit | 29ad2f5a15ec7df0d3a3038844ee9409fd56b0e5 (patch) | |
tree | f93ae8103d06f681cc27a461182b1ff75bf32084 /lib/libusb | |
parent | d0d7e727496e6a6d4706547ce822aefe41834242 (diff) | |
download | FreeBSD-src-29ad2f5a15ec7df0d3a3038844ee9409fd56b0e5.zip FreeBSD-src-29ad2f5a15ec7df0d3a3038844ee9409fd56b0e5.tar.gz |
Add support for libusb_get_port_number() to the LibUSB v1.0 API.
Approved by: re (kostikbel)
Requested by: swills
MFC after: 1 week
Diffstat (limited to 'lib/libusb')
-rw-r--r-- | lib/libusb/libusb.3 | 8 | ||||
-rw-r--r-- | lib/libusb/libusb.h | 1 | ||||
-rw-r--r-- | lib/libusb/libusb10.c | 8 |
3 files changed, 16 insertions, 1 deletions
diff --git a/lib/libusb/libusb.3 b/lib/libusb/libusb.3 index 03113c0..c91c61d 100644 --- a/lib/libusb/libusb.3 +++ b/lib/libusb/libusb.3 @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 16, 2016 +.Dd June 17, 2016 .Dt LIBUSB 3 .Os .Sh NAME @@ -106,6 +106,12 @@ counter decremented once. Returns the number of the bus contained by the device .Fa dev . .Pp +.Ft uint8_t +.Fn libusb_get_port_number "libusb_device *dev" +Returns the port number which the device given by +.Fa dev +is attached to. +.Pp .Ft int .Fn libusb_get_port_numbers "libusb_device *dev" "uint8_t *buf" "uint8_t bufsize" Stores, in the buffer diff --git a/lib/libusb/libusb.h b/lib/libusb/libusb.h index 4a72499..c3d69f5 100644 --- a/lib/libusb/libusb.h +++ b/lib/libusb/libusb.h @@ -406,6 +406,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); +uint8_t libusb_get_port_number(libusb_device * dev); int libusb_get_port_numbers(libusb_device *dev, uint8_t *buf, uint8_t bufsize); 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); diff --git a/lib/libusb/libusb10.c b/lib/libusb/libusb10.c index 20376f9..1f64252 100644 --- a/lib/libusb/libusb10.c +++ b/lib/libusb/libusb10.c @@ -308,6 +308,14 @@ libusb_get_bus_number(libusb_device *dev) return (libusb20_dev_get_bus_number(dev->os_priv)); } +uint8_t +libusb_get_port_number(libusb_device *dev) +{ + if (dev == NULL) + return (0); /* should not happen */ + return (libusb20_dev_get_parent_port(dev->os_priv)); +} + int libusb_get_port_numbers(libusb_device *dev, uint8_t *buf, uint8_t bufsize) { |