Add in new architecture attribute defines to selectively remove the EEPROM and FLASH...
[pub/USBasp.git] / LUFA / Drivers / USB / Core / EndpointStream.h
index 02a3483..b4454a3 100644 (file)
                        /** \name Stream functions for EEPROM source/destination data */\r
                        //@{\r
 \r
+                       #if defined(ARCH_HAS_EEPROM_ADDRESS_SPACE) || defined(__DOXYGEN__)\r
                        /** EEPROM buffer source version of \ref Endpoint_Write_Stream_LE().\r
                         *\r
+                        *  \note This function is not available on all architectures.\r
+                        *\r
                         *  \param[in] Buffer          Pointer to the source data buffer to read from.\r
                         *  \param[in] Length          Number of bytes to read for the currently selected endpoint into the buffer.\r
                         *  \param[in] BytesProcessed  Pointer to a location where the total number of bytes processed in the current\r
 \r
                        /** EEPROM buffer source version of \ref Endpoint_Write_Stream_BE().\r
                         *\r
+                        *  \note This function is not available on all architectures.\r
+                        *\r
                         *  \param[in] Buffer          Pointer to the source data buffer to read from.\r
                         *  \param[in] Length          Number of bytes to read for the currently selected endpoint into the buffer.\r
                         *  \param[in] BytesProcessed  Pointer to a location where the total number of bytes processed in the current\r
 \r
                        /** EEPROM buffer source version of \ref Endpoint_Read_Stream_LE().\r
                         *\r
+                        *  \note This function is not available on all architectures.\r
+                        *\r
                         *  \param[out] Buffer          Pointer to the destination data buffer to write to, located in EEPROM memory space.\r
                         *  \param[in]  Length          Number of bytes to send via the currently selected endpoint.\r
                         *  \param[in]  BytesProcessed  Pointer to a location where the total number of bytes processed in the current\r
 \r
                        /** EEPROM buffer source version of \ref Endpoint_Read_Stream_BE().\r
                         *\r
+                        *  \note This function is not available on all architectures.\r
+                        *\r
                         *  \param[out] Buffer          Pointer to the destination data buffer to write to, located in EEPROM memory space.\r
                         *  \param[in]  Length          Number of bytes to send via the currently selected endpoint.\r
                         *  \param[in]  BytesProcessed  Pointer to a location where the total number of bytes processed in the current\r
                         *        \n\n\r
                         *\r
                         *  \note This routine should only be used on CONTROL type endpoints.\r
+                        *        \n\n\r
+                        *\r
+                        *  \note This function is not available on all architectures.\r
                         *\r
                         *  \warning Unlike the standard stream read/write commands, the control stream commands cannot be chained\r
                         *           together; i.e. the entire stream data must be read or written at the one time.\r
                         *        \n\n\r
                         *\r
                         *  \note This routine should only be used on CONTROL type endpoints.\r
+                        *        \n\n\r
+                        *\r
+                        *  \note This function is not available on all architectures.\r
                         *\r
                         *  \warning Unlike the standard stream read/write commands, the control stream commands cannot be chained\r
                         *           together; i.e. the entire stream data must be read or written at the one time.\r
                         *        \n\n\r
                         *\r
                         *  \note This routine should only be used on CONTROL type endpoints.\r
+                        *        \n\n\r
+                        *\r
+                        *  \note This function is not available on all architectures.\r
                         *\r
                         *  \warning Unlike the standard stream read/write commands, the control stream commands cannot be chained\r
                         *           together; i.e. the entire stream data must be read or written at the one time.\r
                         *        \n\n\r
                         *\r
                         *  \note This routine should only be used on CONTROL type endpoints.\r
+                        *        \n\n\r
+                        *\r
+                        *  \note This function is not available on all architectures.\r
                         *\r
                         *  \warning Unlike the standard stream read/write commands, the control stream commands cannot be chained\r
                         *           together; i.e. the entire stream data must be read or written at the one time.\r
                         */\r
                        uint8_t Endpoint_Read_Control_EStream_BE(void* const Buffer,\r
                                                                 uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);\r
+                       #endif\r
                        //@}\r
 \r
                        /** \name Stream functions for PROGMEM source/destination data */\r
                        //@{\r
 \r
+                       #if defined(ARCH_HAS_FLASH_ADDRESS_SPACE) || defined(__DOXYGEN__)\r
                        /** FLASH buffer source version of \ref Endpoint_Write_Stream_LE().\r
                         *\r
                         *  \pre The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.\r
                         *\r
+                        *  \note This function is not available on all architectures.\r
+                        *\r
                         *  \param[in] Buffer          Pointer to the source data buffer to read from.\r
                         *  \param[in] Length          Number of bytes to read for the currently selected endpoint into the buffer.\r
                         *  \param[in] BytesProcessed  Pointer to a location where the total number of bytes processed in the current\r
                         *\r
                         *  \pre The FLASH data must be located in the first 64KB of FLASH for this function to work correctly.\r
                         *\r
+                        *  \note This function is not available on all architectures.\r
+                        *\r
                         *  \param[in] Buffer          Pointer to the source data buffer to read from.\r
                         *  \param[in] Length          Number of bytes to read for the currently selected endpoint into the buffer.\r
                         *  \param[in] BytesProcessed  Pointer to a location where the total number of bytes processed in the current\r
                         *        \n\n\r
                         *\r
                         *  \note This routine should only be used on CONTROL type endpoints.\r
+                        *        \n\n\r
+                        *\r
+                        *  \note This function is not available on all architectures.\r
                         *\r
                         *  \warning Unlike the standard stream read/write commands, the control stream commands cannot be chained\r
                         *           together; i.e. the entire stream data must be read or written at the one time.\r
                         *        \n\n\r
                         *\r
                         *  \note This routine should only be used on CONTROL type endpoints.\r
+                        *        \n\n\r
+                        *\r
+                        *  \note This function is not available on all architectures.\r
                         *\r
                         *  \warning Unlike the standard stream read/write commands, the control stream commands cannot be chained\r
                         *           together; i.e. the entire stream data must be read or written at the one time.\r
                         */\r
                        uint8_t Endpoint_Write_Control_PStream_BE(const void* const Buffer,\r
                                                                  uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);\r
+                       #endif\r
                        //@}\r
 \r
        /* Disable C linkage for C++ Compilers: */\r