-               /** Structure for a CDC class Functional descriptor, with a given data size. This is used instead of a
-                *  type define so that the same macro can be used for functional descriptors of varying data lengths,
-                *  while allowing the sizeof() operator to return correct results.
-                *
-                *  \param[in] DataSize  Size of the functional descriptor's data payload, in bytes
-                */
-               #define CDC_FUNCTIONAL_DESCRIPTOR(DataSize)        \
-                    struct                                        \
-                    {                                             \
-                         USB_Descriptor_Header_t Header;          \
-                             uint8_t                 SubType;         \
-                         uint8_t                 Data[DataSize];  \
-                    }
-
-               /** Endpoint number for the CDC control interface event notification endpoint. */
-               #define CDC_NOTIFICATION_EPNUM         3
-
-               /** Size of the CDC control interface notification endpoint bank, in bytes. */
-               #define CDC_NOTIFICATION_EPSIZE        8
+               /** Endpoint address for the CDC control interface event notification endpoint. */
+               #define CDC_NOTIFICATION_EPADDR        (ENDPOINT_DIR_IN | 2)