| /* |
| * CDDL HEADER START |
| * |
| * The contents of this file are subject to the terms of the |
| * Common Development and Distribution License (the "License"). |
| * You may not use this file except in compliance with the License. |
| * |
| * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
| * or http://www.opensolaris.org/os/licensing. |
| * See the License for the specific language governing permissions |
| * and limitations under the License. |
| * |
| * When distributing Covered Code, include this CDDL HEADER in each |
| * file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
| * If applicable, add the following below this CDDL HEADER, with the |
| * fields enclosed by brackets "[]" replaced with your own identifying |
| * information: Portions Copyright [yyyy] [name of copyright owner] |
| * |
| * CDDL HEADER END |
| */ |
| /* |
| * Copyright 2009 Sun Microsystems, Inc. All rights reserved. |
| * Use is subject to license terms. |
| */ |
| |
| #ifndef _VUIDMICE_H |
| #define _VUIDMICE_H |
| |
| #if _KERNEL |
| struct MouseStateInfo { |
| unsigned long last_event_lbolt; |
| uchar_t wheel_state_bf; |
| uchar_t format; |
| uchar_t state; |
| uchar_t buttons; /* current button state */ |
| int deltax; /* delta X value */ |
| int deltay; /* delta Y value */ |
| int vuid_mouse_mode; |
| uchar_t oldbuttons; /* previous button state */ |
| uchar_t sync_byte; |
| uchar_t inited; |
| uchar_t nbuttons; |
| timeout_id_t init_tid; /* used for initialization */ |
| uchar_t init_count; /* track down init count */ |
| }; |
| |
| typedef struct Mouse_iocstate { |
| int ioc_state; |
| caddr_t u_addr; |
| } Mouse_iocstate_t; |
| |
| #define STATEP ((struct MouseStateInfo *)qp->q_ptr) |
| #define VUIDMICE_NUM_WHEELS 2 |
| #define VUIDMICE_VERTICAL_WHEEL_ID 0 |
| #define VUIDMICE_HORIZONTAL_WHEEL_ID 1 |
| |
| #ifdef VUIDM3P |
| #define VUID_NAME "vuidm3p" |
| #define VUID_PUTNEXT vuidm3p_putnext |
| #define VUID_QUEUE vuidm3p |
| #define VUID_OPEN vuidm3p_open |
| #endif |
| |
| #ifdef VUIDM4P |
| #define VUID_NAME "vuidm4p" |
| #define VUID_PUTNEXT vuidm4p_putnext |
| #define VUID_QUEUE vuidm4p |
| #define VUID_OPEN vuidm4p_open |
| #endif |
| |
| #ifdef VUIDM5P |
| #define VUID_NAME "vuidm5p" |
| #define VUID_PUTNEXT vuidm5p_putnext |
| #define VUID_QUEUE vuidm5p |
| #define VUID_OPEN vuidm5p_open |
| #endif |
| |
| #ifdef VUID2PS2 |
| #define VUID_NAME "vuid2ps2" |
| #define VUID_PUTNEXT vuid2ps2_putnext |
| #define VUID_INIT_TIMEOUT vuid2ps2_init_timeout |
| #define VUID_QUEUE vuid2ps2 |
| #define VUID_OPEN vuid2ps2_open |
| #define VUID_CLOSE vuid2ps2_close |
| #endif |
| |
| #ifdef VUID3PS2 |
| #define VUID_NAME "vuid3ps2" |
| #define VUID_PUTNEXT vuid3ps2_putnext |
| #define VUID_INIT_TIMEOUT vuid3ps2_init_timeout |
| #define VUID_QUEUE vuid3ps2 |
| #define VUID_OPEN vuid3ps2_open |
| #define VUID_CLOSE vuid3ps2_close |
| #endif |
| |
| #ifdef VUIDPS2 |
| #define VUID_NAME "vuidps2" |
| #define VUID_PUTNEXT vuidps2_putnext |
| #define VUID_INIT_TIMEOUT vuidps2_init_timeout |
| #define VUID_QUEUE vuidps2 |
| #define VUID_OPEN vuidps2_open |
| #define VUID_CLOSE vuidps2_close |
| #endif |
| |
| #ifndef VUID_NAME |
| #define VUID_NAME "vuidmice" |
| #endif |
| |
| #endif /* _KERNEL */ |
| |
| #endif /* _VUIDMICE_H */ |