1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- #ifndef _ALARM_H_
- #define _ALARM_H_
- #ifdef __cplusplus
- extern "C" {
- #endif
- struct alarm_config {
- uint32_t alarm_msec;
- void (*cb_fn)(const void *cb_data);
- const void *cb_data;
- };
- struct alarm_status {
- uint32_t alarm_msec;
- bool is_on;
- };
- struct alarm_driver_api {
- int (*set_alarm)(const struct device *dev, struct alarm_config *config, bool enable);
- int (*get_alarm)(const struct device *dev, struct alarm_status *sts);
- bool (*is_alarm_wakeup)(const struct device *dev);
- };
- static inline int acts_alarm_set_alarm(const struct device *dev, struct alarm_config *config, bool enable)
- {
- const struct alarm_driver_api *api = dev->api;
- return api->set_alarm(dev, config, enable);
- }
- static inline int acts_alarm_get_alarm(const struct device *dev, struct alarm_status *sts)
- {
- const struct alarm_driver_api *api = dev->api;
- return api->get_alarm(dev, sts);
- }
- static inline bool acts_is_alarm_wakeup(const struct device *dev)
- {
- struct alarm_driver_api *api = (struct alarm_driver_api *)dev->api;
- return api->is_alarm_wakeup(dev);
- }
- #ifdef __cplusplus
- }
- #endif
- #endif
|