1 #ifndef __GENIE_SAL_LPM_H__
2 #define __GENIE_SAL_LPM_H__
3 #include <types.h>
4 
5 typedef void (*genie_io_wakeup_cb)(void *arg);
6 
7 enum io_pol
8 {
9     FALLING = 0,
10     RISING = 1,
11     ACT_LOW = 2,
12     ACT_HIGH = 3,
13 };
14 
15 void genie_sal_sleep_enable();
16 void genie_sal_sleep_disable();
17 int genie_sal_sleep_enter_standby();
18 int genie_sal_sleep_wakup_io_set(uint8_t port, uint8_t pol);
19 bool genie_sal_sleep_wakeup_io_get_status(uint8_t port);
20 int genie_sal_io_wakeup_cb_register(genie_io_wakeup_cb cb);
21 int genie_sal_io_wakeup_cb_unregister();
22 
23 #endif
24