unsigned char USBGenericRequest_GetDirection(const USBGenericRequest *request) { // Transfer direction is located in bit D7 of the bmRequestType field if ((request->bmRequestType & 0x80) != 0) { return USBGenericRequest_IN; } else { return USBGenericRequest_OUT; } }