--- /dev/null
+#ifndef _oswald_hal_h
+#define _oswald_hal_h
+
+/*
+ * these functions must be implemented for a concrete hardware
+ */
+
+void hal_lcd_set_pixel(unsigned int x, unsigned int y, unsigned char state);
+void hal_lcd_clear_display(void);
+void hal_lcd_update_display(void);
+/* sets the backlight on/off, on=TRUE, off=FALSE */
+void hal_lcd_set_backlight(boolean state);
+boolean hal_lcd_get_backlight(void);
+
+void hal_enable_centisecond_timer(void);
+void hal_disable_centisecond_timer(void);
+
+void hal_enable_halfsecond_timer(void);
+void hal_disable_halfsecond_timer(void);
+
+void hal_get_rtc(clock_state *rtc);
+void hal_set_rtc(clock_state *rtc, boolean set_set);
+void hal_get_power_state(power_state *pwr);
+
+/* sets the vibration motor on/off, on=TRUE, off=FALSE */
+void hal_vibration_set_state(boolean state);
+boolean hal_vibration_get_state(void);
+
+#endif
+