Small tweaks to ConfigDescriptor.c/.h to ensure pointers use the correct type, and to remove const attribute from the descriptor comparator callback function pointer type define, and into the function prototype instead.

This commit is contained in:
Dean Camera 2010-05-30 14:01:41 +00:00
parent e95c96ea20
commit 152b2764c3
4 changed files with 14 additions and 12 deletions

View File

@ -85,7 +85,9 @@ F_CPU = 8000000
F_CLOCK = $(F_CPU)
# Starting byte address of the bootloader
# Starting byte address of the bootloader, as a byte address. Note that the address given
# in the AVRStudio fuse programming dialogue uses word addresses, which will have to be
# doubled to obtain the starting byte address of the bootloader section.
BOOT_START = 0x1E000

View File

@ -85,7 +85,9 @@ F_CPU = 8000000
F_CLOCK = $(F_CPU)
# Starting byte address of the bootloader
# Starting byte address of the bootloader, as a byte address. Note that the address given
# in the AVRStudio fuse programming dialogue uses word addresses, which will have to be
# doubled to obtain the starting byte address of the bootloader section.
BOOT_START = 0x1E000

View File

@ -114,17 +114,17 @@ void USB_GetNextDescriptorOfTypeAfter(uint16_t* const BytesRem,
USB_GetNextDescriptorOfType(BytesRem, CurrConfigLoc, Type);
}
uint8_t USB_GetNextDescriptorComp(uint16_t* BytesRem, void** CurrConfigLoc, ConfigComparatorPtr_t ComparatorRoutine)
uint8_t USB_GetNextDescriptorComp(uint16_t* BytesRem, void** CurrConfigLoc, ConfigComparatorPtr_t const ComparatorRoutine)
{
uint8_t ErrorCode;
while (*BytesRem)
{
uint8_t* PrevDescLoc = *CurrConfigLoc;
uint16_t PrevBytesRem = *BytesRem;
void* PrevDescLoc = *CurrConfigLoc;
uint16_t PrevBytesRem = *BytesRem;
USB_GetNextDescriptor(BytesRem, CurrConfigLoc);
if ((ErrorCode = ComparatorRoutine(*CurrConfigLoc)) != DESCRIPTOR_SEARCH_NotFound)
{
if (ErrorCode == DESCRIPTOR_SEARCH_Fail)

View File

@ -118,7 +118,7 @@
*
* \see \ref USB_GetNextDescriptorComp function for more details
*/
typedef uint8_t (* const ConfigComparatorPtr_t)(void*);
typedef uint8_t (* ConfigComparatorPtr_t)(void*);
/* Function Prototypes: */
/** Searches for the next descriptor in the given configuration descriptor using a premade comparator
@ -161,7 +161,7 @@
* }
* \endcode
*/
uint8_t USB_GetNextDescriptorComp(uint16_t* BytesRem, void** CurrConfigLoc, ConfigComparatorPtr_t ComparatorRoutine);
uint8_t USB_GetNextDescriptorComp(uint16_t* BytesRem, void** CurrConfigLoc, ConfigComparatorPtr_t const ComparatorRoutine);
/* Enums: */
/** Enum for the possible return codes of the \ref USB_Host_GetDeviceConfigDescriptor() function. */
@ -264,11 +264,9 @@
* \param[in,out] BytesRem Pointer to the number of bytes remaining of the configuration descriptor
* \param[in,out] CurrConfigLoc Pointer to the current descriptor inside the configuration descriptor
*/
static inline void USB_GetNextDescriptor(uint16_t* const BytesRem,
void** const CurrConfigLoc)
static inline void USB_GetNextDescriptor(uint16_t* const BytesRem, void** CurrConfigLoc)
ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
static inline void USB_GetNextDescriptor(uint16_t* const BytesRem,
void** const CurrConfigLoc)
static inline void USB_GetNextDescriptor(uint16_t* const BytesRem, void** CurrConfigLoc)
{
uint16_t CurrDescriptorSize = DESCRIPTOR_CAST(*CurrConfigLoc, USB_Descriptor_Header_t).Size;