FreeBSD/Linux Kernel Cross Reference
sys/i386at/kd_queue.h
1 /*
2 * Mach Operating System
3 * Copyright (c) 1991,1990,1989 Carnegie Mellon University
4 * All Rights Reserved.
5 *
6 * Permission to use, copy, modify and distribute this software and its
7 * documentation is hereby granted, provided that both the copyright
8 * notice and this permission notice appear in all copies of the
9 * software, derivative works or modified versions, and any portions
10 * thereof, and that both notices appear in supporting documentation.
11 *
12 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
13 * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
14 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
15 *
16 * Carnegie Mellon requests users of this software to return to
17 *
18 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
19 * School of Computer Science
20 * Carnegie Mellon University
21 * Pittsburgh PA 15213-3890
22 *
23 * any improvements or extensions that they make and grant Carnegie Mellon
24 * the rights to redistribute these changes.
25 */
26 /*
27 * HISTORY
28 * $Log: kd_queue.h,v $
29 * Revision 2.6 93/01/14 17:31:33 danner
30 * Added include of mach/std_types.h
31 * [92/12/10 17:50:14 af]
32 *
33 * Revision 2.5 91/05/14 16:27:51 mrt
34 * Correcting copyright
35 *
36 * Revision 2.4 91/02/05 17:19:32 mrt
37 * Changed to new Mach copyright
38 * [91/02/01 17:45:59 mrt]
39 *
40 * Revision 2.3 90/11/26 14:50:37 rvb
41 * jsb bet me to XMK34, sigh ...
42 * [90/11/26 rvb]
43 * Synched 2.5 & 3.0 at I386q (r1.5.1.3) & XMK35 (r2.3)
44 * [90/11/15 rvb]
45 *
46 * Revision 2.2 90/05/21 13:27:33 dbg
47 * First checkin.
48 * [90/05/17 15:43:55 dbg]
49 *
50 * Revision 1.5.1.2 90/02/28 15:50:35 rvb
51 * Fix numerous typo's in Olivetti disclaimer.
52 * [90/02/28 rvb]
53 *
54 * Revision 1.5.1.1 90/01/08 13:30:45 rvb
55 * Add Olivetti copyright.
56 * [90/01/08 rvb]
57 *
58 * Revision 1.5 89/07/17 10:42:14 rvb
59 * Olivetti Changes to X79 upto 5/9/89:
60 * [89/07/11 rvb]
61 *
62 * Revision 1.1.1.1 89/04/27 12:36:03 kupfer
63 * X79 from CMU.
64 *
65 * Revision 1.4 89/03/09 20:06:59 rpd
66 * More cleanup.
67 *
68 * Revision 1.3 89/02/26 12:42:52 gm0w
69 * Changes for cleanup.
70 *
71 */
72
73 /* **********************************************************************
74 File: kd_queue.h
75 Description: definitions for keybd/display Event queue
76
77 $ Header: $
78
79 Copyright Ing. C. Olivetti & C. S.p.A. 1989.
80 All rights reserved.
81 ********************************************************************** */
82 /*
83 Copyright 1988, 1989 by Olivetti Advanced Technology Center, Inc.,
84 Cupertino, California.
85
86 All Rights Reserved
87
88 Permission to use, copy, modify, and distribute this software and
89 its documentation for any purpose and without fee is hereby
90 granted, provided that the above copyright notice appears in all
91 copies and that both the copyright notice and this permission notice
92 appear in supporting documentation, and that the name of Olivetti
93 not be used in advertising or publicity pertaining to distribution
94 of the software without specific, written prior permission.
95
96 OLIVETTI DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE
97 INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
98 IN NO EVENT SHALL OLIVETTI BE LIABLE FOR ANY SPECIAL, INDIRECT, OR
99 CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
100 LOSS OF USE, DATA OR PROFITS, WHETHER IN ACTION OF CONTRACT,
101 NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUR OF OR IN CONNECTION
102 WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
103 */
104
105 /*
106 * Definitions for keyboard/mouse events.
107 *
108 * The keyboard and mouse can be read as a stream of events. The event
109 * definition is the same in both cases, but only keyboard events will
110 * be generated by /dev/kbd, and only mouse events will be generated by
111 * /dev/mouse.
112 */
113
114 #include <mach/std_types.h>
115 #include <i386at/kd.h>
116
117 #define KDQSIZE 100 /* is this a good size? */
118
119 typedef struct {
120 kd_event events[KDQSIZE];
121 int firstfree, firstout;
122 } kd_event_queue;
123
124 extern void kdq_put(), kdq_reset();
125 extern boolean_t kdq_empty(), kdq_full();
126 extern kd_event *kdq_get();
Cache object: 2638c4f1dba1d614f401572cf16cfbf5
|