aboutsummaryrefslogtreecommitdiff
path: root/board/board.h
diff options
context:
space:
mode:
Diffstat (limited to 'board/board.h')
-rw-r--r--board/board.h22
1 files changed, 14 insertions, 8 deletions
diff --git a/board/board.h b/board/board.h
index 36d39fb..0c95b9c 100644
--- a/board/board.h
+++ b/board/board.h
@@ -1,16 +1,22 @@
#ifndef CLAK_BOARD_H_
#define CLAK_BOARD_H_
-struct board {
- void (*on_down)(void);
- void (*on_up)(void);
+struct board_state;
+
+typedef void (*board_init_fn_t)(struct board_state *board_state);
+typedef void (*key_event_fn_t)(struct board_state *board_state);
+
+typedef void (*sound_play_fn_t)(unsigned char *buffer, unsigned int buffer_len);
+
+struct board_state {
+ /* Populated by plugin */
+ key_event_fn_t on_down;
+ key_event_fn_t on_up;
char *name;
-};
-struct board_data {
- void (*sound_play)(unsigned char *buffer, unsigned int buffer_len);
+ /* Runtime from main */
+ board_init_fn_t board_init;
+ sound_play_fn_t sound_play;
};
-typedef struct board *(*fn_board_init)(struct board_data data);
-
#endif /* CLAK_BOARD_H_ */