A USB device provides information about itself in the form of descriptors. A client can then query the device to work out its class and capabilities. Two important properties on all USB devices are its Vendor ID (VID) and Product ID (PID), which can be used to uniquely identify the device type by the operating system’s plug and play system. Each device can support multiple interfaces or endpoints. Each device must support endpoint 0 which is reserved for system use such as device enumeration.