/* Read data from or Write data to USB Endpoint.  */
int32_t USBD_EndpointTransfer(uint8_t ep_addr, uint8_t *data, uint32_t num)
/* Read data from or Write data to USB Endpoint.  */
int32_t USBD_EndpointTransfer(uint8_t ep_addr, uint8_t *data, uint32_t num)
{ return ARM_DRIVER_ERROR; }
  if ((USB0_state & USBD_DRIVER_POWERED) == 0U) { return ARM_DRIVER_ERROR; }
  ptr_dqh = &dQH[EP_IDX(ep_addr)];
  if (ptr_dqh->ep_active != 0U)                 { return ARM_DRIVER_ERROR_BUSY; }
  ptr_dqh->ep_active = 1U;
  ptr_dqh->data                  = data;
  ptr_dqh->num                   = num;
  ptr_dqh->num_transferred_total = 0U;
  ptr_dqh->num_transferring      = 0U;
  USBD_HW_EndpointTransfer(ep_addr);
  return ARM_DRIVER_OK;
}