X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/eeba38e343a299e12964aec15fd43108d3dc9130..d11ed10c5314c44dc01c06954d1d73d4894cbff8:/LUFA/Drivers/USB/HighLevel/StreamCallbacks.h diff --git a/LUFA/Drivers/USB/HighLevel/StreamCallbacks.h b/LUFA/Drivers/USB/HighLevel/StreamCallbacks.h index e739d8438..c502330d6 100644 --- a/LUFA/Drivers/USB/HighLevel/StreamCallbacks.h +++ b/LUFA/Drivers/USB/HighLevel/StreamCallbacks.h @@ -1,21 +1,21 @@ /* LUFA Library - Copyright (C) Dean Camera, 2009. + Copyright (C) Dean Camera, 2010. dean [at] fourwalledcubicle [dot] com www.fourwalledcubicle.com */ /* - Copyright 2009 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) - Permission to use, copy, modify, and distribute this software - and its documentation for any purpose and without fee is hereby - granted, provided that the above copyright notice appear in all - copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the + Permission to use, copy, modify, distribute, and sell this + software and its documentation for any purpose is hereby granted + without fee, provided that the above copyright notice appear in + all copies and that both that the copyright notice and this + permission notice and warranty disclaimer appear in supporting + documentation, and that the name of the author not be used in + advertising or publicity pertaining to distribution of the software without specific, written prior permission. The author disclaim all warranties with regard to this @@ -32,7 +32,8 @@ * @defgroup Group_StreamCallbacks Endpoint and Pipe Stream Callbacks * * Macros and enums for the stream callback routines. This module contains the code required to easily set up - * stream callback functions which can be used to force early abort of a stream read/write process. + * stream callback functions which can be used to force early abort of a stream read/write process. Each callback + * should take no arguments, and return a value from the \ref StreamCallback_Return_ErrorCodes_t enum. * * @{ */ @@ -42,37 +43,6 @@ /* Public Interface - May be used in end-application: */ /* Macros: */ - /** Creates a prototype for or begins a stream callback routine. Stream callback routines are small - * routines which are executed during stream read or writes (if the callback-enabled versions of - * these functions are used) which allow the user application to abort the transfer when certain - * arbitrary conditions are met. - * - * Stream callback functions should return a value from the \ref StreamCallback_Return_ErrorCodes_t - * enum. - * - * Usage Example (Device Endpoint, but applicable for Host Pipes also): - * \code - * STREAM_CALLBACK(GlobalNotSet); // Callback Prototype - * - * STREAM_CALLBACK(GlobalNotSet) - * { - * if (MyGlobal == false) - * return ENDPOINT_STREAMCALLBACK_Continue; - * else - * return ENDPOINT_STREAMCALLBACK_Abort; - * } - * - * //... - * // Inside some routine: - * if (Endpoint_Write_Stream_LE(DataBuffer, sizeof(DataBuffer), GlobalNotSet) == - * ENDPOINT_RWSTREAM_ERROR_CallbackAborted) - * { - * // Do something when the callback aborted the transfer early - * } - * \endcode - */ - #define STREAM_CALLBACK(name) uint8_t name (void) - /** Used with the Endpoint and Pipe stream functions as the callback function parameter, indicating that the stream * call has no callback function to be called between USB packets. */ @@ -88,9 +58,8 @@ /* Type Defines: */ /** Type define for a Stream Callback function (function taking no arguments and retuning a - * uint8_t value). - * - * \see \ref STREAM_CALLBACK macro for more details + * uint8_t value). Stream callback functions should have an identical function signature if they + * are to be used as the callback parameter of the stream functions. */ typedef uint8_t (* const StreamCallbackPtr_t)(void);