- /** Returns true if the attached device is currently issuing a Remote Wakeup request, requesting\r
- * that the host resume the USB bus and wake up the device, false otherwise.\r
- */\r
- #define USB_Host_IsRemoteWakeupSent() ((UHINT & (1 << RXRSMI)) ? true : false)\r
+ /** Suspends the USB bus, preventing any communications from occurring between the host and attached\r
+ * device until the bus has been resumed. This stops the transmission of the 1MS Start Of Frame\r
+ * messages to the device.\r
+ */\r
+ static inline void USB_Host_SuspendBus(void);\r
+ \r
+ /** Determines if the USB bus has been suspended via the use of the \ref USB_Host_SuspendBus() macro,\r
+ * false otherwise. While suspended, no USB communications can occur until the bus is resumed,\r
+ * except for the Remote Wakeup event from the device if supported.\r
+ *\r
+ * \return Boolean true if the bus is currently suspended, false otherwise\r
+ */\r
+ static inline bool USB_Host_IsBusSuspended(void);\r
+ \r
+ /** Determines if the attached device is currently enumerated in Full Speed mode (12Mb/s), or\r
+ * false if the attached device is enumerated in Low Speed mode (1.5Mb/s).\r
+ *\r
+ * \return Boolean true if the attached device is enumerated in Full Speed mode, false otherwise\r
+ */\r
+ static inline bool USB_Host_IsDeviceFullSpeed(void);\r