OpenBSD Handbook

Current snapshot · amd64 · Generated 2026-09-09

libusb-compat-0.1.5p1

libusb-0.1 compatibility layer for libusb1

Back to search · Project homepage

Description

A compatibility layer allowing applications written for libusb-0.1 to work with libusb-1.0. libusb-compat-0.1 attempts to look, feel, smell and walk like libusb-0.1. Known quirks/differences from libusb-0.1: 1. usb_resetep(), a previously deprecated function, is implemented as equivalent to calling usb_clear_halt(). 2. libusb-0.1 allowed you to open a device which you did not have permission to do anything useful with (all I/O requests would immediately fail). libusb-compat-0.1 does not allow you to open such devices. You can still read descriptor info without opening a device. 3. usb_device's "num_children" attribute is hardcoded to 0, and "children" is hardcoded to NULL. Do you need this information in your software? Let us know on the mailing list, and we'll add it. 4. Some libusb-0.1 users may have implemented I/O cancellation by running transfers in their own threads and simply killing the thread when they don't want to do the transfer any more. This is bad programming practice for obvious reasons, and this lack of functionality was one of the primary drivers for libusb-1.0 development. With libusb-1.0 or libusb-compat-0.1 backed by libusb-1.0, forcefully killing threads in this way is likely to cause all libusb I/O to halt. Instead, port your application to use libusb-1.0's asynchronous transfer API, which supports transfer cancellation. 5. Error codes returned on certain events may not exactly match the error codes returned by libusb-0.1.

Package information

Ports path
devel/libusb-compat
Package architecture
amd64
Maintainer
Martin Pieuchot <mpi@openbsd.org>
Categories
devel
Available flavors
None listed

These are ports metadata. Binary availability depends on the release, architecture and mirror. Build and test dependencies are not an installation checklist.

Direct dependencies

Library

Build

Used by (15 dependency relationships)

Includes library, runtime, build and test relationships. Results load 100 at a time.

Installing and updating packages · Package details as JSON