From d49cc0f7830319e701294e19937fae4de26ae8e2 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Thu, 11 Feb 2010 04:05:02 +0000 Subject: Add more include protection macros to give the user warnings when they try to manually include private driver header files, instead of the public driver headers. --- LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c | 1 + LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h | 5 +++++ LUFA/Drivers/USB/HighLevel/Events.c | 5 ++--- LUFA/Drivers/USB/HighLevel/Events.h | 9 +++++++-- LUFA/Drivers/USB/HighLevel/StdDescriptors.h | 5 +++++ LUFA/Drivers/USB/HighLevel/StdRequestType.h | 5 +++++ LUFA/Drivers/USB/HighLevel/StreamCallbacks.h | 5 +++++ LUFA/Drivers/USB/HighLevel/USBInterrupt.c | 1 + LUFA/Drivers/USB/HighLevel/USBInterrupt.h | 5 +++++ LUFA/Drivers/USB/HighLevel/USBMode.h | 5 +++++ LUFA/Drivers/USB/HighLevel/USBTask.c | 5 ++--- LUFA/Drivers/USB/HighLevel/USBTask.h | 7 ++++++- 12 files changed, 49 insertions(+), 9 deletions(-) (limited to 'LUFA/Drivers/USB/HighLevel') diff --git a/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c b/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c index 6dd36cd46..270a98aeb 100644 --- a/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c +++ b/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c @@ -28,6 +28,7 @@ this software. */ +#define __INCLUDE_FROM_USB_DRIVER #include "ConfigDescriptor.h" #if defined(USB_CAN_BE_HOST) diff --git a/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h b/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h index df5109d20..454f0b61c 100644 --- a/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h +++ b/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.h @@ -59,6 +59,11 @@ extern "C" { #endif + /* Preprocessor Checks: */ + #if !defined(__INCLUDE_FROM_USB_DRIVER) + #error Do not include this file directly. Include LUFA/Drivers/USB.h instead. + #endif + /* Public Interface - May be used in end-application: */ /* Macros: */ /** Mask for determining the type of an endpoint from an endpoint descriptor. This should then be compared diff --git a/LUFA/Drivers/USB/HighLevel/Events.c b/LUFA/Drivers/USB/HighLevel/Events.c index dcf9fcc21..4d9990788 100644 --- a/LUFA/Drivers/USB/HighLevel/Events.c +++ b/LUFA/Drivers/USB/HighLevel/Events.c @@ -28,9 +28,8 @@ this software. */ -#include "USBMode.h" - -#define INCLUDE_FROM_EVENTS_C +#define __INCLUDE_FROM_EVENTS_C +#define __INCLUDE_FROM_USB_DRIVER #include "Events.h" void USB_Event_Stub(void) diff --git a/LUFA/Drivers/USB/HighLevel/Events.h b/LUFA/Drivers/USB/HighLevel/Events.h index 08727d749..12b30b250 100644 --- a/LUFA/Drivers/USB/HighLevel/Events.h +++ b/LUFA/Drivers/USB/HighLevel/Events.h @@ -60,9 +60,14 @@ extern "C" { #endif + /* Preprocessor Checks: */ + #if !defined(__INCLUDE_FROM_USB_DRIVER) + #error Do not include this file directly. Include LUFA/Drivers/USB.h instead. + #endif + /* Public Interface - May be used in end-application: */ /* Pseudo-Functions for Doxygen: */ - #if !defined(INCLUDE_FROM_EVENTS_C) || defined(__DOXYGEN__) + #if !defined(__INCLUDE_FROM_EVENTS_C) || defined(__DOXYGEN__) /** Event for USB stack initialization failure. This event fires when the USB interface fails to * initialize correctly due to a hardware or software fault. * @@ -287,7 +292,7 @@ /* Private Interface - For use in library only: */ #if !defined(__DOXYGEN__) /* Function Prototypes: */ - #if defined(INCLUDE_FROM_EVENTS_C) + #if defined(__INCLUDE_FROM_EVENTS_C) void USB_Event_Stub(void) ATTR_CONST; #if defined(USB_CAN_BE_BOTH) diff --git a/LUFA/Drivers/USB/HighLevel/StdDescriptors.h b/LUFA/Drivers/USB/HighLevel/StdDescriptors.h index 404a44f2c..807eb78f8 100644 --- a/LUFA/Drivers/USB/HighLevel/StdDescriptors.h +++ b/LUFA/Drivers/USB/HighLevel/StdDescriptors.h @@ -58,6 +58,11 @@ extern "C" { #endif + /* Preprocessor Checks: */ + #if !defined(__INCLUDE_FROM_USB_DRIVER) + #error Do not include this file directly. Include LUFA/Drivers/USB.h instead. + #endif + /* Public Interface - May be used in end-application: */ /* Macros: */ /** Indicates that a given descriptor does not exist in the device. This can be used inside descriptors diff --git a/LUFA/Drivers/USB/HighLevel/StdRequestType.h b/LUFA/Drivers/USB/HighLevel/StdRequestType.h index a887b5cdc..4fad0378b 100644 --- a/LUFA/Drivers/USB/HighLevel/StdRequestType.h +++ b/LUFA/Drivers/USB/HighLevel/StdRequestType.h @@ -40,6 +40,11 @@ #ifndef __STDREQTYPE_H__ #define __STDREQTYPE_H__ + /* Preprocessor Checks: */ + #if !defined(__INCLUDE_FROM_USB_DRIVER) + #error Do not include this file directly. Include LUFA/Drivers/USB.h instead. + #endif + /* Public Interface - May be used in end-application: */ /* Macros: */ /** Mask for the request type parameter, to indicate the direction of the request data (Host to Device diff --git a/LUFA/Drivers/USB/HighLevel/StreamCallbacks.h b/LUFA/Drivers/USB/HighLevel/StreamCallbacks.h index c502330d6..3d30655ec 100644 --- a/LUFA/Drivers/USB/HighLevel/StreamCallbacks.h +++ b/LUFA/Drivers/USB/HighLevel/StreamCallbacks.h @@ -41,6 +41,11 @@ #ifndef __STREAMCALLBACK_H__ #define __STREAMCALLBACK_H__ + /* Preprocessor Checks: */ + #if !defined(__INCLUDE_FROM_USB_DRIVER) + #error Do not include this file directly. Include LUFA/Drivers/USB.h instead. + #endif + /* Public Interface - May be used in end-application: */ /* Macros: */ /** Used with the Endpoint and Pipe stream functions as the callback function parameter, indicating that the stream diff --git a/LUFA/Drivers/USB/HighLevel/USBInterrupt.c b/LUFA/Drivers/USB/HighLevel/USBInterrupt.c index ee6d16efc..f8da7e656 100644 --- a/LUFA/Drivers/USB/HighLevel/USBInterrupt.c +++ b/LUFA/Drivers/USB/HighLevel/USBInterrupt.c @@ -28,6 +28,7 @@ this software. */ +#define __INCLUDE_FROM_USB_DRIVER #include "USBInterrupt.h" void USB_INT_DisableAllInterrupts(void) diff --git a/LUFA/Drivers/USB/HighLevel/USBInterrupt.h b/LUFA/Drivers/USB/HighLevel/USBInterrupt.h index 5aa10db08..6ff7c70fa 100644 --- a/LUFA/Drivers/USB/HighLevel/USBInterrupt.h +++ b/LUFA/Drivers/USB/HighLevel/USBInterrupt.h @@ -45,6 +45,11 @@ extern "C" { #endif + /* Preprocessor Checks: */ + #if !defined(__INCLUDE_FROM_USB_DRIVER) + #error Do not include this file directly. Include LUFA/Drivers/USB.h instead. + #endif + /* Private Interface - For use in library only: */ #if !defined(__DOXYGEN__) /* Macros: */ diff --git a/LUFA/Drivers/USB/HighLevel/USBMode.h b/LUFA/Drivers/USB/HighLevel/USBMode.h index 0f2ecab88..ba2d45394 100644 --- a/LUFA/Drivers/USB/HighLevel/USBMode.h +++ b/LUFA/Drivers/USB/HighLevel/USBMode.h @@ -43,6 +43,11 @@ #ifndef __USBMODE_H__ #define __USBMODE_H__ + /* Preprocessor Checks: */ + #if !defined(__INCLUDE_FROM_USB_DRIVER) + #error Do not include this file directly. Include LUFA/Drivers/USB.h instead. + #endif + /* Public Interface - May be used in end-application: */ #if defined(__DOXYGEN__) /** Indicates that the target AVR microcontroller belongs to the Series 2 USB controller diff --git a/LUFA/Drivers/USB/HighLevel/USBTask.c b/LUFA/Drivers/USB/HighLevel/USBTask.c index af3d7da90..afddcc1e5 100644 --- a/LUFA/Drivers/USB/HighLevel/USBTask.c +++ b/LUFA/Drivers/USB/HighLevel/USBTask.c @@ -28,9 +28,8 @@ this software. */ -#include "USBMode.h" - -#define INCLUDE_FROM_USBTASK_C +#define __INCLUDE_FROM_USBTASK_C +#define __INCLUDE_FROM_USB_DRIVER #include "USBTask.h" volatile bool USB_IsInitialized; diff --git a/LUFA/Drivers/USB/HighLevel/USBTask.h b/LUFA/Drivers/USB/HighLevel/USBTask.h index 68d04af66..c01b84c37 100644 --- a/LUFA/Drivers/USB/HighLevel/USBTask.h +++ b/LUFA/Drivers/USB/HighLevel/USBTask.h @@ -54,6 +54,11 @@ #if defined(__cplusplus) extern "C" { #endif + + /* Preprocessor Checks: */ + #if !defined(__INCLUDE_FROM_USB_DRIVER) + #error Do not include this file directly. Include LUFA/Drivers/USB.h instead. + #endif /* Public Interface - May be used in end-application: */ /* Global Variables: */ @@ -164,7 +169,7 @@ /* Private Interface - For use in library only: */ #if !defined(__DOXYGEN__) /* Function Prototypes: */ - #if defined(INCLUDE_FROM_USBTASK_C) + #if defined(__INCLUDE_FROM_USBTASK_C) #if defined(USB_CAN_BE_HOST) static void USB_HostTask(void); #endif -- cgit v1.2.3