- #if defined(FAST_STREAM_TRANSFERS)\r
- uint8_t BytesRemToAlignment = (Pipe_BytesInPipe() & 0x07);\r
-\r
- if (Length >= 8)\r
- {\r
- Length -= BytesRemToAlignment;\r
-\r
- switch (BytesRemToAlignment)\r
- {\r
- default:\r
- do\r
- {\r
- if (!(Pipe_IsReadWriteAllowed()))\r
- {\r
- Pipe_ClearIN();\r
- \r
- #if !defined(NO_STREAM_CALLBACKS)\r
- if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))\r
- return PIPE_RWSTREAM_CallbackAborted;\r
- #endif\r
-\r
- if ((ErrorCode = Pipe_WaitUntilReady()))\r
- return ErrorCode;\r
- }\r
-\r
- Length -= 8;\r
- \r
- Pipe_Discard_Byte();\r
- case 7: Pipe_Discard_Byte();\r
- case 6: Pipe_Discard_Byte();\r
- case 5: Pipe_Discard_Byte();\r
- case 4: Pipe_Discard_Byte();\r
- case 3: Pipe_Discard_Byte();\r
- case 2: Pipe_Discard_Byte();\r
- case 1: Pipe_Discard_Byte();\r
- } while (Length >= 8); \r
- }\r
- }\r
- #endif\r
-\r