patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / drivers / input / mouse / psmouse.h
index e54841a..47fbc48 100644 (file)
 #define PSMOUSE_ACTIVATED      1
 #define PSMOUSE_IGNORE         2
 
+/* psmouse protocol handler return codes */
+typedef enum {
+       PSMOUSE_BAD_DATA,
+       PSMOUSE_GOOD_DATA,
+       PSMOUSE_FULL_PACKET
+} psmouse_ret_t;
+
 struct psmouse;
 
 struct psmouse_ptport {
@@ -45,6 +52,7 @@ struct psmouse {
        unsigned char type;
        unsigned char model;
        unsigned long last;
+       unsigned long out_of_sync;
        unsigned char state;
        char acking;
        volatile char ack;
@@ -52,6 +60,7 @@ struct psmouse {
        char devname[64];
        char phys[32];
 
+       psmouse_ret_t (*protocol_handler)(struct psmouse *psmouse, struct pt_regs *regs); 
        int (*reconnect)(struct psmouse *psmouse);
        void (*disconnect)(struct psmouse *psmouse);
 };
@@ -65,10 +74,10 @@ struct psmouse {
 #define PSMOUSE_SYNAPTICS      7
 
 int psmouse_command(struct psmouse *psmouse, unsigned char *param, int command);
+int psmouse_sliced_command(struct psmouse *psmouse, unsigned char command);
 int psmouse_reset(struct psmouse *psmouse);
 
 extern int psmouse_smartscroll;
 extern unsigned int psmouse_rate;
-extern unsigned int psmouse_resetafter;
 
 #endif /* _PSMOUSE_H */