prime/include/dolphin/os/OSAlarm.h
Phillip Stephens 3ed47d5cde Fix linking with static libs, CVector3f work, Initial COutputStream
Former-commit-id: 693fe93eab71abb6e4b68df69c8836b0499cef43
2022-10-04 18:31:56 -07:00

40 lines
856 B
C

#ifndef __OSALARM_H__
#define __OSALARM_H__
#include <dolphin/os/OSContext.h>
#include <types.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct OSAlarm OSAlarm;
typedef void (*OSAlarmHandler)(OSAlarm* alarm, OSContext* context);
struct OSAlarm {
OSAlarmHandler handler;
u32 tag;
OSTime fire;
OSAlarm* prev;
OSAlarm* next;
OSTime period;
OSTime start;
};
void OSInitAlarm(void);
void OSSetAlarm(OSAlarm* alarm, OSTime tick, OSAlarmHandler handler);
void OSSetAlarmTag(OSAlarm* alarm, u32 tag);
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);
void OSCancelAlarms(u32 tag);
BOOL OSCheckAlarmQueue(void);
#ifdef __cplusplus
}
#endif
#endif