1 /* this is a file autogenerated by spice_codegen.py */
2 /*
3    Copyright (C) 2013 Red Hat, Inc.
4 
5    Redistribution and use in source and binary forms, with or without
6    modification, are permitted provided that the following conditions are
7    met:
8 
9        * Redistributions of source code must retain the above copyright
10          notice, this list of conditions and the following disclaimer.
11        * Redistributions in binary form must reproduce the above copyright
12          notice, this list of conditions and the following disclaimer in
13          the documentation and/or other materials provided with the
14          distribution.
15        * Neither the name of the copyright holder nor the names of its
16          contributors may be used to endorse or promote products derived
17          from this software without specific prior written permission.
18 
19    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS
20    IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21    TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
22    PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23    HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 */
31 
32 #ifndef _H_SPICE_ENUMS
33 #define _H_SPICE_ENUMS
34 
35 #include <spice/macros.h>
36 
37 typedef enum SpiceLinkErr {
38     SPICE_LINK_ERR_OK,
39     SPICE_LINK_ERR_ERROR,
40     SPICE_LINK_ERR_INVALID_MAGIC,
41     SPICE_LINK_ERR_INVALID_DATA,
42     SPICE_LINK_ERR_VERSION_MISMATCH,
43     SPICE_LINK_ERR_NEED_SECURED,
44     SPICE_LINK_ERR_NEED_UNSECURED,
45     SPICE_LINK_ERR_PERMISSION_DENIED,
46     SPICE_LINK_ERR_BAD_CONNECTION_ID,
47     SPICE_LINK_ERR_CHANNEL_NOT_AVAILABLE,
48 
49     SPICE_LINK_ERR_ENUM_END
50 } SpiceLinkErr;
51 
52 typedef enum SpiceWarnCode {
53     SPICE_WARN_GENERAL,
54 
55     SPICE_WARN_CODE_ENUM_END
56 } SpiceWarnCode;
57 
58 typedef enum SpiceInfoCode {
59     SPICE_INFO_GENERAL,
60 
61     SPICE_INFO_CODE_ENUM_END
62 } SpiceInfoCode;
63 
64 typedef enum SpiceMigrateFlags {
65     SPICE_MIGRATE_NEED_FLUSH = (1 << 0),
66     SPICE_MIGRATE_NEED_DATA_TRANSFER = (1 << 1),
67 
68     SPICE_MIGRATE_FLAGS_MASK = 0x3
69 } SpiceMigrateFlags;
70 
71 typedef enum SpiceCompositeFlags {
72     SPICE_COMPOSITE_OP0 = (1 << 0),
73     SPICE_COMPOSITE_OP1 = (1 << 1),
74     SPICE_COMPOSITE_OP2 = (1 << 2),
75     SPICE_COMPOSITE_OP3 = (1 << 3),
76     SPICE_COMPOSITE_OP4 = (1 << 4),
77     SPICE_COMPOSITE_OP5 = (1 << 5),
78     SPICE_COMPOSITE_OP6 = (1 << 6),
79     SPICE_COMPOSITE_OP7 = (1 << 7),
80     SPICE_COMPOSITE_SRC_FILTER0 = (1 << 8),
81     SPICE_COMPOSITE_SRC_FILTER1 = (1 << 9),
82     SPICE_COMPOSITE_SRC_FILTER2 = (1 << 10),
83     SPICE_COMPOSITE_MASK_FILTER0 = (1 << 11),
84     SPICE_COMPOSITE_MASK_FITLER1 = (1 << 12),
85     SPICE_COMPOSITE_MASK_FILTER2 = (1 << 13),
86     SPICE_COMPOSITE_SRC_REPEAT0 = (1 << 14),
87     SPICE_COMPOSITE_SRC_REPEAT1 = (1 << 15),
88     SPICE_COMPOSITE_MASK_REPEAT0 = (1 << 16),
89     SPICE_COMPOSITE_MASK_REPEAT1 = (1 << 17),
90     SPICE_COMPOSITE_COMPONENT_ALPHA = (1 << 18),
91     SPICE_COMPOSITE_HAS_MASK = (1 << 19),
92     SPICE_COMPOSITE_HAS_SRC_TRANSFORM = (1 << 20),
93     SPICE_COMPOSITE_HAS_MASK_TRANSFORM = (1 << 21),
94     SPICE_COMPOSITE_SOURCE_OPAQUE = (1 << 22),
95     SPICE_COMPOSITE_MASK_OPAQUE = (1 << 23),
96     SPICE_COMPOSITE_DEST_OPAQUE = (1 << 24),
97 
98     SPICE_COMPOSITE_FLAGS_MASK = 0x1ffffff
99 } SpiceCompositeFlags;
100 
101 typedef enum SpiceNotifySeverity {
102     SPICE_NOTIFY_SEVERITY_INFO,
103     SPICE_NOTIFY_SEVERITY_WARN,
104     SPICE_NOTIFY_SEVERITY_ERROR,
105 
106     SPICE_NOTIFY_SEVERITY_ENUM_END
107 } SpiceNotifySeverity;
108 
109 typedef enum SpiceNotifyVisibility {
110     SPICE_NOTIFY_VISIBILITY_LOW,
111     SPICE_NOTIFY_VISIBILITY_MEDIUM,
112     SPICE_NOTIFY_VISIBILITY_HIGH,
113 
114     SPICE_NOTIFY_VISIBILITY_ENUM_END
115 } SpiceNotifyVisibility;
116 
117 typedef enum SpiceMouseMode {
118     SPICE_MOUSE_MODE_SERVER = (1 << 0),
119     SPICE_MOUSE_MODE_CLIENT = (1 << 1),
120 
121     SPICE_MOUSE_MODE_MASK = 0x3
122 } SpiceMouseMode;
123 
124 typedef enum SpiceDataCompressionType {
125     SPICE_DATA_COMPRESSION_TYPE_NONE,
126     SPICE_DATA_COMPRESSION_TYPE_LZ4,
127 
128     SPICE_DATA_COMPRESSION_TYPE_ENUM_END
129 } SpiceDataCompressionType;
130 
131 typedef enum SpiceClipType {
132     SPICE_CLIP_TYPE_NONE,
133     SPICE_CLIP_TYPE_RECTS,
134 
135     SPICE_CLIP_TYPE_ENUM_END
136 } SpiceClipType;
137 
138 typedef enum SpicePathFlags {
139     SPICE_PATH_BEGIN = (1 << 0),
140     SPICE_PATH_END = (1 << 1),
141     SPICE_PATH_CLOSE = (1 << 3),
142     SPICE_PATH_BEZIER = (1 << 4),
143 
144     SPICE_PATH_FLAGS_MASK = 0x1b
145 } SpicePathFlags;
146 
147 typedef enum SpiceVideoCodecType {
148     SPICE_VIDEO_CODEC_TYPE_MJPEG = 1,
149     SPICE_VIDEO_CODEC_TYPE_VP8,
150     SPICE_VIDEO_CODEC_TYPE_H264,
151     SPICE_VIDEO_CODEC_TYPE_VP9,
152     SPICE_VIDEO_CODEC_TYPE_H265,
153 
154     SPICE_VIDEO_CODEC_TYPE_ENUM_END
155 } SpiceVideoCodecType;
156 
157 typedef enum SpiceStreamFlags {
158     SPICE_STREAM_FLAGS_TOP_DOWN = (1 << 0),
159 
160     SPICE_STREAM_FLAGS_MASK = 0x1
161 } SpiceStreamFlags;
162 
163 typedef enum SpiceBrushType {
164     SPICE_BRUSH_TYPE_NONE,
165     SPICE_BRUSH_TYPE_SOLID,
166     SPICE_BRUSH_TYPE_PATTERN,
167 
168     SPICE_BRUSH_TYPE_ENUM_END
169 } SpiceBrushType;
170 
171 typedef enum SpiceMaskFlags {
172     SPICE_MASK_FLAGS_INVERS = (1 << 0),
173 
174     SPICE_MASK_FLAGS_MASK = 0x1
175 } SpiceMaskFlags;
176 
177 typedef enum SpiceImageType {
178     SPICE_IMAGE_TYPE_BITMAP,
179     SPICE_IMAGE_TYPE_QUIC,
180     SPICE_IMAGE_TYPE_RESERVED,
181     SPICE_IMAGE_TYPE_LZ_PLT = 100,
182     SPICE_IMAGE_TYPE_LZ_RGB,
183     SPICE_IMAGE_TYPE_GLZ_RGB,
184     SPICE_IMAGE_TYPE_FROM_CACHE,
185     SPICE_IMAGE_TYPE_SURFACE,
186     SPICE_IMAGE_TYPE_JPEG,
187     SPICE_IMAGE_TYPE_FROM_CACHE_LOSSLESS,
188     SPICE_IMAGE_TYPE_ZLIB_GLZ_RGB,
189     SPICE_IMAGE_TYPE_JPEG_ALPHA,
190     SPICE_IMAGE_TYPE_LZ4,
191 
192     SPICE_IMAGE_TYPE_ENUM_END
193 } SpiceImageType;
194 
195 typedef enum SpiceImageCompression {
196     SPICE_IMAGE_COMPRESSION_INVALID,
197     SPICE_IMAGE_COMPRESSION_OFF,
198     SPICE_IMAGE_COMPRESSION_AUTO_GLZ,
199     SPICE_IMAGE_COMPRESSION_AUTO_LZ,
200     SPICE_IMAGE_COMPRESSION_QUIC,
201     SPICE_IMAGE_COMPRESSION_GLZ,
202     SPICE_IMAGE_COMPRESSION_LZ,
203     SPICE_IMAGE_COMPRESSION_LZ4,
204 
205     SPICE_IMAGE_COMPRESSION_ENUM_END
206 } SpiceImageCompression;
207 
208 typedef enum SpiceImageFlags {
209     SPICE_IMAGE_FLAGS_CACHE_ME = (1 << 0),
210     SPICE_IMAGE_FLAGS_HIGH_BITS_SET = (1 << 1),
211     SPICE_IMAGE_FLAGS_CACHE_REPLACE_ME = (1 << 2),
212 
213     SPICE_IMAGE_FLAGS_MASK = 0x7
214 } SpiceImageFlags;
215 
216 typedef enum SpiceBitmapFmt {
217     SPICE_BITMAP_FMT_INVALID,
218     SPICE_BITMAP_FMT_1BIT_LE,
219     SPICE_BITMAP_FMT_1BIT_BE,
220     SPICE_BITMAP_FMT_4BIT_LE,
221     SPICE_BITMAP_FMT_4BIT_BE,
222     SPICE_BITMAP_FMT_8BIT,
223     SPICE_BITMAP_FMT_16BIT,
224     SPICE_BITMAP_FMT_24BIT,
225     SPICE_BITMAP_FMT_32BIT,
226     SPICE_BITMAP_FMT_RGBA,
227     SPICE_BITMAP_FMT_8BIT_A,
228 
229     SPICE_BITMAP_FMT_ENUM_END
230 } SpiceBitmapFmt;
231 
232 typedef enum SpiceBitmapFlags {
233     SPICE_BITMAP_FLAGS_PAL_CACHE_ME = (1 << 0),
234     SPICE_BITMAP_FLAGS_PAL_FROM_CACHE = (1 << 1),
235     SPICE_BITMAP_FLAGS_TOP_DOWN = (1 << 2),
236 
237     SPICE_BITMAP_FLAGS_MASK = 0x7
238 } SpiceBitmapFlags;
239 
240 typedef enum SpiceJpegAlphaFlags {
241     SPICE_JPEG_ALPHA_FLAGS_TOP_DOWN = (1 << 0),
242 
243     SPICE_JPEG_ALPHA_FLAGS_MASK = 0x1
244 } SpiceJpegAlphaFlags;
245 
246 typedef enum SpiceImageScaleMode {
247     SPICE_IMAGE_SCALE_MODE_INTERPOLATE,
248     SPICE_IMAGE_SCALE_MODE_NEAREST,
249 
250     SPICE_IMAGE_SCALE_MODE_ENUM_END
251 } SpiceImageScaleMode;
252 
253 typedef enum SpiceRopd {
254     SPICE_ROPD_INVERS_SRC = (1 << 0),
255     SPICE_ROPD_INVERS_BRUSH = (1 << 1),
256     SPICE_ROPD_INVERS_DEST = (1 << 2),
257     SPICE_ROPD_OP_PUT = (1 << 3),
258     SPICE_ROPD_OP_OR = (1 << 4),
259     SPICE_ROPD_OP_AND = (1 << 5),
260     SPICE_ROPD_OP_XOR = (1 << 6),
261     SPICE_ROPD_OP_BLACKNESS = (1 << 7),
262     SPICE_ROPD_OP_WHITENESS = (1 << 8),
263     SPICE_ROPD_OP_INVERS = (1 << 9),
264     SPICE_ROPD_INVERS_RES = (1 << 10),
265 
266     SPICE_ROPD_MASK = 0x7ff
267 } SpiceRopd;
268 
269 typedef enum SpiceLineFlags {
270     SPICE_LINE_FLAGS_START_WITH_GAP = (1 << 2),
271     SPICE_LINE_FLAGS_STYLED = (1 << 3),
272 
273     SPICE_LINE_FLAGS_MASK = 0xc
274 } SpiceLineFlags;
275 
276 typedef enum SpiceStringFlags {
277     SPICE_STRING_FLAGS_RASTER_A1 = (1 << 0),
278     SPICE_STRING_FLAGS_RASTER_A4 = (1 << 1),
279     SPICE_STRING_FLAGS_RASTER_A8 = (1 << 2),
280     SPICE_STRING_FLAGS_RASTER_TOP_DOWN = (1 << 3),
281 
282     SPICE_STRING_FLAGS_MASK = 0xf
283 } SpiceStringFlags;
284 
285 typedef enum SpiceSurfaceFlags {
286     SPICE_SURFACE_FLAGS_PRIMARY = (1 << 0),
287     SPICE_SURFACE_FLAGS_STREAMING_MODE = (1 << 1),
288 
289     SPICE_SURFACE_FLAGS_MASK = 0x3
290 } SpiceSurfaceFlags;
291 
292 typedef enum SpiceSurfaceFmt {
293     SPICE_SURFACE_FMT_INVALID,
294     SPICE_SURFACE_FMT_1_A,
295     SPICE_SURFACE_FMT_8_A = 8,
296     SPICE_SURFACE_FMT_16_555 = 16,
297     SPICE_SURFACE_FMT_32_xRGB = 32,
298     SPICE_SURFACE_FMT_16_565 = 80,
299     SPICE_SURFACE_FMT_32_ARGB = 96,
300 
301     SPICE_SURFACE_FMT_ENUM_END
302 } SpiceSurfaceFmt;
303 
304 typedef enum SpiceAlphaFlags {
305     SPICE_ALPHA_FLAGS_DEST_HAS_ALPHA = (1 << 0),
306     SPICE_ALPHA_FLAGS_SRC_SURFACE_HAS_ALPHA = (1 << 1),
307 
308     SPICE_ALPHA_FLAGS_MASK = 0x3
309 } SpiceAlphaFlags;
310 
311 typedef enum SpiceResourceType {
312     SPICE_RES_TYPE_INVALID,
313     SPICE_RES_TYPE_PIXMAP,
314 
315     SPICE_RESOURCE_TYPE_ENUM_END
316 } SpiceResourceType;
317 
318 typedef enum SpiceGlScanoutFlags {
319     SPICE_GL_SCANOUT_FLAGS_Y0TOP = (1 << 0),
320 
321     SPICE_GL_SCANOUT_FLAGS_MASK = 0x1
322 } SpiceGlScanoutFlags;
323 
324 typedef enum SpiceKeyboardModifierFlags {
325     SPICE_KEYBOARD_MODIFIER_FLAGS_SCROLL_LOCK = (1 << 0),
326     SPICE_KEYBOARD_MODIFIER_FLAGS_NUM_LOCK = (1 << 1),
327     SPICE_KEYBOARD_MODIFIER_FLAGS_CAPS_LOCK = (1 << 2),
328 
329     SPICE_KEYBOARD_MODIFIER_FLAGS_MASK = 0x7
330 } SpiceKeyboardModifierFlags;
331 
332 typedef enum SpiceMouseButton {
333     SPICE_MOUSE_BUTTON_INVALID,
334     SPICE_MOUSE_BUTTON_LEFT,
335     SPICE_MOUSE_BUTTON_MIDDLE,
336     SPICE_MOUSE_BUTTON_RIGHT,
337     SPICE_MOUSE_BUTTON_UP,
338     SPICE_MOUSE_BUTTON_DOWN,
339     SPICE_MOUSE_BUTTON_SIDE,
340     SPICE_MOUSE_BUTTON_EXTRA,
341 
342     SPICE_MOUSE_BUTTON_ENUM_END
343 } SpiceMouseButton;
344 
345 typedef enum SpiceMouseButtonMask {
346     SPICE_MOUSE_BUTTON_MASK_LEFT = (1 << 0),
347     SPICE_MOUSE_BUTTON_MASK_MIDDLE = (1 << 1),
348     SPICE_MOUSE_BUTTON_MASK_RIGHT = (1 << 2),
349     SPICE_MOUSE_BUTTON_MASK_UP = (1 << 3),
350     SPICE_MOUSE_BUTTON_MASK_DOWN = (1 << 4),
351     SPICE_MOUSE_BUTTON_MASK_SIDE = (1 << 5),
352     SPICE_MOUSE_BUTTON_MASK_EXTRA = (1 << 6),
353 
354     SPICE_MOUSE_BUTTON_MASK_MASK = 0x7F
355 } SpiceMouseButtonMask;
356 
357 typedef enum SpiceCursorType {
358     SPICE_CURSOR_TYPE_ALPHA,
359     SPICE_CURSOR_TYPE_MONO,
360     SPICE_CURSOR_TYPE_COLOR4,
361     SPICE_CURSOR_TYPE_COLOR8,
362     SPICE_CURSOR_TYPE_COLOR16,
363     SPICE_CURSOR_TYPE_COLOR24,
364     SPICE_CURSOR_TYPE_COLOR32,
365 
366     SPICE_CURSOR_TYPE_ENUM_END
367 } SpiceCursorType;
368 
369 typedef enum SpiceCursorFlags {
370     SPICE_CURSOR_FLAGS_NONE = (1 << 0),
371     SPICE_CURSOR_FLAGS_CACHE_ME = (1 << 1),
372     SPICE_CURSOR_FLAGS_FROM_CACHE = (1 << 2),
373 
374     SPICE_CURSOR_FLAGS_MASK = 0x7
375 } SpiceCursorFlags;
376 
377 typedef enum SpiceAudioDataMode {
378     SPICE_AUDIO_DATA_MODE_INVALID,
379     SPICE_AUDIO_DATA_MODE_RAW,
380     SPICE_AUDIO_DATA_MODE_CELT_0_5_1 SPICE_GNUC_DEPRECATED,
381     SPICE_AUDIO_DATA_MODE_OPUS,
382 
383     SPICE_AUDIO_DATA_MODE_ENUM_END
384 } SpiceAudioDataMode;
385 
386 typedef enum SpiceAudioFmt {
387     SPICE_AUDIO_FMT_INVALID,
388     SPICE_AUDIO_FMT_S16,
389 
390     SPICE_AUDIO_FMT_ENUM_END
391 } SpiceAudioFmt;
392 
393 typedef enum SpiceVscMessageType {
394     SPICE_VSC_MESSAGE_TYPE_Init = 1,
395     SPICE_VSC_MESSAGE_TYPE_Error,
396     SPICE_VSC_MESSAGE_TYPE_ReaderAdd,
397     SPICE_VSC_MESSAGE_TYPE_ReaderRemove,
398     SPICE_VSC_MESSAGE_TYPE_ATR,
399     SPICE_VSC_MESSAGE_TYPE_CardRemove,
400     SPICE_VSC_MESSAGE_TYPE_APDU,
401     SPICE_VSC_MESSAGE_TYPE_Flush,
402     SPICE_VSC_MESSAGE_TYPE_FlushComplete,
403 
404     SPICE_VSC_MESSAGE_TYPE_ENUM_END
405 } SpiceVscMessageType;
406 
407 enum {
408     SPICE_CHANNEL_MAIN = 1,
409     SPICE_CHANNEL_DISPLAY,
410     SPICE_CHANNEL_INPUTS,
411     SPICE_CHANNEL_CURSOR,
412     SPICE_CHANNEL_PLAYBACK,
413     SPICE_CHANNEL_RECORD,
414     SPICE_CHANNEL_TUNNEL,
415     SPICE_CHANNEL_SMARTCARD,
416     SPICE_CHANNEL_USBREDIR,
417     SPICE_CHANNEL_PORT,
418     SPICE_CHANNEL_WEBDAV,
419 
420     SPICE_END_CHANNEL
421 };
422 
423 enum {
424     SPICE_MSG_MIGRATE = 1,
425     SPICE_MSG_MIGRATE_DATA,
426     SPICE_MSG_SET_ACK,
427     SPICE_MSG_PING,
428     SPICE_MSG_WAIT_FOR_CHANNELS,
429     SPICE_MSG_DISCONNECTING,
430     SPICE_MSG_NOTIFY,
431     SPICE_MSG_LIST,
432     SPICE_MSG_BASE_LAST = 100,
433 };
434 
435 enum {
436     SPICE_MSGC_ACK_SYNC = 1,
437     SPICE_MSGC_ACK,
438     SPICE_MSGC_PONG,
439     SPICE_MSGC_MIGRATE_FLUSH_MARK,
440     SPICE_MSGC_MIGRATE_DATA,
441     SPICE_MSGC_DISCONNECTING,
442 };
443 
444 enum {
445     SPICE_MSG_MAIN_MIGRATE_BEGIN = 101,
446     SPICE_MSG_MAIN_MIGRATE_CANCEL,
447     SPICE_MSG_MAIN_INIT,
448     SPICE_MSG_MAIN_CHANNELS_LIST,
449     SPICE_MSG_MAIN_MOUSE_MODE,
450     SPICE_MSG_MAIN_MULTI_MEDIA_TIME,
451     SPICE_MSG_MAIN_AGENT_CONNECTED,
452     SPICE_MSG_MAIN_AGENT_DISCONNECTED,
453     SPICE_MSG_MAIN_AGENT_DATA,
454     SPICE_MSG_MAIN_AGENT_TOKEN,
455     SPICE_MSG_MAIN_MIGRATE_SWITCH_HOST,
456     SPICE_MSG_MAIN_MIGRATE_END,
457     SPICE_MSG_MAIN_NAME,
458     SPICE_MSG_MAIN_UUID,
459     SPICE_MSG_MAIN_AGENT_CONNECTED_TOKENS,
460     SPICE_MSG_MAIN_MIGRATE_BEGIN_SEAMLESS,
461     SPICE_MSG_MAIN_MIGRATE_DST_SEAMLESS_ACK,
462     SPICE_MSG_MAIN_MIGRATE_DST_SEAMLESS_NACK,
463 
464     SPICE_MSG_END_MAIN
465 };
466 
467 enum {
468     SPICE_MSGC_MAIN_CLIENT_INFO = 101,
469     SPICE_MSGC_MAIN_MIGRATE_CONNECTED,
470     SPICE_MSGC_MAIN_MIGRATE_CONNECT_ERROR,
471     SPICE_MSGC_MAIN_ATTACH_CHANNELS,
472     SPICE_MSGC_MAIN_MOUSE_MODE_REQUEST,
473     SPICE_MSGC_MAIN_AGENT_START,
474     SPICE_MSGC_MAIN_AGENT_DATA,
475     SPICE_MSGC_MAIN_AGENT_TOKEN,
476     SPICE_MSGC_MAIN_MIGRATE_END,
477     SPICE_MSGC_MAIN_MIGRATE_DST_DO_SEAMLESS,
478     SPICE_MSGC_MAIN_MIGRATE_CONNECTED_SEAMLESS,
479     SPICE_MSGC_MAIN_QUALITY_INDICATOR,
480 
481     SPICE_MSGC_END_MAIN
482 };
483 
484 enum {
485     SPICE_MSG_DISPLAY_MODE = 101,
486     SPICE_MSG_DISPLAY_MARK,
487     SPICE_MSG_DISPLAY_RESET,
488     SPICE_MSG_DISPLAY_COPY_BITS,
489     SPICE_MSG_DISPLAY_INVAL_LIST,
490     SPICE_MSG_DISPLAY_INVAL_ALL_PIXMAPS,
491     SPICE_MSG_DISPLAY_INVAL_PALETTE,
492     SPICE_MSG_DISPLAY_INVAL_ALL_PALETTES,
493     SPICE_MSG_DISPLAY_STREAM_CREATE = 122,
494     SPICE_MSG_DISPLAY_STREAM_DATA,
495     SPICE_MSG_DISPLAY_STREAM_CLIP,
496     SPICE_MSG_DISPLAY_STREAM_DESTROY,
497     SPICE_MSG_DISPLAY_STREAM_DESTROY_ALL,
498     SPICE_MSG_DISPLAY_DRAW_FILL = 302,
499     SPICE_MSG_DISPLAY_DRAW_OPAQUE,
500     SPICE_MSG_DISPLAY_DRAW_COPY,
501     SPICE_MSG_DISPLAY_DRAW_BLEND,
502     SPICE_MSG_DISPLAY_DRAW_BLACKNESS,
503     SPICE_MSG_DISPLAY_DRAW_WHITENESS,
504     SPICE_MSG_DISPLAY_DRAW_INVERS,
505     SPICE_MSG_DISPLAY_DRAW_ROP3,
506     SPICE_MSG_DISPLAY_DRAW_STROKE,
507     SPICE_MSG_DISPLAY_DRAW_TEXT,
508     SPICE_MSG_DISPLAY_DRAW_TRANSPARENT,
509     SPICE_MSG_DISPLAY_DRAW_ALPHA_BLEND,
510     SPICE_MSG_DISPLAY_SURFACE_CREATE,
511     SPICE_MSG_DISPLAY_SURFACE_DESTROY,
512     SPICE_MSG_DISPLAY_STREAM_DATA_SIZED,
513     SPICE_MSG_DISPLAY_MONITORS_CONFIG,
514     SPICE_MSG_DISPLAY_DRAW_COMPOSITE,
515     SPICE_MSG_DISPLAY_STREAM_ACTIVATE_REPORT,
516     SPICE_MSG_DISPLAY_GL_SCANOUT_UNIX,
517     SPICE_MSG_DISPLAY_GL_DRAW,
518     SPICE_MSG_DISPLAY_QUALITY_INDICATOR,
519 
520     SPICE_MSG_END_DISPLAY
521 };
522 
523 enum {
524     SPICE_MSGC_DISPLAY_INIT = 101,
525     SPICE_MSGC_DISPLAY_STREAM_REPORT,
526     SPICE_MSGC_DISPLAY_PREFERRED_COMPRESSION,
527     SPICE_MSGC_DISPLAY_GL_DRAW_DONE,
528     SPICE_MSGC_DISPLAY_PREFERRED_VIDEO_CODEC_TYPE,
529 
530     SPICE_MSGC_END_DISPLAY
531 };
532 
533 enum {
534     SPICE_MSG_INPUTS_INIT = 101,
535     SPICE_MSG_INPUTS_KEY_MODIFIERS,
536     SPICE_MSG_INPUTS_MOUSE_MOTION_ACK = 111,
537 
538     SPICE_MSG_END_INPUTS
539 };
540 
541 enum {
542     SPICE_MSGC_INPUTS_KEY_DOWN = 101,
543     SPICE_MSGC_INPUTS_KEY_UP,
544     SPICE_MSGC_INPUTS_KEY_MODIFIERS,
545     SPICE_MSGC_INPUTS_KEY_SCANCODE,
546     SPICE_MSGC_INPUTS_MOUSE_MOTION = 111,
547     SPICE_MSGC_INPUTS_MOUSE_POSITION,
548     SPICE_MSGC_INPUTS_MOUSE_PRESS,
549     SPICE_MSGC_INPUTS_MOUSE_RELEASE,
550 
551     SPICE_MSGC_END_INPUTS
552 };
553 
554 enum {
555     SPICE_MSG_CURSOR_INIT = 101,
556     SPICE_MSG_CURSOR_RESET,
557     SPICE_MSG_CURSOR_SET,
558     SPICE_MSG_CURSOR_MOVE,
559     SPICE_MSG_CURSOR_HIDE,
560     SPICE_MSG_CURSOR_TRAIL,
561     SPICE_MSG_CURSOR_INVAL_ONE,
562     SPICE_MSG_CURSOR_INVAL_ALL,
563 
564     SPICE_MSG_END_CURSOR
565 };
566 
567 enum {
568     SPICE_MSG_PLAYBACK_DATA = 101,
569     SPICE_MSG_PLAYBACK_MODE,
570     SPICE_MSG_PLAYBACK_START,
571     SPICE_MSG_PLAYBACK_STOP,
572     SPICE_MSG_PLAYBACK_VOLUME,
573     SPICE_MSG_PLAYBACK_MUTE,
574     SPICE_MSG_PLAYBACK_LATENCY,
575 
576     SPICE_MSG_END_PLAYBACK
577 };
578 
579 enum {
580     SPICE_MSG_RECORD_START = 101,
581     SPICE_MSG_RECORD_STOP,
582     SPICE_MSG_RECORD_VOLUME,
583     SPICE_MSG_RECORD_MUTE,
584 
585     SPICE_MSG_END_RECORD
586 };
587 
588 enum {
589     SPICE_MSGC_RECORD_DATA = 101,
590     SPICE_MSGC_RECORD_MODE,
591     SPICE_MSGC_RECORD_START_MARK,
592 
593     SPICE_MSGC_END_RECORD
594 };
595 
596 enum {
597     SPICE_MSG_SMARTCARD_DATA = 101,
598 
599     SPICE_MSG_END_SMARTCARD
600 };
601 
602 enum {
603     SPICE_MSGC_SMARTCARD_DATA = 101,
604     SPICE_MSGC_SMARTCARD_HEADER = 101,
605     SPICE_MSGC_SMARTCARD_ERROR = 101,
606     SPICE_MSGC_SMARTCARD_ATR = 101,
607     SPICE_MSGC_SMARTCARD_READER_ADD = 101,
608 
609     SPICE_MSGC_END_SMARTCARD
610 };
611 
612 enum {
613     SPICE_MSG_SPICEVMC_DATA = 101,
614     SPICE_MSG_SPICEVMC_COMPRESSED_DATA,
615 
616     SPICE_MSG_END_SPICEVMC
617 };
618 
619 enum {
620     SPICE_MSGC_SPICEVMC_DATA = 101,
621     SPICE_MSGC_SPICEVMC_COMPRESSED_DATA,
622 
623     SPICE_MSGC_END_SPICEVMC
624 };
625 
626 enum {
627     SPICE_MSG_PORT_INIT = 201,
628     SPICE_MSG_PORT_EVENT,
629 
630     SPICE_MSG_END_PORT
631 };
632 
633 enum {
634     SPICE_MSGC_PORT_EVENT = 201,
635 
636     SPICE_MSGC_END_PORT
637 };
638 
639 #endif /* _H_SPICE_ENUMS */
640