void USBD_ParseSetupRequest(USBD_SetupReqTypedef *req, uint8_t *pdata) { req->bmRequest = *(uint8_t *) (pdata); req->bRequest = *(uint8_t *) (pdata + 1); req->wValue = SWAPBYTE (pdata + 2); req->wIndex = SWAPBYTE (pdata + 4); req->wLength = SWAPBYTE (pdata + 6); }
void _GR_swap16(GR_int16 *w) { GR_int16 res; GRX_ENTER(); res = SWAPBYTE(GR_int16,*w,1,0); res |= SWAPBYTE(GR_int16,*w,0,1); *w = res; GRX_LEAVE(); }
void _GR_swap32(GR_int32 *l) { GR_int32 res; GRX_ENTER(); res = SWAPBYTE(GR_int32,*l,3,0); res |= SWAPBYTE(GR_int16,*l,0,3); res |= SWAPBYTE(GR_int16,*l,2,1); res |= SWAPBYTE(GR_int16,*l,1,2); *l = res; GRX_LEAVE(); }
void USBD_ParseSetupRequest( USB_CORE_HANDLE *pdev, USB_SETUP_REQ *req) { req->bmRequest = *(uint8_t *) (pdev->dev.setup_packet); req->bRequest = *(uint8_t *) (pdev->dev.setup_packet + 1); req->wValue = SWAPBYTE (pdev->dev.setup_packet + 2); req->wIndex = SWAPBYTE (pdev->dev.setup_packet + 4); req->wLength = SWAPBYTE (pdev->dev.setup_packet + 6); pdev->dev.in_ep[0].ctl_data_len = req->wLength ; pdev->dev.device_state = USB_EP0_SETUP; }
void _GR_swap64(GR_int64 *h) { GR_int64 res; GRX_ENTER(); res = SWAPBYTE(GR_int64,*h,7,0); res |= SWAPBYTE(GR_int64,*h,0,7); res |= SWAPBYTE(GR_int64,*h,6,1); res |= SWAPBYTE(GR_int64,*h,1,6); res |= SWAPBYTE(GR_int64,*h,5,2); res |= SWAPBYTE(GR_int64,*h,2,5); res |= SWAPBYTE(GR_int64,*h,4,3); res |= SWAPBYTE(GR_int64,*h,3,4); *h = res; GRX_LEAVE(); }