aboutsummaryrefslogtreecommitdiffstats
path: root/Projects/Webserver/Descriptors.h
diff options
context:
space:
mode:
authorskullydazed <skullydazed@users.noreply.github.com>2019-07-07 10:59:58 -0700
committerGitHub <noreply@github.com>2019-07-07 10:59:58 -0700
commit04a7f66421ac141a8927491fa61e4f8e425accad (patch)
tree027bafce1cd12c31e84a758bea24d5fdb78226cb /Projects/Webserver/Descriptors.h
parentd0fd80affba97b37eb00c650e87cb5982a4f260e (diff)
parent57edb9b0976fad82bfd0384b16c6c3269e0d19ce (diff)
downloadlufa-04a7f66421ac141a8927491fa61e4f8e425accad.tar.gz
lufa-04a7f66421ac141a8927491fa61e4f8e425accad.tar.bz2
lufa-04a7f66421ac141a8927491fa61e4f8e425accad.zip
Merge pull request #2 from drashna/master
Update LUFA repo from upstream
Diffstat (limited to 'Projects/Webserver/Descriptors.h')
-rw-r--r--Projects/Webserver/Descriptors.h26
1 files changed, 24 insertions, 2 deletions
diff --git a/Projects/Webserver/Descriptors.h b/Projects/Webserver/Descriptors.h
index 66da1b654..824a13f3a 100644
--- a/Projects/Webserver/Descriptors.h
+++ b/Projects/Webserver/Descriptors.h
@@ -1,13 +1,13 @@
/*
LUFA Library
- Copyright (C) Dean Camera, 2017.
+ Copyright (C) Dean Camera, 2019.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
- Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+ Copyright 2019 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
@@ -68,6 +68,10 @@
/** Size in bytes of the CDC data IN and OUT endpoints. */
#define CDC_TXRX_EPSIZE 64
+ /** Vendor request (0-255) the host should issue to retrieve the
+ * Microsoft OS Compatibility Descriptors. */
+ #define VENDOR_REQUEST_ID_MS_COMPAT 0x01
+
/* Type Defines: */
/** Type define for the device configuration descriptor structure. This must be defined in the
* application code, as the configuration descriptor contains several sub-descriptors which
@@ -96,6 +100,21 @@
USB_Descriptor_Endpoint_t MS_DataOutEndpoint;
} USB_Descriptor_Configuration_t;
+ /** Type define for a Microsoft OS Compatibility 1.0 descriptor. */
+ typedef struct
+ {
+ uint32_t dwLength;
+ uint16_t bcdVersion;
+ uint16_t wIndex;
+ uint8_t bCount;
+ uint8_t bReserved[7];
+ uint8_t bFirstInterfaceNumber;
+ uint8_t bReserved2;
+ char compatibleID[8];
+ char subCompatibleID[8];
+ uint8_t bReserved3[6];
+ } USB_Descriptor_MSCompatibility_t;
+
/** Enum for the device interface descriptor IDs within the device. Each interface descriptor
* should have a unique ID index associated with it, which can be used to refer to the
* interface from other descriptors.
@@ -116,6 +135,7 @@
STRING_ID_Language = 0, /**< Supported Languages string descriptor ID (must be zero) */
STRING_ID_Manufacturer = 1, /**< Manufacturer string ID */
STRING_ID_Product = 2, /**< Product string ID */
+ STRING_ID_MS_Compat = 0xEE, /**< MS OS Compatibility string descriptor ID (magic value set by Microsoft) */
};
/* Function Prototypes: */
@@ -124,5 +144,7 @@
const void** const DescriptorAddress)
ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);
+ void CheckIfMSCompatibilityDescriptorRequest(void);
+
#endif