BSD 4_3_Net_2 release
[unix-history] / usr / src / sys / vax / uba / qevent.h
CommitLineData
af359dea
C
1/*-
2 * Copyright (c) 1982, 1986 The Regents of the University of California.
3 * All rights reserved.
1882115b 4 *
af359dea
C
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * 3. All advertising materials mentioning features or use of this software
14 * must display the following acknowledgement:
15 * This product includes software developed by the University of
16 * California, Berkeley and its contributors.
17 * 4. Neither the name of the University nor the names of its contributors
18 * may be used to endorse or promote products derived from this software
19 * without specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
33 * @(#)qevent.h 7.1 (Berkeley) 5/9/91
1882115b 34 */
af359dea 35
d750ef62
MT
36/************************************************************************
37* *
38* Copyright (c) 1985 by *
39* Digital Equipment Corporation, Maynard, MA *
40* All rights reserved. *
41* *
42* This software is furnished under a license and may be used and *
43* copied only in accordance with the terms of such license and *
44* with the inclusion of the above copyright notice. This *
45* software or any other copies thereof may not be provided or *
46* otherwise made available to any other person. No title to and *
47* ownership of the software is hereby transferred. *
48* *
49* The information in this software is subject to change without *
50* notice and should not be construed as a commitment by Digital *
51* Equipment Corporation. *
52* *
53* Digital assumes no responsibility for the use or reliability *
54* of its software on equipment which is not supplied by Digital. *
55* *
56************************************************************************/
57
58/*
59 * Event queue entries
60 */
61
1882115b
MT
62#ifndef _QEVENT_
63#define _QEVENT_
d750ef62
MT
64
65typedef struct _vs_event {
66 unsigned short vse_x; /* x position */
67 unsigned short vse_y; /* y position */
68 unsigned short vse_time;/* 10 millisecond units (button only) */
69 char vse_type; /* button or motion? */
70 unsigned char vse_key; /* the key (button only) */
71 char vse_direction; /* which direction (button only) */
72 char vse_device; /* which device (button only) */
73} vsEvent;
74
75/* vse_type field */
76#define VSE_BUTTON 0 /* button moved */
77#define VSE_MMOTION 1 /* mouse moved */
78#define VSE_TMOTION 2 /* tablet moved */
79
80/* vse_direction field */
81#define VSE_KBTUP 0 /* up */
82#define VSE_KBTDOWN 1 /* down */
83#define VSE_KBTRAW 2 /* undetermined */
84
85/* vse_device field */
86#define VSE_NULL 0 /* NULL event (for QD_GETEVENT ret) */
87#define VSE_MOUSE 1 /* mouse */
88#define VSE_DKB 2 /* main keyboard */
89#define VSE_TABLET 3 /* graphics tablet */
90#define VSE_AUX 4 /* auxiliary */
91#define VSE_CONSOLE 5 /* console */
92
93/* The event queue */
94
95typedef struct _vs_eventqueue {
96 vsEvent *events; /* input event buffer */
97 int size; /* size of event buffer */
98 int head; /* index into events */
99 int tail; /* index into events */
100} vsEventQueue;
101
102/* mouse cursor position */
103
104typedef struct _vs_cursor {
105 short x;
106 short y;
107} vsCursor;
108
109/* mouse motion rectangle */
110
111typedef struct _vs_box {
112 short bottom;
113 short right;
114 short left;
115 short top;
116} vsBox;
117
1882115b 118#endif /*_QEVENT_*/