patch-2.2.6 linux/include/net/irda/irkbd.h
Next file: linux/include/net/irda/irlan_client.h
Previous file: linux/include/net/irda/iriap.h
Back to the patch index
Back to the overall index
- Lines: 92
- Date:
Thu Apr 15 05:42:41 1999
- Orig file:
v2.2.5/linux/include/net/irda/irkbd.h
- Orig date:
Wed Dec 31 16:00:00 1969
diff -u --recursive --new-file v2.2.5/linux/include/net/irda/irkbd.h linux/include/net/irda/irkbd.h
@@ -0,0 +1,91 @@
+/*********************************************************************
+ *
+ * Filename: irkbd.h
+ * Version: 0.2
+ * Description: IrDA Keyboard/Mouse driver (Tekram IR-660)
+ * Status: Experimental.
+ * Author: Dag Brattli <dagb@cs.uit.no>
+ * Created at: Mon Mar 1 00:24:19 1999
+ * Modified at: Thu Mar 11 14:54:00 1999
+ * Modified by: Dag Brattli <dagb@cs.uit.no>
+ *
+ * Copyright (c) 1999 Dag Brattli, All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * Neither Dag Brattli nor University of Tromsų admit liability nor
+ * provide warranty for any of this software. This material is
+ * provided "AS-IS" and at no charge.
+ *
+ ********************************************************************/
+
+#ifndef IRKBD_H
+#define IRKBD_H
+
+/* Some commands */
+#define IRKBD_CMD_INIT_KBD 0xfe
+#define IRKBD_CMD_INIT_MOUSE 0xff
+#define IRKBD_CMD_ENABLE 0x41
+#define IRKBD_CMD_LED 0x31
+#define IRKBD_CMD_KDB_SPEED 0x33
+
+/* Some responses */
+#define IRKBD_RSP_KBDOK 0x11
+#define IRKBD_RSP_KBDERR 0x12
+#define IRKBD_RSP_MSOK 0x21
+#define IRKBD_RSP_MSERR 0x22
+#define IRKBD_RSP_LEDOK 0x31
+#define IRKBD_RSP_KBDSPEEDOK 0x33
+#define IRKBD_RSP_RSPN41 0x41
+
+#define IRKBD_RATE 2 /* Polling rate, should be 15 ms */
+#define IRKBD_TIMEOUT 100 /* 1000 ms */
+
+#define SUBFRAME_MASK 0xc0
+#define SUBFRAME_MOUSE 0x80
+#define SUBFRAME_KEYBOARD 0x40
+#define SUBFRAME_RESPONSE 0x00
+
+#define IRKBD_MAX_HEADER (TTP_HEADER+LMP_HEADER+LAP_HEADER)
+
+#define IRKBD_BUF_SIZE 4096 /* Must be power of 2! */
+
+enum {
+ IRKBD_IDLE, /* Not connected */
+ IRKBD_INIT_KBD, /* Initializing keyboard */
+ IRKBD_INIT_MOUSE, /* Initializing mouse */
+ IRKBD_POLLING, /* Polling device */
+};
+
+/* Main structure */
+struct irkbd_cb {
+ struct miscdevice dev;
+ char devname[9]; /* name of the registered device */
+ int state;
+
+ int count; /* Open count */
+
+ __u32 saddr; /* my local address */
+ __u32 daddr; /* peer address */
+
+ struct tsap_cb *tsap;
+ __u8 dtsap_sel; /* remote TSAP address */
+ __u8 stsap_sel; /* local TSAP address */
+
+ struct timer_list watchdog_timer;
+
+ LOCAL_FLOW tx_flow;
+ LOCAL_FLOW rx_flow;
+
+ __u8 scancodes[IRKBD_BUF_SIZE]; /* Buffer for mouse events */
+ int head;
+ int tail;
+
+ struct wait_queue *read_wait;
+ struct fasync_struct *async;
+};
+
+#endif /* IRKBD_H */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)