Massive cleanups to the incomplete BluetoothHost demo, to make the HCL layer code...
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Device / MassStorage.h
index 5c3d21b..8eb150b 100644 (file)
@@ -1,21 +1,21 @@
 /*\r
              LUFA Library\r
 /*\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
               \r
   dean [at] fourwalledcubicle [dot] com\r
       www.fourwalledcubicle.com\r
 */\r
 \r
 /*\r
-  Copyright 2009  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
+  Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
+\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
   software without specific, written prior permission.\r
 \r
   The author disclaim all warranties with regard to this\r
   this software.\r
 */\r
 \r
   this software.\r
 */\r
 \r
+/** \file\r
+ *  \brief Device mode driver for the library USB Mass Storage Class driver.\r
+ *\r
+ *  Device mode driver for the library USB Mass Storage Class driver.\r
+ *\r
+ *  \note This file should not be included directly. It is automatically included as needed by the class driver\r
+ *        dispatch header located in LUFA/Drivers/USB/Class/MassStorage.h.\r
+ */\r
+\r
 /** \ingroup Group_USBClassMS\r
  *  @defgroup Group_USBClassMSDevice Mass Storage Class Device Mode Driver\r
  *\r
 /** \ingroup Group_USBClassMS\r
  *  @defgroup Group_USBClassMSDevice Mass Storage Class Device Mode Driver\r
  *\r
                        extern "C" {\r
                #endif\r
 \r
                        extern "C" {\r
                #endif\r
 \r
+       /* Preprocessor Checks: */\r
+               #if !defined(__INCLUDE_FROM_MS_DRIVER)\r
+                       #error Do not include this file directly. Include LUFA/Drivers/Class/MassStorage.h instead.\r
+               #endif\r
+\r
        /* Public Interface - May be used in end-application: */\r
                /* Type Defines: */                                                                             \r
        /* Public Interface - May be used in end-application: */\r
                /* Type Defines: */                                                                             \r
-                       /** Class state structure. An instance of this structure should be made for each Mass Storage interface\r
+                       /** \brief Mass Storage Class Device Mode Configuration and State Structure.\r
+                        *\r
+                        *  Class state structure. An instance of this structure should be made for each Mass Storage interface\r
                         *  within the user application, and passed to each of the Mass Storage class driver functions as the\r
                         *  MSInterfaceInfo parameter. This stores each Mass Storage interface's configuration and state information.\r
                         */\r
                         *  within the user application, and passed to each of the Mass Storage class driver functions as the\r
                         *  MSInterfaceInfo parameter. This stores each Mass Storage interface's configuration and state information.\r
                         */\r
        /* Private Interface - For use in library only: */\r
        #if !defined(__DOXYGEN__)\r
                /* Function Prototypes: */\r
        /* Private Interface - For use in library only: */\r
        #if !defined(__DOXYGEN__)\r
                /* Function Prototypes: */\r
-                       #if defined(INCLUDE_FROM_MS_CLASS_DEVICE_C)\r
+                       #if defined(__INCLUDE_FROM_MS_CLASS_DEVICE_C)\r
                                static void    MS_Device_ReturnCommandStatus(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);\r
                                static bool    MS_Device_ReadInCommandBlock(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);\r
                                static uint8_t StreamCallback_MS_Device_AbortOnMassStoreReset(void);\r
                                static void    MS_Device_ReturnCommandStatus(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);\r
                                static bool    MS_Device_ReadInCommandBlock(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);\r
                                static uint8_t StreamCallback_MS_Device_AbortOnMassStoreReset(void);\r