History log of /freebsd-current/lib/libusb/libusb.h
Revision Date Author Comments
# 2a3a8eb9 12-Jan-2024 Ting-Hsuan Huang <felixhuang07@gmail.com>

libusb(3): Fix link in comment

Event: Advanced UNIX Programming Course (Fall’23) at NTHU.
Pull Request: https://github.com/freebsd/freebsd-src/pull/1042


# 2a63c3be 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line .c comment pattern

Remove /^/[*/]\s*\$FreeBSD\$.*\n/


# 4d846d26 10-May-2023 Warner Losh <imp@FreeBSD.org>

spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.

Discussed with: pfg
MFC After: 3 days
Sponsored by: Netflix


# 4c6bcffd 26-Jan-2023 Hans Petter Selasky <hselasky@FreeBSD.org>

libusb(3): Implement libusb_init_context() and the needed structures and definitions.

Differential Revision: https://reviews.freebsd.org/D38212
MFC after: 1 week
Sponsored by: NVIDIA Networking


# aa87aa52 02-Oct-2022 Hans Petter Selasky <hselasky@FreeBSD.org>

libusb(3): Implement libusb_interrupt_event_handler() by exposing existing function.

MFC after: 1 week
Sponsored by: NVIDIA Networking


# 04391da3 09-Jun-2020 Kyle Evans <kevans@FreeBSD.org>

libusb: improve compatibility

Specifically, add LIBUSB_CLASS_PHYSICAL and the libusb_has_capability API.
Descriptions and functionality for these derived from the
documentation at [0]. The current set of capabilities are all supported by
libusb.

These were detected as missing after updating net/freerdp to 2.1.1, which
attempted to use both.

[0] http://libusb.sourceforge.net/api-1.0/group__libusb__misc.html

Reviewed by: hselasky
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D25194


# 5e53a4f9 25-Nov-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

lib: further adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 2-Clause license, however the tool I
was using mis-identified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.


# f75f5a35 09-Aug-2017 Kyle Evans <kevans@FreeBSD.org>

libusb(3): Expose device caps as libusb_bos_descriptor::dev_capability

Some libusb consumers in Linux-land (in this case, libusb4java) expect a
dev_capability member that they can use to enumerate the device
capabilities.

No particular layout is expected of this, just that it can be traversed
using the bLength member until bNumDeviceCapabilities are read and that the
consumer may then use one of the libusb_get_*_descriptor methods to extract
specific (usb 2.0 vs. ss) capability information.

In collaboration with: hselasky
Reviewed by: hselasky
Approved by: emaste (mentor)
Differential Revision: https://reviews.freebsd.org/D11494


# 56c926d0 24-Jun-2016 Hans Petter Selasky <hselasky@FreeBSD.org>

Resolve issue with libusb C++ header file inclusion.

Approved by: re (marius)
PR: 210509
MFC after: 1 week


# a0c93fa3 23-Jun-2016 Hans Petter Selasky <hselasky@FreeBSD.org>

Add support for USB streams to the LibUSB v1.0 API and update the
libusb(3) manual page.

Approved by: re (gjb)
Requested by: swills
MFC after: 1 week


# 7bdc064b 22-Jun-2016 Hans Petter Selasky <hselasky@FreeBSD.org>

Implement libusb_hotplug_register_callback() and
libusb_hotplug_deregister_callback() for the LibUSB v1.0 API and
update the libusb(3) manual page.

Approved by: re (kib)
Requested by: swills
MFC after: 1 week


# 37d0636a 16-Jun-2016 Hans Petter Selasky <hselasky@FreeBSD.org>

Add multiple missing descriptor parsing functions to the LibUSB v1.0 API.

Approved by: re (kib)
Requested by: swills
MFC after: 1 week


# 5b40d960 16-Jun-2016 Hans Petter Selasky <hselasky@FreeBSD.org>

Add support for libusb_set_auto_detach_kernel_driver() to the LibUSB v1.0 API.

Approved by: re (kostikbel)
Requested by: swills
MFC after: 1 week


# 0f2c7066 15-Jun-2016 Hans Petter Selasky <hselasky@FreeBSD.org>

Add support for libusb_get_port_number() to the LibUSB v1.0 API.

Approved by: re (kostikbel)
Requested by: swills
MFC after: 1 week


# fa6ef1c4 16-Jun-2016 Hans Petter Selasky <hselasky@FreeBSD.org>

Define LIBUSB_API_VERSION.

Approved by: re (kostikbel)
Requested by: swills
MFC after: 1 week


# 14b896ce 16-Jun-2016 Hans Petter Selasky <hselasky@FreeBSD.org>

