uint8_t Endpoint_Discard_Stream(uint16_t Length, uint16_t* const BytesProcessed) { uint32_t i; for (i=0; i < Length; i++) { Endpoint_Discard_8(); } return ENDPOINT_RWSTREAM_NoError; }
uint8_t Endpoint_Discard_Stream(uint16_t Length, uint16_t* const BytesProcessed) { uint8_t ErrorCode; uint16_t BytesInTransfer = 0; if ((ErrorCode = Endpoint_WaitUntilReady())) return ErrorCode; if (BytesProcessed != NULL) Length -= *BytesProcessed; while (Length) { if (!(Endpoint_IsReadWriteAllowed())) { Endpoint_ClearOUT(); if (BytesProcessed != NULL) { *BytesProcessed += BytesInTransfer; return ENDPOINT_RWSTREAM_IncompleteTransfer; } if ((ErrorCode = Endpoint_WaitUntilReady())) return ErrorCode; } else { Endpoint_Discard_8(); Length--; BytesInTransfer++; } } return ENDPOINT_RWSTREAM_NoError; }