aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/char/keyboard.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 18:20:36 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 18:20:36 -0400
commit1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch)
tree0bba044c4ce775e45a88a51686b5d9f90697ea9d /drivers/s390/char/keyboard.h
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
Diffstat (limited to 'drivers/s390/char/keyboard.h')
-rw-r--r--drivers/s390/char/keyboard.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/drivers/s390/char/keyboard.h b/drivers/s390/char/keyboard.h
new file mode 100644
index 000000000000..3b4da5a9cf79
--- /dev/null
+++ b/drivers/s390/char/keyboard.h
@@ -0,0 +1,57 @@
1/*
2 * drivers/s390/char/keyboard.h
3 * ebcdic keycode functions for s390 console drivers
4 *
5 * Copyright (C) 2003 IBM Deutschland Entwicklung GmbH, IBM Corporation
6 * Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com),
7 */
8
9#include <linux/tty.h>
10#include <linux/tty_flip.h>
11#include <linux/keyboard.h>
12
13#define NR_FN_HANDLER 20
14
15struct kbd_data;
16
17typedef void (fn_handler_fn)(struct kbd_data *);
18
19/*
20 * FIXME: explain key_maps tricks.
21 */
22
23struct kbd_data {
24 struct tty_struct *tty;
25 unsigned short **key_maps;
26 char **func_table;
27 fn_handler_fn **fn_handler;
28 struct kbdiacr *accent_table;
29 unsigned int accent_table_size;
30 unsigned char diacr;
31 unsigned short sysrq;
32};
33
34struct kbd_data *kbd_alloc(void);
35void kbd_free(struct kbd_data *);
36void kbd_ascebc(struct kbd_data *, unsigned char *);
37
38void kbd_keycode(struct kbd_data *, unsigned int);
39int kbd_ioctl(struct kbd_data *, struct file *, unsigned int, unsigned long);
40
41/*
42 * Helper Functions.
43 */
44extern inline void
45kbd_put_queue(struct tty_struct *tty, int ch)
46{
47 tty_insert_flip_char(tty, ch, 0);
48 tty_schedule_flip(tty);
49}
50
51extern inline void
52kbd_puts_queue(struct tty_struct *tty, char *cp)
53{
54 while (*cp)
55 tty_insert_flip_char(tty, *cp++, 0);
56 tty_schedule_flip(tty);
57}