#include "Endianness.h"
                #elif (ARCH == ARCH_UC3)
                        #include <avr32/io.h>
+                       #include <math.h>
 
                        // === TODO: Find abstracted way to handle these ===
-                       #define PROGMEM                  const
+                       #define PROGMEM                  
                        #define pgm_read_byte(x)         *x
                        #define memcmp_P(...)            memcmp(__VA_ARGS__)
                        #define memcpy_P(...)            memcpy(__VA_ARGS__)
 
                         */
                        void CDC_Device_SendControlLineStateChange(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
 
+                       #if defined(FDEV_SETUP_STREAM) || defined(__DOXYGEN__)
                        /** Creates a standard character stream for the given CDC Device instance so that it can be used with all the regular
                         *  functions in the standard <stdio.h> library that accept a \c FILE stream as a destination (e.g. \c fprintf()). The created
                         *  stream is bidirectional and can be used for both input and output functions.
                         */
                        void CDC_Device_CreateBlockingStream(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo,
                                                             FILE* const Stream) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
-
+                       #endif
+                       
        /* Private Interface - For use in library only: */
        #if !defined(__DOXYGEN__)
                /* Function Prototypes: */
 
                         */
                        uint8_t CDC_Host_Flush(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
 
+                       #if defined(FDEV_SETUP_STREAM) || defined(__DOXYGEN__)
                        /** Creates a standard character stream for the given CDC Device instance so that it can be used with all the regular
                         *  functions in the standard \c <stdio.h> library that accept a \c FILE stream as a destination (e.g. \c fprintf). The created
                         *  stream is bidirectional and can be used for both input and output functions.
                         */
                        void CDC_Host_CreateBlockingStream(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo,
                                                           FILE* const Stream);
-
+                       #endif
+                       
                        /** CDC class driver event for a control line state change on a CDC host interface. This event fires each time the device notifies
                         *  the host of a control line state change (containing the virtual serial control line states, such as DCD) and may be hooked in the
                         *  user program by declaring a handler function with the same name and parameters listed here. The new control line states