backported fixes from 256boss
[bootcensus] / src / timer.h
index b71e62f..3da5802 100644 (file)
@@ -1,6 +1,6 @@
 /*
-pcboot - bootable PC demo/game kernel
-Copyright (C) 2018  John Tsiombikas <nuclear@member.fsf.org>
+256boss - bootable launcher for 256byte intros
+Copyright (C) 2018-2019  John Tsiombikas <nuclear@member.fsf.org>
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -18,6 +18,8 @@ along with this program.  If not, see <https://www.gnu.org/licenses/>.
 #ifndef _TIMER_H_
 #define _TIMER_H_
 
+#include "config.h"
+
 #define MSEC_TO_TICKS(ms)      ((ms) * TICK_FREQ_HZ / 1000)
 #define TICKS_TO_MSEC(tk)      ((tk) * 1000 / TICK_FREQ_HZ)
 
@@ -25,7 +27,16 @@ volatile unsigned long nticks;
 
 void init_timer(void);
 
+/*
 int sys_sleep(int sec);
 void sleep(unsigned long msec);
+*/
+
+/* schedule a function to be called 'msec' milliseconds into the future
+ * warning: this function will be called directly from the timer interrupt, and
+ * must be extremely quick.
+ */
+void set_alarm(unsigned long msec, void (*func)(void));
+void cancel_alarm(void (*func)(void));
 
 #endif /* _TIMER_H_ */