Rev 1344 | Rev 1560 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1344 | Rev 1451 | ||
---|---|---|---|
Line 29... | Line 29... | ||
29 | #ifndef __KEY_BUFFER_H__ |
29 | #ifndef __KEY_BUFFER_H__ |
30 | #define __KEY_BUFFER_H__ |
30 | #define __KEY_BUFFER_H__ |
31 | 31 | ||
32 | #include <types.h> |
32 | #include <types.h> |
33 | 33 | ||
- | 34 | #define KEYBUFFER_SIZE 128 /**< Size of buffer for pressed keys */ |
|
- | 35 | ||
- | 36 | typedef struct { |
|
- | 37 | char fifo[KEYBUFFER_SIZE]; |
|
- | 38 | unsigned long head; |
|
- | 39 | unsigned long tail; |
|
- | 40 | unsigned long items; |
|
- | 41 | } keybuffer_t; |
|
- | 42 | ||
34 | void key_buffer_free(void); |
43 | void keybuffer_free(keybuffer_t *keybuffer); |
35 | void key_buffer_init(void); |
44 | void keybuffer_init(keybuffer_t *keybuffer); |
36 | int key_buffer_available(void); |
45 | int keybuffer_available(keybuffer_t *keybuffer); |
37 | int key_buffer_empty(void); |
46 | int keybuffer_empty(keybuffer_t *keybuffer); |
38 | void key_buffer_push(char key); |
47 | void keybuffer_push(keybuffer_t *keybuffer, char key); |
39 | int key_buffer_pop(char *c); |
48 | int keybuffer_pop(keybuffer_t *keybuffer, char *c); |
40 | 49 | ||
41 | #endif |
50 | #endif |
42 | 51 |