Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  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 
 15 struct kbd_data;
 16 
 17 typedef void (fn_handler_fn)(struct kbd_data *);
 18 
 19 /*
 20  * FIXME: explain key_maps tricks.
 21  */
 22 
 23 struct kbd_data {
 24         struct tty_struct *tty;
 25         unsigned short **key_maps;
 26         char **func_table;
 27         fn_handler_fn **fn_handler;
 28         struct kbdiacruc *accent_table;
 29         unsigned int accent_table_size;
 30         unsigned int diacr;
 31         unsigned short sysrq;
 32 };
 33 
 34 struct kbd_data *kbd_alloc(void);
 35 void kbd_free(struct kbd_data *);
 36 void kbd_ascebc(struct kbd_data *, unsigned char *);
 37 
 38 void kbd_keycode(struct kbd_data *, unsigned int);
 39 int kbd_ioctl(struct kbd_data *, struct file *, unsigned int, unsigned long);
 40 
 41 /*
 42  * Helper Functions.
 43  */
 44 static inline void
 45 kbd_put_queue(struct tty_struct *tty, int ch)
 46 {
 47         tty_insert_flip_char(tty, ch, 0);
 48         tty_schedule_flip(tty);
 49 }
 50 
 51 static inline void
 52 kbd_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 }
 58 
  This page was automatically generated by the LXR engine.