Mark build test makefiles as being incompatible with parallel make builds, as they...
[pub/USBasp.git] / LUFA / Drivers / USB / Core / USBController.h
index 49fbb41..44a10e3 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2011.
+     Copyright (C) Dean Camera, 2012.
 
   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
@@ -50,7 +50,7 @@
 
        /* Includes: */
                #include "../../../Common/Common.h"
-               #include "USBMode.h"            
+               #include "USBMode.h"
 
        /* Enable C linkage for C++ Compilers: */
                #if defined(__cplusplus)
                #endif
 
        /* Defines: */
+               /** \name Endpoint Direction Masks */
+               //@{
+               /** Endpoint direction mask, for masking against endpoint addresses to retrieve the endpoint's
+                *  direction for comparing with the \c ENDPOINT_DIR_* masks.
+                */
+               #define ENDPOINT_DIR_MASK                  0x80
+
+               /** Endpoint address direction mask for an OUT direction (Host to Device) endpoint. This may be ORed with
+                *  the index of the address within a device to obtain the full endpoint address.
+                */
+               #define ENDPOINT_DIR_OUT                   0x00
+
+               /** Endpoint address direction mask for an IN direction (Device to Host) endpoint. This may be ORed with
+                *  the index of the address within a device to obtain the full endpoint address.
+                */
+               #define ENDPOINT_DIR_IN                    0x80
+               //@}
+
+               /** \name Pipe Direction Masks */
+               //@{
+               /** Pipe direction mask, for masking against pipe addresses to retrieve the pipe's
+                *  direction for comparing with the \c PIPE_DIR_* masks.
+                */
+               #define PIPE_DIR_MASK                      0x80
+
+               /** Endpoint address direction mask for an OUT direction (Host to Device) endpoint. This may be ORed with
+                *  the index of the address within a device to obtain the full endpoint address.
+                */
+               #define PIPE_DIR_OUT                       0x00
+
+               /** Endpoint address direction mask for an IN direction (Device to Host) endpoint. This may be ORed with
+                *  the index of the address within a device to obtain the full endpoint address.
+                */
+               #define PIPE_DIR_IN                        0x80
+               //@}
+
                /** \name Endpoint/Pipe Type Masks */
                //@{
+               /** Mask for determining the type of an endpoint from an endpoint descriptor. This should then be compared
+                *  with the \c EP_TYPE_* masks to determine the exact type of the endpoint.
+                */
+               #define EP_TYPE_MASK                       0x03
+
                /** Mask for a CONTROL type endpoint or pipe.
                 *
                 *  \note See \ref Group_EndpointManagement and \ref Group_PipeManagement for endpoint/pipe functions.
                #elif (ARCH == ARCH_UC3)
                        #include "UC3/USBController_UC3.h"
                #elif (ARCH == ARCH_XMEGA)
-                       #include "XMEGA/USBController_XMEGA.h"  
+                       #include "XMEGA/USBController_XMEGA.h"
                #endif
 
        /* Disable C linkage for C++ Compilers: */