Implement libusb_get_version() and update libusb manual page.

Approved by: re (glebius)
Requested by: swills
MFC after: 1 week


# 87785697 15-Jan-2015 Hans Petter Selasky <hselasky@FreeBSD.org>

Add more USB request definitions. The values are described in section
9.4.11 and 9.4.12 of the "Universal Serial Bus 3.0 Specification"

Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
MFC after: 1 week


# 1dfd04f7 18-Aug-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Add more USB class codes.

Obtained from: libusb project at SourceForge
MFC after: 1 week


# 6736336e 25-May-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Add empty LIBUSB_CALL macro, to be compatible to the libusb 1.0-API
from sourceforge.

PR: usb/190204
MFC after: 1 week


# cb0187af 14-Mar-2014 Eitan Adler <eadler@FreeBSD.org>

libusb: add libusb_log_level enum

This is documented on http://libusb.sourceforge.net/api-1.0/group__lib.html


# 03205428 05-Jan-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Implement two new libusb API functions.

PR: usb/185454
MFC after: 2 weeks


# a9205626 07-Jun-2013 Ed Maste <emaste@FreeBSD.org>

Add libusb_get_port_numbers

libusbx deprecated libusb_get_port_path and replaced it with
libusb_get_port_numbers. The latter omits an extra parameter which was
unused in the FreeBSD implementation anyway.


# 5906bf49 07-May-2013 Ed Maste <emaste@FreeBSD.org>

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@


# 22a962c9 07-May-2013 Ed Maste <emaste@FreeBSD.org>

Constify libusb_get_pollfds return

The correct return type, per our libusb(3) man page and the libusb.org
and libusbx projects (whose interface we intend to follow for our libusb),
is const struct libusb_pollfd **.

Unfortunately the doxygen-generated libusbx API documentation[1] omits[2]
the const for some reason.

[1] http://libusbx.sourceforge.net/api-1.0/group__poll.html#gab1a72869a926552b27a6c667695df3a2

[2] http://sourceforge.net/mailarchive/forum.php?thread_name=497D10BE.8090007%40n-dimensional.de&forum_name=libusb-devel

Reviewed by: hselasky@


# 66194130 12-Mar-2013 Hans Petter Selasky <hselasky@FreeBSD.org>

- Make the FreeBSD's USB library compile under Linux.
- Fix a compile warning where the return value of a call
to a write() function was ignored.
- Remove redundant include files from userland USB header files.
- Add some now needed include files to various C-files.


# 78ed0e49 07-May-2012 Hans Petter Selasky <hselasky@FreeBSD.org>

Add missing LibUSB 1.0 API function: libusb_get_string_descriptor().

Reported by: Xiaofan Chen


# 85ff9a03 25-Apr-2012 Hans Petter Selasky <hselasky@FreeBSD.org>

Fix binary compatibility to the official LibUSB 1.0.
This is useful for GNU/kFreeBSD and the libusb2debian port.
Applications using the asynchronous API of LibUSB 1.0 needs
to be recompiled after this update.

Found by: lme @


# 748205a3 12-Apr-2012 Hans Petter Selasky <hselasky@FreeBSD.org>

Add missing LibUSB 1.0 API function.

Reported by: lme @
MFC after: 1 week


# 4c0392e6 09-Nov-2011 Hans Petter Selasky <hselasky@FreeBSD.org>

Add definition of some USB 3.0 descriptors to libusb 1.0 and libusb 2.0.
Some header file parts of this patch were taken from a patch submitted
by Maya Erez <merez@codeaurora.org> to the LibUSB developers list.

MFC after: 1 week


# c61f2561 19-Sep-2011 Hans Petter Selasky <hselasky@FreeBSD.org>

Implement missing USB debug information functions.

Approved by: re (kib)
MFC after: 1 week


# 9a46d467 16-Aug-2011 Hans Petter Selasky <hselasky@FreeBSD.org>

Add missing function to get device speed to the LibUSB v1.0 API.

MFC after: 1 week
Approved by: re (kib)


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# 698e791a 14-Oct-2010 Hans Petter Selasky <hselasky@FreeBSD.org>

- Add missing LibUSB API functions:
* libusb_strerror()
* libusb_get_driver[_np]()
* libusb_detach_kernel_driver[_np]()
- Factor out setting of non-blocking flag inside libusb.
- Add missing NULL check after libusb_get_device() call.
- Correct some wrong error codes due to copy and paste error.

PR: usb/150546
Submitted by: Robert Jenssen, Alexander Leidinger
Approved by: thompsa (mentor)


# f1b5fa6e 14-Oct-2010 Hans Petter Selasky <hselasky@FreeBSD.org>

