#ifndef SLEEP_AND_EXTI_H #define SLEEP_AND_EXTI_H typedef enum { eSleepManager_Error, eSleepManager_GenericWakeup, eSleepManager_USBPlugWakeup, } eSleepManager_WakeupReason_t; typedef struct { bool (*Init)(); bool (*SetUSBWakeup)( bool state ); eSleepManager_WakeupReason_t (*Sleep)(); eSleepManager_WakeupReason_t (*SleepTimeout)( uint32_t timeout ); bool (*GetUSBPlugged)(); bool (*GetUSBActive)(); void (*DeInit)(); } sSleepManager_Handle_t; typedef struct { void (*USBSuspendEvent)(); void (*USBResumeEvent)(); } sSleepManager_Notify_t; extern const sSleepManager_Handle_t SleepManagerHandle; extern const sSleepManager_Notify_t SleepManagerNotify; #endif