1 /*
2 * Mach Operating System
3 * Copyright (c) 1991 Carnegie Mellon University
4 * Copyright (c) 1991 IBM Corporation
5 * All Rights Reserved.
6 *
7 * Permission to use, copy, modify and distribute this software and its
8 * documentation is hereby granted, provided that both the copyright
9 * notice and this permission notice appear in all copies of the
10 * software, derivative works or modified versions, and any portions
11 * thereof, and that both notices appear in supporting documentation,
12 * and that the name IBM not be used in advertising or publicity
13 * pertaining to distribution of the software without specific, written
14 * prior permission.
15 *
16 * CARNEGIE MELLON AND IBM ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS IS"
17 * CONDITION. CARNEGIE MELLON AND IBM DISCLAIM ANY LIABILITY OF ANY KIND FOR
18 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
19 *
20 * Carnegie Mellon requests users of this software to return to
21 *
22 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
23 * School of Computer Science
24 * Carnegie Mellon University
25 * Pittsburgh PA 15213-3890
26 *
27 * any improvements or extensions that they make and grant Carnegie Mellon
28 * the rights to redistribute these changes.
29 */
30
31 /*
32 * HISTORY
33 * $Log: kd_mouse_io.h,v $
34 * Revision 2.2 93/02/04 07:58:49 danner
35 * Removed non-ansi-style ioctl definitions.
36 * [93/01/18 chs]
37 *
38 * Integrate PS2 code from IBM.
39 * [93/01/18 prithvi]
40 *
41 */
42
43 /* Mouse line discipline number */
44 #define MSLINEDISC 5 /* Must match entry in linesw[] in tty_conf.c */
45
46 /* Mouse ioctls */
47 #define MSIC_STATUS _IOR('m',1,long) /* return pointer to status struct */
48 #define MSIC_DISABLE _IO('m',2)
49 #define MSIC_ENABLE _IO('m',3)
50 #define MSIC_SCALE _IOW('m',4,long) /* actually expects a char */
51 #define MSIC_SAMPLE _IOW('m',5,long) /* actually expects a short */
52 #define MSIC_SAMP MSIC_SAMPLE /* 4.3 compatibilty */
53 #define MSIC_RESL _IOW('m',6,long) /* actually expects a short */
54 #define MSIC_PDIC _IOR('m',7,long) /* actually returns a char */
55
56 /*
57 * SAMPLE RATE CHART -- Data for MSIC_SAMP ioctl
58 * Sample Rate Data in Reports/second
59 */
60 #define MS_RATE_10 0x0A
61 #define MS_RATE_20 0x14
62 #define MS_RATE_40 0x28
63 #define MS_RATE_60 0x3C
64 #define MS_RATE_80 0x50
65 #define MS_RATE_100 0x64
66 #define MS_RATE_200 0xC8
67
68 /*
69 * SET RESOLUTION CHART -- Data for MSIC_RESL ioctl
70 * RESOLUTION
71 * Data Counts/mm Counts/inch
72 */
73 #define MS_RES_200 0x00 /* 8 200 */
74 #define MS_RES_100 0x01 /* 4 100 */
75 #define MS_RES_50 0x02 /* 2 50 */
76 #define MS_RES_25 0x03 /* 1 25 */
77
78 /*
79 * SET SCALING FACTOR -- Data for MSIC_SCALE ioctl
80 *
81 * Data Scale
82 */
83 #define MS_SCALE_1 0x01 /* 1:1 */
84 #define MS_SCALE_2 0x02 /* 2:1 */
85
86 /* Status - Data for MSIC_STATUS is a pointer to this structure */
87 struct mouse_status {
88 u_char interface_status;
89 u_char data_package_size;
90 u_short flag_word;
91 u_short current_resolution;
92 u_short current_sample_rate;
93 };
94
95
Cache object: 1067d053a16af190a32aadbf704e259e
|