typedef struct _S_usb S_usb;
.
.
.
struct _S_usb {
const S_usb_driver *pDriver; //!< Pointer to the low-level driver
S_usb_endpoint* const pEndpoints; //!< Endpoints list
unsigned int dNumEndpoints; //!< Number of endpoints in list
const S_usb_callbacks *pCallbacks; //!< Pointer to the callbacks
S_usb_request* const pSetup; //!< \brief Pointer to the last
//!< received SETUP packet
volatile unsigned int* const pState; //!< Current state of the device
};