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