-                       /** Sends a Remote Wakeup request to the host. This signals to the host that the device should\r
-                        *  be taken out of suspended mode, and communications should resume.\r
-                        *\r
-                        *  Typically, this is implemented so that HID devices (mice, keyboards, etc.) can wake up the\r
-                        *  host computer when the host has suspended all USB devices to enter a low power state.\r
-                        *\r
-                        *  \note This macro should only be used if the device has indicated to the host that it\r
-                        *        supports the Remote Wakeup feature in the device descriptors, and should only be\r
-                        *        issued if the host is currently allowing remote wakeup events from the device (i.e.,\r
-                        *        the USB_RemoteWakeupEnabled flag is set, see DevChapter9.h documentation).\r
-                        *\r
-                        *  \see StdDescriptors.h for more information on the RMWAKEUP feature and device descriptors.\r
-                        */\r
-                       #define USB_Device_SendRemoteWakeup()   MACROS{ UDCON |= (1 << RMWKUP); }MACROE\r
+               /* Pseudo-Function Macros: */\r
+                       #if defined(__DOXYGEN__)\r
+                               /** Sends a Remote Wakeup request to the host. This signals to the host that the device should\r
+                                *  be taken out of suspended mode, and communications should resume.\r
+                                *\r
+                                *  Typically, this is implemented so that HID devices (mice, keyboards, etc.) can wake up the\r
+                                *  host computer when the host has suspended all USB devices to enter a low power state.\r
+                                *\r
+                                *  \note This macro should only be used if the device has indicated to the host that it\r
+                                *        supports the Remote Wakeup feature in the device descriptors, and should only be\r
+                                *        issued if the host is currently allowing remote wakeup events from the device (i.e.,\r
+                                *        the \ref USB_RemoteWakeupEnabled flag is set).\r
+                                *\r
+                                *  \see \ref Group_Descriptors for more information on the RMWAKEUP feature and device descriptors.\r
+                                */\r
+                               static inline void USB_Device_SendRemoteWakeup(void);\r
+                               \r
+                               /** Indicates if a Remote Wakeup request is being sent to the host. This returns true if a\r
+                                *  remote wakeup is currently being sent, false otherwise.\r
+                                *\r
+                                *  This can be used in conjunction with the \ref USB_Device_IsUSBSuspended() macro to determine if\r
+                                *  a sent RMWAKEUP request was accepted or rejected by the host.\r
+                                *\r
+                                *  \note This macro should only be used if the device has indicated to the host that it\r
+                                *        supports the Remote Wakeup feature in the device descriptors.\r
+                                *\r
+                                *  \see \ref Group_Descriptors for more information on the RMWAKEUP feature and device descriptors.\r
+                                *\r
+                                *  \return Boolean true if no Remote Wakeup request is currently being sent, false otherwise\r
+                                */\r
+                               static inline bool USB_Device_IsRemoteWakeupSent(void);\r
+                               \r
+                               /** Indicates if the device is currently suspended by the host. Whilst suspended, the device is\r
+                                *  to enter a low power state until resumed by the host. No USB traffic to or from the device\r
+                                *  can occur (except for Remote Wakeup requests) during suspension by the host.\r
+                                *\r
+                                *  \return Boolean true if the USB communications have been suspended by the host, false otherwise.\r
+                                */\r
+                               static inline bool USB_Device_IsUSBSuspended(void);\r
+                               \r
+                               /** Enables the device mode Start Of Frame events. When enabled, this causes the\r
+                                *  \ref EVENT_USB_Device_StartOfFrame() event to fire once per millisecond, synchronized to the USB bus,\r
+                                *  at the start of each USB frame when enumerated in device mode.\r
+                                */\r
+                               static inline bool USB_Device_EnableSOFEvents(void);\r
+                               \r
+                               /** Disables the device mode Start Of Frame events. When disabled, this stop the firing of the\r
+                                *  \ref EVENT_USB_Device_StartOfFrame() event when enumerated in device mode.\r
+                                */\r
+                               static inline bool USB_Device_DisableSOFEvents(void);\r
+                       #else\r
+                               #define USB_Device_SendRemoteWakeup()   MACROS{ UDCON |= (1 << RMWKUP); }MACROE\r