* standards.\r
* \param[out] DescriptorAddress Pointer to the descriptor in memory. This should be set by the routine to\r
* the address of the descriptor.\r
+ * \param[out] MemoryAddressSpace A value from the \ref USB_DescriptorMemorySpaces_t enum to indicate the memory\r
+ * space in which the descriptor is stored. This parameter does not exist when one\r
+ * of the USE_*_DESCRIPTORS compile time options is used.\r
*\r
* \note By default, the library expects all descriptors to be located in flash memory via the PROGMEM attribute.\r
* If descriptors should be located in RAM or EEPROM instead (to speed up access in the case of RAM, or to\r
*\r
* \return Size in bytes of the descriptor if it exists, zero or \ref NO_DESCRIPTOR otherwise\r
*/\r
- uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress)\r
+ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress\r
+ #if !defined(USE_FLASH_DESCRIPTORS) && !defined(USE_EEPROM_DESCRIPTORS) && !defined(USE_RAM_DESCRIPTORS)\r
+ , uint8_t* MemoryAddressSpace\r
+ #endif \r
+ )\r
ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);\r
\r
/* Private Interface - For use in library only: */\r