1 /* $Id: sunkbd.h,v 1.4 2000/02/09 11:15:54 davem Exp $
2  * sunkbd.h: Defines needed by SUN Keyboard drivers
3  *
4  * Copyright (C) 1997  Eddie C. Dost  (ecd@skynet.be)
5  */
6 
7 #ifndef _SPARC_SUNKBD_H
8 #define _SPARC_SUNKBD_H 1
9 
10 #include <linux/config.h>
11 
12 /* Keyboard defines for L1-A processing... */
13 #define SUNKBD_RESET		0xff
14 #define SUNKBD_L1		0x01
15 #define SUNKBD_UP		0x80
16 #define SUNKBD_A		0x4d
17 
18 struct l1a_kbd_state {
19 	int kbd_id;
20 	int l1_down;
21 };
22 
23 extern struct l1a_kbd_state l1a_state;
24 
25 extern void keyboard_zsinit(void (*kbd_put_char)(unsigned char));
26 extern void sunkbd_inchar(unsigned char, struct pt_regs *);
27 extern void batten_down_hatches(void);
28 
29 extern void sun_kbd_bh(unsigned long);
30 extern int sun_kbd_init(void);
31 extern void sun_compute_shiftstate(void);
32 extern void sun_setledstate(struct kbd_struct *, unsigned int);
33 extern unsigned char sun_getledstate(void);
34 extern int sun_setkeycode(unsigned int, unsigned int);
35 extern int sun_getkeycode(unsigned int);
36 
37 #ifdef CONFIG_PCI
38 
39 extern ushort *sun_key_maps[MAX_NR_KEYMAPS];
40 extern unsigned int sun_keymap_count;
41 
42 extern char sun_func_buf[];
43 extern char *sun_func_table[MAX_NR_FUNC];
44 extern int sun_funcbufsize;
45 extern int sun_funcbufleft;
46 
47 extern struct kbdiacr sun_accent_table[MAX_DIACR];
48 extern unsigned int sun_accent_table_size;
49 
50 #endif /* CONFIG_PCI */
51 
52 #endif /* !(_SPARC_SUNKBD_H) */
53