1 uint8_t TEMPLATE_FUNC_NAME (TEMPLATE_BUFFER_TYPE Buffer
,
5 uint8_t* DataStream
= ((uint8_t*)Buffer
+ TEMPLATE_BUFFER_OFFSET(Length
));
8 Pipe_SetPipeToken(TEMPLATE_TOKEN
);
10 if ((ErrorCode
= Pipe_WaitUntilReady()))
15 if (!(Pipe_IsReadWriteAllowed()))
17 TEMPLATE_CLEAR_PIPE();
19 #if !defined(NO_STREAM_CALLBACKS)
20 if ((Callback
!= NULL
) && (Callback() == STREAMCALLBACK_Abort
))
21 return PIPE_RWSTREAM_CallbackAborted
;
24 if ((ErrorCode
= Pipe_WaitUntilReady()))
29 TEMPLATE_TRANSFER_BYTE(DataStream
);
34 return PIPE_RWSTREAM_NoError
;
37 #undef TEMPLATE_FUNC_NAME
38 #undef TEMPLATE_BUFFER_TYPE
40 #undef TEMPLATE_TRANSFER_BYTE
41 #undef TEMPLATE_CLEAR_PIPE
42 #undef TEMPLATE_BUFFER_OFFSET