Mark build test makefiles as being incompatible with parallel make builds, as they...
[pub/USBasp.git] / LUFA / Drivers / USB / Core / Endpoint.h
index 550414c..b349adf 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2011.
+     Copyright (C) Dean Camera, 2012.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2011  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2012  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
@@ -74,7 +74,7 @@
 
        /* Includes: */
                #include "../../../Common/Common.h"
 
        /* Includes: */
                #include "../../../Common/Common.h"
-               #include "USBMode.h"            
+               #include "USBMode.h"
 
        /* Enable C linkage for C++ Compilers: */
                #if defined(__cplusplus)
 
        /* Enable C linkage for C++ Compilers: */
                #if defined(__cplusplus)
                #endif
 
        /* Public Interface - May be used in end-application: */
                #endif
 
        /* Public Interface - May be used in end-application: */
+               /* Type Defines: */
+                       /** Type define for a endpoint table entry, used to configure endpoints in groups via
+                        *  \ref Endpoint_ConfigureEndpointTable().
+                        */
+                       typedef struct
+                       {
+                               uint8_t  Address; /**< Address of the endpoint to configure, or zero if the table entry is to be unused. */
+                               uint16_t Size; /**< Size of the endpoint bank, in bytes. */
+                               uint8_t  Type; /**< Type of the endpoint, a \c EP_TYPE_* mask. */
+                               uint8_t  Banks; /**< Number of hardware banks to use for the endpoint. */
+                       } USB_Endpoint_Table_t;
+       
                /* Macros: */
                        /** Endpoint number mask, for masking against endpoint addresses to retrieve the endpoint's
                         *  numerical address in the device.
                         */
                /* Macros: */
                        /** Endpoint number mask, for masking against endpoint addresses to retrieve the endpoint's
                         *  numerical address in the device.
                         */
-                       #define ENDPOINT_EPNUM_MASK                     0x07
-
-                       /** Endpoint direction mask, for masking against endpoint addresses to retrieve the endpoint's
-                        *  direction for comparing with the \c ENDPOINT_DESCRIPTOR_DIR_* masks.
-                        */
-                       #define ENDPOINT_EPDIR_MASK                     0x80
+                       #define ENDPOINT_EPNUM_MASK                     0x0F
 
                        /** Endpoint address for the default control endpoint, which always resides in address 0. This is
                         *  defined for convenience to give more readable code when used with the endpoint macros.
 
                        /** Endpoint address for the default control endpoint, which always resides in address 0. This is
                         *  defined for convenience to give more readable code when used with the endpoint macros.