svn commit: r215982 - stable/8/lib/libusb
Andrew Thompson
thompsa at FreeBSD.org
Sun Nov 28 07:16:53 UTC 2010
Author: thompsa
Date: Sun Nov 28 07:16:53 2010
New Revision: 215982
URL: http://svn.freebsd.org/changeset/base/215982
Log:
MFC r213848
- Add a new API function to check the connected
status of the USB handle in the LibUSB v1.0 and
LibUSB v0.1 interfaces.
Modified:
stable/8/lib/libusb/libusb.3
stable/8/lib/libusb/libusb.h
stable/8/lib/libusb/libusb10.c
stable/8/lib/libusb/libusb20_compat01.c
stable/8/lib/libusb/usb.h (contents, props changed)
Directory Properties:
stable/8/lib/libusb/ (props changed)
Modified: stable/8/lib/libusb/libusb.3
==============================================================================
--- stable/8/lib/libusb/libusb.3 Sun Nov 28 07:04:28 2010 (r215981)
+++ stable/8/lib/libusb/libusb.3 Sun Nov 28 07:16:53 2010 (r215982)
@@ -240,6 +240,14 @@ been disconnected and a LIBUSB_ERROR cod
.Pp
.
.Ft int
+.Fn libusb_check_connected "libusb_device_handle *devh"
+Test if USB device is still connected. Returns 0 on success,
+LIBUSB_ERROR_NO_DEVICE if has been disconnected and a LIBUSB_ERROR
+code on failure.
+.
+.Pp
+.
+.Ft int
.Fn libusb_kernel_driver_active "libusb_device_handle *devh" "int interface"
Determine if a driver is active on a interface. Returns 0 if no kernel driver
is active, returns 1 if a kernel driver is active, returns LIBUSB_ERROR_NO_DEVICE
@@ -522,6 +530,7 @@ The library is also compliant with LibUS
.Fn usb_find_devices
.Fn usb_device
.Fn usb_get_busses
+.Fn usb_check_connected
.
.Sh SEE ALSO
.Xr libusb20 3 ,
Modified: stable/8/lib/libusb/libusb.h
==============================================================================
--- stable/8/lib/libusb/libusb.h Sun Nov 28 07:04:28 2010 (r215981)
+++ stable/8/lib/libusb/libusb.h Sun Nov 28 07:16:53 2010 (r215982)
@@ -317,6 +317,7 @@ int libusb_set_configuration(libusb_devi
int libusb_claim_interface(libusb_device_handle * devh, int interface_number);
int libusb_release_interface(libusb_device_handle * devh, int interface_number);
int libusb_reset_device(libusb_device_handle * devh);
+int libusb_check_connected(libusb_device_handle * devh);
int libusb_kernel_driver_active(libusb_device_handle * devh, int interface);
int libusb_get_driver_np(libusb_device_handle * devh, int interface, char *name, int namelen);
int libusb_get_driver(libusb_device_handle * devh, int interface, char *name, int namelen);
Modified: stable/8/lib/libusb/libusb10.c
==============================================================================
--- stable/8/lib/libusb/libusb10.c Sun Nov 28 07:04:28 2010 (r215981)
+++ stable/8/lib/libusb/libusb10.c Sun Nov 28 07:16:53 2010 (r215982)
@@ -678,6 +678,21 @@ libusb_reset_device(struct libusb20_devi
}
int
+libusb_check_connected(struct libusb20_device *pdev)
+{
+ libusb_device *dev;
+ int err;
+
+ dev = libusb_get_device(pdev);
+ if (dev == NULL)
+ return (LIBUSB_ERROR_INVALID_PARAM);
+
+ err = libusb20_dev_check_connected(pdev);
+
+ return (err ? LIBUSB_ERROR_NO_DEVICE : 0);
+}
+
+int
libusb_kernel_driver_active(struct libusb20_device *pdev, int interface)
{
if (pdev == NULL)
Modified: stable/8/lib/libusb/libusb20_compat01.c
==============================================================================
--- stable/8/lib/libusb/libusb20_compat01.c Sun Nov 28 07:04:28 2010 (r215981)
+++ stable/8/lib/libusb/libusb20_compat01.c Sun Nov 28 07:16:53 2010 (r215982)
@@ -795,6 +795,19 @@ usb_reset(usb_dev_handle * dev)
return (usb_close(dev));
}
+int
+usb_check_connected(usb_dev_handle * dev)
+{
+ int err;
+
+ err = libusb20_dev_check_connected((void *)dev);
+
+ if (err)
+ return (-1);
+
+ return (0);
+}
+
const char *
usb_strerror(void)
{
Modified: stable/8/lib/libusb/usb.h
==============================================================================
--- stable/8/lib/libusb/usb.h Sun Nov 28 07:04:28 2010 (r215981)
+++ stable/8/lib/libusb/usb.h Sun Nov 28 07:16:53 2010 (r215982)
@@ -291,6 +291,7 @@ int usb_set_altinterface(usb_dev_handle
int usb_resetep(usb_dev_handle * dev, unsigned int ep);
int usb_clear_halt(usb_dev_handle * dev, unsigned int ep);
int usb_reset(usb_dev_handle * dev);
+int usb_check_connected(usb_dev_handle * dev);
const char *usb_strerror(void);
void usb_init(void);
void usb_set_debug(int level);
More information about the svn-src-stable
mailing list