LibUSB (new API):
- Add a new API function to check the connected
status of the USB handle in the LibUSB v1.0 and
LibUSB v0.1 interfaces.

Approved by: thompsa (mentor)


# 005044bd 17-May-2010 Andrew Thompson <thompsa@FreeBSD.org>

MFC r208020

Fix header file compliancy with libusb 1.0 from sourceforge.


# 9c087c5a 12-May-2010 Andrew Thompson <thompsa@FreeBSD.org>

Fix header file compliancy with libusb 1.0 from sourceforge.

Reported by: Xiaofan Chen
Submitted by: Hans Petter Selasky


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# f3cba95c 13-Feb-2010 Wojciech A. Koszek <wkoszek@FreeBSD.org>

Resort includes to match style(9) a bit more. No functional change
is expected after this commit.

Tested by: make buildworld
Reviewed by: hps (patch without .h changes)


# d426c025 11-Feb-2010 Wojciech A. Koszek <wkoszek@FreeBSD.org>

Remove redundand headers and use more standard ones where necessary.

Reviewed by: hps@


# 1110a460 10-Nov-2009 Andrew Thompson <thompsa@FreeBSD.org>

MFC r199055

- fix refcounting error during data transfer
- fix a memory leak on the USB backend
- fix invalid pointer computations (in one case memory outside the allocated
area was written in LibUSB v1.0)
- make sure memory is always initialised, also in failing cases
- add missing functions from v1.0.4

PR: usb/140325


# ccef4ddf 08-Nov-2009 Andrew Thompson <thompsa@FreeBSD.org>

- fix refcounting error during data transfer
- fix a memory leak on the USB backend
- fix invalid pointer computations (in one case memory outside the allocated
area was written in LibUSB v1.0)
- make sure memory is always initialised, also in failing cases
- add missing functions from v1.0.4

PR: usb/140325
Reported by: Robert Jenssen
Submitted by: Hans Petter Selasky
MFC After: 3 days


# 390065b1 29-Jul-2009 Alfred Perlstein <alfred@FreeBSD.org>

LibUSB v1.0:

- Significantly improve libusb10 support.
- Many minor issues fixed.
- P4 ID: 166189, 165853, 165991, 166052, 166069

Submitted by: hps
Approved by: re


# c500e4dd 10-Jul-2009 Andrew Thompson <thompsa@FreeBSD.org>

Sync the libusb 1.0 exported api to the latest GSoC code.

- Fix possible uninitialised variables and null derefs
- Support big transfers
- Various bug fixes and style changes

Submitted by: Sylvestre Gallon
Sponsored by: Google Summer of Code 2009
Approved by: re (kib)


# 8c8fff31 22-Jun-2009 Andrew Thompson <thompsa@FreeBSD.org>

Add files missed in r194674.

Add libusb 1.0 support which is compatible with the latest revision on
Sourceforge. Libusb 1.0 is a portable usb api released December 2008 and
supersedes the original libusb released 10 years ago, it supports isochronous
endpoints and asynchronous I/O. Many applications have already started using
the interfaces.

This has been developed as part of Google Summer of Code this year by Sylvestre
Gallon and has been cribbed early due to it being desirable in FreeBSD 8.0

Submitted by: Sylvestre Gallon
Sponsored by: Google Summer of Code 2009
Reviewed by: Hans Petter Selasky


# a6402160 27-Mar-2002 Josef Karthauser <joe@FreeBSD.org>

Follow NetBSD and rename libusb to libusbhid.

MFC after: 7 days


# 69160b1e 21-Mar-2002 David E. O'Brien <obrien@FreeBSD.org>

Remove __P() usage.


# ea81d432 05-Feb-2001 Bruce Evans <bde@FreeBSD.org>

Added used include of <sys/cdefs.h>.

Declare all the interfaces documented in usb.3 (2 were missing).


# b425e319 16-Oct-2000 Nick Hibma <n_hibma@FreeBSD.org>

Sync with NetBSD:

K&R -> ANSI

Bugfix: 'Keep the bit position even when the report descriptor says POP.'

Add hid_use_report_desc, hid_parse_usage_page, hid_parse_usage_in_page.

Changed iface for hid_report_size.


# 25d1d43d 26-Aug-2000 Nick Hibma <n_hibma@FreeBSD.org>

Sync with NetBSD:
Print unknown usages with 4 digits.
Mask in page extraction.


# 9e2046df 11-Jun-2000 Nick Hibma <n_hibma@FreeBSD.org>

The USB library from NetBSD by Lennart Augustsson <lennart@augustsson.net>.