Commits

Author Commit Message Labels Comments Date
Liam Staskawicz
platform: give a USBUS namespace to the platform defines to ease including usbus source files in other builds
Liam Staskawicz
rename only, no logical changes: claimInterface() => openInterface(), releaseInterface() => closeInterface()
Liam Staskawicz
echo example: add a simple echo example to demonstrate async I/O
Liam Staskawicz
enumerator example: be more flexible in the event of failures, and try to probe more parts of the device
Liam Staskawicz
iokit: several cleanups. cache the device's configuration descriptor. detect in open() whether we need to set the device's default configuration, rather than when opening an interface.
Liam Staskawicz
descriptor: bounds checking for interface and endpoint indexes
Liam Staskawicz
iokit: filter out hubs, as we don't aim to provide any API to do anything with them
Liam Staskawicz
add usbusIsOpen() getter
Liam Staskawicz
usbus.h: add device class enum
Liam Staskawicz
readme: more info and notes
Liam Staskawicz
premake: turn on more warnings, configure them as errors, and fix one resulting warning.
Liam Staskawicz
iokit: maintain an array of interfaces to better accommodate the API we need to offer
Liam Staskawicz
iokit: fix typo in iokit_strerror() name, and add a couple more conversions
Liam Staskawicz
iokit: create the async event source on the interface rather than the device. prelim runloop handling: track the runloopref from usbusListen(), add interfaces to it as they're opened, and provide diagnostic printout if the application calls processEvents() on a different thread. also ensure the listen only runs once before stopListen gets called.
Liam Staskawicz
iokit: cache pipeRefs for each endpoint, and use them in i/o routines
Liam Staskawicz
winusb: make use of limits for max interface handles
Liam Staskawicz
limits: add default limits for a few allocations
Liam Staskawicz
os x: fix build warnings
Liam Staskawicz
io: ensure the transferredLength of a transfer being submitted is always cleared
Liam Staskawicz
winusb: dispatch callbacks for failed transfers
Liam Staskawicz
io: routines for allocating & releasing transfers, plus a helper for setting the details of a bulk transfer
Liam Staskawicz
winusb: catch IO_PENDING return in async I/O routines
Liam Staskawicz
processEvents: make sure to get the default context if necessary, and catch timeout return value for winusb.
Liam Staskawicz
iokit: factor out retrieval of plugin interface for both device and interface.
Liam Staskawicz
iokit: prelim descriptor accessors for configuration, interface and endpoint. need to revisit the API here to ensure we're consistent cross platform.
Liam Staskawicz
descriptor: ensure device is open
Liam Staskawicz
enumerator example: traverse device descriptors to print out more info
Liam Staskawicz
winusb: implement claim/release interface
Liam Staskawicz
winusb: add bounds checking for access to winusbHandles[]
Liam Staskawicz
winusb: no need to copy the device descriptor
  1. Prev
  2. Next