普通文本  |  37行  |  1.17 KB

# USB/IP server library

This folder contains set of classes and structures that constitute basic USB/IP 
server.

Protocol used in this library is defined as part of
[Linux kernel documentation](https://www.kernel.org/doc/Documentation/usb/usbip_protocol.txt).

## Structure

### [`vadb::usbip::Device`](./device.h)[](#Device)

Structure describing individual device accessible over USB/IP protocol.

### [`vadb::usbip::DevicePool`](./device_pool.h)[](#DevicePool)

DevicePool holds a set of [Devices](#Device) that can be enumerated and
accessed by clients of this Server.

### [`vadb::usbip::Server`](./server.h)

Purpose of this class is to start a new listening socket and accept incoming
USB/IP connections & requests.

### [`vadb::usbip::Client`](./client.h)

Client class represents individual USB/IP connection. Client enables remote
USB/IP client to enumerate and access devices registered in
[DevicePool](#DevicePool).

### [`USB/IP Messages`](./messages.h)

This file contains structures and enum values defined by the USB/IP protocol.
All definitions found there have been collected from
[Linux kernel documentation](https://www.kernel.org/doc/Documentation/usb/usbip_protocol.txt)
.