Библиотека LUFA (раннее название MyUSB) версия 101122
ConfigDescriptor.h File Reference

API парсера дескриптора конфигурации. More...

#include <stdint.h>
#include "../../../Common/Common.h"
#include "HostStandardReq.h"
#include "USBMode.h"
#include "StdDescriptors.h"

Defines

#define EP_TYPE_MASK   0x03
#define DESCRIPTOR_PCAST(DescriptorPtr, Type)   ((Type*)(DescriptorPtr))
#define DESCRIPTOR_CAST(DescriptorPtr, Type)   (*DESCRIPTOR_PCAST(DescriptorPtr, Type))
#define DESCRIPTOR_TYPE(DescriptorPtr)   DESCRIPTOR_PCAST(DescriptorPtr, USB_Descriptor_Header_t)->Type
#define DESCRIPTOR_SIZE(DescriptorPtr)   DESCRIPTOR_PCAST(DescriptorPtr, USB_Descriptor_Header_t)->Size

Typedefs

typedef uint8_t(* ConfigComparatorPtr_t )(void *)

Enumerations

enum  USB_Host_GetConfigDescriptor_ErrorCodes_t {
  HOST_GETCONFIG_Successful = 0,
  HOST_GETCONFIG_DeviceDisconnect = 1,
  HOST_GETCONFIG_PipeError = 2,
  HOST_GETCONFIG_SetupStalled = 3,
  HOST_GETCONFIG_SoftwareTimeOut = 4,
  HOST_GETCONFIG_BuffOverflow = 5,
  HOST_GETCONFIG_InvalidData = 6
}
enum  DSearch_Return_ErrorCodes_t {
  DESCRIPTOR_SEARCH_Found = 0,
  DESCRIPTOR_SEARCH_Fail = 1,
  DESCRIPTOR_SEARCH_NotFound = 2
}
enum  DSearch_Comp_Return_ErrorCodes_t {
  DESCRIPTOR_SEARCH_COMP_Found = 0,
  DESCRIPTOR_SEARCH_COMP_Fail = 1,
  DESCRIPTOR_SEARCH_COMP_EndOfDescriptor = 2
}

Functions

uint8_t USB_Host_GetDeviceConfigDescriptor (uint8_t ConfigNumber, uint16_t *const ConfigSizePtr, void *BufferPtr, uint16_t BufferSize) ATTR_NON_NULL_PTR_ARG(2) ATTR_NON_NULL_PTR_ARG(3)
void USB_GetNextDescriptorOfType (uint16_t *const BytesRem, void **const CurrConfigLoc, const uint8_t Type) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2)
void USB_GetNextDescriptorOfTypeBefore (uint16_t *const BytesRem, void **const CurrConfigLoc, const uint8_t Type, const uint8_t BeforeType) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2)
void USB_GetNextDescriptorOfTypeAfter (uint16_t *const BytesRem, void **const CurrConfigLoc, const uint8_t Type, const uint8_t AfterType) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2)
uint8_t USB_GetNextDescriptorComp (uint16_t *const BytesRem, void **const CurrConfigLoc, ConfigComparatorPtr_t const ComparatorRoutine)
static void USB_GetNextDescriptor (uint16_t *const BytesRem, void **CurrConfigLoc) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2)

Detailed Description

Эта секция библиотеки предоставляет дружественное API, которое можно использовать в приложениях хоста для простого парсинга декскриптора конфигурации подключенного устройства, благодаря чему данные конечной точки, интерфейса и другие данные дескриптора могут быть распакованы и использованы в нужных целях.

Note:
Этот файл не должен включаться (include) самостоятельно. Он автоматически подключается при необходимости диспетчером заголовков драйвера USB, находящемся в LUFA/Drivers/USB/USB.h.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines