Remove type definitions of the keyboard and mouse boot protocol report layouts from...
[pub/USBasp.git] / LUFA / Drivers / USB / LowLevel / Endpoint.h
index e27ac50..2fa20df 100644 (file)
@@ -33,7 +33,7 @@
  *\r
  *  Functions, macros and enums related to endpoint management when in USB Device mode. This\r
  *  module contains the endpoint management macros, as well as endpoint interrupt and data\r
- *  send/recieve functions for various data types.\r
+ *  send/receive functions for various data types.\r
  *\r
  *  @{\r
  */\r
                        static inline uint16_t Endpoint_Read_Word_LE(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;\r
                        static inline uint16_t Endpoint_Read_Word_LE(void)\r
                        {\r
-                               uint16_t Data;\r
+                               union\r
+                               {\r
+                                       uint16_t Word;\r
+                                       uint8_t  Bytes[2];\r
+                               } Data;\r
                                \r
-                               Data  = UEDATX;\r
-                               Data |= (((uint16_t)UEDATX) << 8);\r
+                               Data.Bytes[0] = UEDATX;\r
+                               Data.Bytes[1] = UEDATX;\r
                        \r
-                               return Data;\r
+                               return Data.Word;\r
                        }\r
 \r
                        /** Reads two bytes from the currently selected endpoint's bank in big endian format, for OUT\r
                        static inline uint16_t Endpoint_Read_Word_BE(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;\r
                        static inline uint16_t Endpoint_Read_Word_BE(void)\r
                        {\r
-                               uint16_t Data;\r
+                               union\r
+                               {\r
+                                       uint16_t Word;\r
+                                       uint8_t  Bytes[2];\r
+                               } Data;\r
                                \r
-                               Data  = (((uint16_t)UEDATX) << 8);\r
-                               Data |= UEDATX;\r
+                               Data.Bytes[1] = UEDATX;\r
+                               Data.Bytes[0] = UEDATX;\r
                        \r
-                               return Data;\r
+                               return Data.Word;\r
                        }\r
 \r
                        /** Writes two bytes to the currently selected endpoint's bank in little endian format, for IN\r
                         */\r
                        uint8_t Endpoint_Write_Stream_LE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);\r
 \r
-                       /** EEPROM buffer source version of \ref Endpoint_Write_Stream_LE.\r
+                       /** EEPROM buffer source version of \ref Endpoint_Write_Stream_LE().\r
                         *\r
                         *  \ingroup Group_EndpointStreamRW\r
                         *\r
                         */\r
                        uint8_t Endpoint_Write_EStream_LE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);\r
 \r
-                       /** FLASH buffer source version of \ref Endpoint_Write_Stream_LE.\r
+                       /** FLASH buffer source version of \ref Endpoint_Write_Stream_LE().\r
                         *\r
                         *  \note The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.\r
                         *\r
                         */\r
                        uint8_t Endpoint_Write_Stream_BE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);\r
 \r
-                       /** EEPROM buffer source version of \ref Endpoint_Write_Stream_BE.\r
+                       /** EEPROM buffer source version of \ref Endpoint_Write_Stream_BE().\r
                         *\r
                         *  \ingroup Group_EndpointStreamRW\r
                         *\r
                         */\r
                        uint8_t Endpoint_Write_EStream_BE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);\r
 \r
-                       /** FLASH buffer source version of \ref Endpoint_Write_Stream_BE.\r
+                       /** FLASH buffer source version of \ref Endpoint_Write_Stream_BE().\r
                         *\r
                         *  \note The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.\r
                         *\r
                         */\r
                        uint8_t Endpoint_Read_Stream_LE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);\r
 \r
-                       /** EEPROM buffer source version of \ref Endpoint_Read_Stream_LE.\r
+                       /** EEPROM buffer source version of \ref Endpoint_Read_Stream_LE().\r
                         *\r
                         *  \ingroup Group_EndpointStreamRW\r
                         *\r
                         */\r
                        uint8_t Endpoint_Read_Stream_BE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);\r
 \r
-                       /** EEPROM buffer source version of \ref Endpoint_Read_Stream_BE.\r
+                       /** EEPROM buffer source version of \ref Endpoint_Read_Stream_BE().\r
                         *\r
                         *  \ingroup Group_EndpointStreamRW\r
                         *\r
                         */\r
                        uint8_t Endpoint_Write_Control_EStream_LE(void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);\r
 \r
-                       /** FLASH buffer source version of \ref Endpoint_Write_Control_Stream_LE.\r
+                       /** FLASH buffer source version of \ref Endpoint_Write_Control_Stream_LE().\r
                         *\r
                         *  \note This function automatically clears the control transfer's status stage. Do not manually attempt\r
                         *        to clear the status stage when using this routine in a control transaction.\r
                         */\r
                        uint8_t Endpoint_Write_Control_Stream_BE(void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);\r
 \r
-                       /** EEPROM buffer source version of \ref Endpoint_Write_Control_Stream_BE.\r
+                       /** EEPROM buffer source version of \ref Endpoint_Write_Control_Stream_BE().\r
                         *\r
                         *  \note This function automatically clears the control transfer's status stage. Do not manually attempt\r
                         *        to clear the status stage when using this routine in a control transaction.\r
                         */\r
                        uint8_t Endpoint_Write_Control_EStream_BE(void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);\r
 \r
-                       /** FLASH buffer source version of \ref Endpoint_Write_Control_Stream_BE.\r
+                       /** FLASH buffer source version of \ref Endpoint_Write_Control_Stream_BE().\r
                         *\r
                         *  \note This function automatically clears the control transfer's status stage. Do not manually attempt\r
                         *        to clear the status stage when using this routine in a control transaction.\r
                         */\r
                        uint8_t Endpoint_Read_Control_Stream_LE(void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);\r
 \r
-                       /** EEPROM buffer source version of \ref Endpoint_Read_Control_Stream_LE.\r
+                       /** EEPROM buffer source version of \ref Endpoint_Read_Control_Stream_LE().\r
                         *\r
                         *  \note This function automatically clears the control transfer's status stage. Do not manually attempt\r
                         *        to clear the status stage when using this routine in a control transaction.\r
                         */\r
                        uint8_t Endpoint_Read_Control_Stream_BE(void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);                \r
                        \r
-                       /** EEPROM buffer source version of \ref Endpoint_Read_Control_Stream_BE.\r
+                       /** EEPROM buffer source version of \ref Endpoint_Read_Control_Stream_BE().\r
                         *\r
                         *  \note This function automatically clears the control transfer's status stage. Do not manually attempt\r
                         *        to clear the status stage when using this routine in a control transaction.\r