Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F110000915
D25194.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
D25194.diff
View Options
Index: head/lib/libusb/Makefile
===================================================================
--- head/lib/libusb/Makefile
+++ head/lib/libusb/Makefile
@@ -68,6 +68,7 @@
MLINKS += libusb.3 libusb_get_version.3
MLINKS += libusb.3 libusb_init.3
MLINKS += libusb.3 libusb_exit.3
+MLINKS += libusb.3 libusb_has_capability.3
MLINKS += libusb.3 libusb_strerror.3
MLINKS += libusb.3 libusb_error_name.3
MLINKS += libusb.3 libusb_set_debug.3
Index: head/lib/libusb/libusb.h
===================================================================
--- head/lib/libusb/libusb.h
+++ head/lib/libusb/libusb.h
@@ -54,6 +54,7 @@
LIBUSB_CLASS_AUDIO = 1,
LIBUSB_CLASS_COMM = 2,
LIBUSB_CLASS_HID = 3,
+ LIBUSB_CLASS_PHYSICAL = 5,
LIBUSB_CLASS_PTP = 6,
LIBUSB_CLASS_IMAGE = 6,
LIBUSB_CLASS_PRINTER = 7,
@@ -178,6 +179,21 @@
LIBUSB_BT_CONTAINER_ID = 4,
};
+enum libusb_capability {
+ /* libusb supports libusb_has_capability(). */
+ LIBUSB_CAP_HAS_CAPABILITY = 0,
+ /* Hotplug support is available. */
+ LIBUSB_CAP_HAS_HOTPLUG,
+ /* Can access HID devices without requiring user intervention. */
+ LIBUSB_CAP_HAS_HID_ACCESS,
+
+ /*
+ * Supports detaching of the default USB driver with
+ * libusb_detach_kernel_driver().
+ */
+ LIBUSB_CAP_SUPPORTS_DETACH_KERNEL_DRIVER,
+};
+
enum libusb_error {
LIBUSB_SUCCESS = 0,
LIBUSB_ERROR_IO = -1,
@@ -450,6 +466,7 @@
const char *libusb_error_name(int code);
int libusb_init(libusb_context ** context);
void libusb_exit(struct libusb_context *ctx);
+int libusb_has_capability(uint32_t capability);
/* Device handling and enumeration */
Index: head/lib/libusb/libusb.3
===================================================================
--- head/lib/libusb/libusb.3
+++ head/lib/libusb/libusb.3
@@ -26,7 +26,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd October 11, 2018
+.Dd June 9, 2020
.Dt LIBUSB 3
.Os
.Sh NAME
@@ -60,6 +60,33 @@
Deinitialise libusb.
Must be called at the end of the application.
Other libusb routines may not be called after this function.
+.Pp
+.Ft int
+.Fn libusb_has_capability "uint32_t capability"
+This function checks the runtime capabilities of
+.Nm .
+This function will return non-zero if the given
+.Fa capability
+is supported, 0 if it is not supported.
+The valid values for
+.Fa capability
+are:
+.Bl -tag -width LIBUSB_CAP -offset indent
+.It Va LIBUSB_CAP_HAS_CAPABILITY
+.Nm
+supports
+.Fn libusb_has_capability .
+.It Va LIBUSB_CAP_HAS_HOTPLUG
+.Nm
+supports hotplug notifications.
+.It Va LIBUSB_CAP_HAS_HID_ACCESS
+.Nm
+can access HID devices without requiring user intervention.
+.It Va LIBUSB_CAP_SUPPORTS_DETACH_KERNEL_DRIVER
+.Nm
+supports detaching of the default USB driver with
+.Fn libusb_detach_kernel_driver .
+.El
.Pp
.Ft const char *
.Fn libusb_strerror "int code"
Index: head/lib/libusb/libusb10.c
===================================================================
--- head/lib/libusb/libusb10.c
+++ head/lib/libusb/libusb10.c
@@ -1716,3 +1716,18 @@
return ("LIBUSB_ERROR_UNKNOWN");
}
}
+
+int
+libusb_has_capability(uint32_t capability)
+{
+
+ switch (capability) {
+ case LIBUSB_CAP_HAS_CAPABILITY:
+ case LIBUSB_CAP_HAS_HOTPLUG:
+ case LIBUSB_CAP_HAS_HID_ACCESS:
+ case LIBUSB_CAP_SUPPORTS_DETACH_KERNEL_DRIVER:
+ return (1);
+ default:
+ return (0);
+ }
+}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Feb 13, 7:27 AM (21 h, 43 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16624608
Default Alt Text
D25194.diff (3 KB)
Attached To
Mode
D25194: libusb: improve compatibility
Attached
Detach File
Event Timeline
Log In to Comment