Mark build test makefiles as being incompatible with parallel make builds, as they...
[pub/USBasp.git] / LUFA / Drivers / USB / Core / Pipe.h
index fe74c9a..faa803b 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
                #endif
 
        /* Public Interface - May be used in end-application: */
                #endif
 
        /* Public Interface - May be used in end-application: */
+               /* Type Defines: */
+                       /** Type define for a pipe table entry, used to configure pipes in groups via
+                        *  \ref Pipe_ConfigurePipeTable().
+                        */
+                       typedef struct
+                       {
+                               uint8_t  Address; /**< Address of the pipe to configure, or zero if the table entry is to be unused. */
+                               uint16_t Size; /**< Size of the pipe bank, in bytes. */
+                               uint8_t  EndpointAddress; /** Address of the endpoint in the connected device. */
+                               uint8_t  Type; /**< Type of the endpoint, a \c EP_TYPE_* mask. */
+                               uint8_t  Banks; /**< Number of hardware banks to use for the pipe. */
+                       } USB_Pipe_Table_t;
+
                /* Macros: */
                        /** Pipe address for the default control pipe, which always resides in address 0. This is
                         *  defined for convenience to give more readable code when used with the pipe macros.
                /* Macros: */
                        /** Pipe address for the default control pipe, which always resides in address 0. This is
                         *  defined for convenience to give more readable code when used with the pipe macros.
                         */
                        #define PIPE_EPNUM_MASK                 0x0F
 
                         */
                        #define PIPE_EPNUM_MASK                 0x0F
 
-                       /** Endpoint direction mask, for masking against endpoint addresses to retrieve the endpoint's
-                        *  direction for comparing with the \c ENDPOINT_DIR_* masks.
-                        */
-                       #define PIPE_EPDIR_MASK                 0x80
-
        /* Architecture Includes: */
                #if (ARCH == ARCH_AVR8)
                        #include "AVR8/Pipe_AVR8.h"
        /* Architecture Includes: */
                #if (ARCH == ARCH_AVR8)
                        #include "AVR8/Pipe_AVR8.h"