target/mips: Move MUL opcode check from decode_mxu() to decode_legacy()
[qemu/ar7.git] / ui / input-barrier.h
blobe5b090590ad597c247001effbdf8dc7523878b87
1 /*
2  * SPDX-License-Identifier: GPL-2.0-or-later
3  *
4  * This work is licensed under the terms of the GNU GPL, version 2 or later.
5  * See the COPYING file in the top-level directory.
6  */
8 #ifndef UI_INPUT_BARRIER_H
9 #define UI_INPUT_BARRIER_H
11 /* Barrier protocol */
12 #define BARRIER_VERSION_MAJOR 1
13 #define BARRIER_VERSION_MINOR 6
15 enum barrierCmd {
16     barrierCmdCNoop,
17     barrierCmdCClose,
18     barrierCmdCEnter,
19     barrierCmdCLeave,
20     barrierCmdCClipboard,
21     barrierCmdCScreenSaver,
22     barrierCmdCResetOptions,
23     barrierCmdCInfoAck,
24     barrierCmdCKeepAlive,
25     barrierCmdDKeyDown,
26     barrierCmdDKeyRepeat,
27     barrierCmdDKeyUp,
28     barrierCmdDMouseDown,
29     barrierCmdDMouseUp,
30     barrierCmdDMouseMove,
31     barrierCmdDMouseRelMove,
32     barrierCmdDMouseWheel,
33     barrierCmdDClipboard,
34     barrierCmdDInfo,
35     barrierCmdDSetOptions,
36     barrierCmdDFileTransfer,
37     barrierCmdDDragInfo,
38     barrierCmdQInfo,
39     barrierCmdEIncompatible,
40     barrierCmdEBusy,
41     barrierCmdEUnknown,
42     barrierCmdEBad,
43     /* connection sequence */
44     barrierCmdHello,
45     barrierCmdHelloBack,
48 enum {
49    barrierButtonNone,
50    barrierButtonLeft,
51    barrierButtonMiddle,
52    barrierButtonRight,
53    barrierButtonExtra0
56 struct barrierVersion {
57     int16_t major;
58     int16_t minor;
61 struct barrierMouseButton {
62     int8_t buttonid;
65 struct barrierEnter {
66     int16_t x;
67     int16_t y;
68     int32_t seqn;
69     int16_t modifier;
72 struct barrierMousePos {
73     int16_t x;
74     int16_t y;
77 struct barrierKey {
78     int16_t keyid;
79     int16_t modifier;
80     int16_t button;
83 struct barrierRepeat {
84     int16_t keyid;
85     int16_t modifier;
86     int16_t repeat;
87     int16_t button;
90 #define BARRIER_MAX_OPTIONS 32
91 struct barrierSet {
92     int nb;
93     struct {
94         int id;
95         char nul;
96         int value;
97     } option[BARRIER_MAX_OPTIONS];
100 struct barrierMsg {
101     enum barrierCmd cmd;
102     union {
103         struct barrierVersion version;
104         struct barrierMouseButton mousebutton;
105         struct barrierMousePos mousepos;
106         struct barrierEnter enter;
107         struct barrierKey key;
108         struct barrierRepeat repeat;
109         struct barrierSet set;
110     };
112 #endif