1# USB/IP server library 2 3This folder contains set of classes and structures that constitute basic USB/IP 4server. 5 6Protocol used in this library is defined as part of 7[Linux kernel documentation](https://www.kernel.org/doc/Documentation/usb/usbip_protocol.txt). 8 9## Structure 10 11### [`vadb::usbip::Device`](./device.h)[](#Device) 12 13Structure describing individual device accessible over USB/IP protocol. 14 15### [`vadb::usbip::DevicePool`](./device_pool.h)[](#DevicePool) 16 17DevicePool holds a set of [Devices](#Device) that can be enumerated and 18accessed by clients of this Server. 19 20### [`vadb::usbip::Server`](./server.h) 21 22Purpose of this class is to start a new listening socket and accept incoming 23USB/IP connections & requests. 24 25### [`vadb::usbip::Client`](./client.h) 26 27Client class represents individual USB/IP connection. Client enables remote 28USB/IP client to enumerate and access devices registered in 29[DevicePool](#DevicePool). 30 31### [`USB/IP Messages`](./messages.h) 32 33This file contains structures and enum values defined by the USB/IP protocol. 34All definitions found there have been collected from 35[Linux kernel documentation](https://www.kernel.org/doc/Documentation/usb/usbip_protocol.txt) 36. 37