diff options
Diffstat (limited to 'board/board.h')
-rw-r--r-- | board/board.h | 22 |
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_ */ |