Files
2023-03-22 17:42:02 -04:00

42 lines
894 B
C

#ifndef DOLPHIN_OS_ALARM_H
#define DOLPHIN_OS_ALARM_H
#include "types.h"
#include "dolphin/os/OSTime.h"
#include "dolphin/os/OSContext.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct OSAlarm OSAlarm;
typedef void (*OSAlarmHandler)(OSAlarm* alarm, OSContext* context);
struct OSAlarm
{
OSAlarmHandler handler;
OSTime fire;
OSAlarm *prev;
OSAlarm *next;
// Periodic alarm
OSTime period;
OSTime start;
};
void OSInitAlarm(void);
void OSSetAlarm(OSAlarm *alarm, OSTime tick, OSAlarmHandler handler);
void OSSetAbsAlarm(OSAlarm *alarm, OSTime time, OSAlarmHandler handler);
void OSSetPeriodicAlarm(OSAlarm *alarm, OSTime start, OSTime period,
OSAlarmHandler handler);
void OSCreateAlarm(OSAlarm *alarm);
void OSCancelAlarm(OSAlarm *alarm);
BOOL OSCheckAlarmQueue(void);
#ifdef __cplusplus
}
#endif
#endif // DOLPHIN_OS_ALARM_H