1 /* this is a file autogenerated by spice_codegen.py */ 2 /* 3 * Copyright (C) 2013 Red Hat, Inc. 4 * SPDX-License-Identifier: LGPL-2.1-or-later 5 */ 6 7 #ifndef _H_SPICE_ENUMS 8 #define _H_SPICE_ENUMS 9 10 typedef enum SpiceLinkErr { 11 SPICE_LINK_ERR_OK, 12 SPICE_LINK_ERR_ERROR, 13 SPICE_LINK_ERR_INVALID_MAGIC, 14 SPICE_LINK_ERR_INVALID_DATA, 15 SPICE_LINK_ERR_VERSION_MISMATCH, 16 SPICE_LINK_ERR_NEED_SECURED, 17 SPICE_LINK_ERR_NEED_UNSECURED, 18 SPICE_LINK_ERR_PERMISSION_DENIED, 19 SPICE_LINK_ERR_BAD_CONNECTION_ID, 20 SPICE_LINK_ERR_CHANNEL_NOT_AVAILABLE, 21 22 SPICE_LINK_ERR_ENUM_END 23 } SpiceLinkErr; 24 25 static const value_string spice_link_err_vs[] = { 26 { SPICE_LINK_ERR_OK, "OK" }, 27 { SPICE_LINK_ERR_ERROR, "ERROR" }, 28 { SPICE_LINK_ERR_INVALID_MAGIC, "INVALID_MAGIC" }, 29 { SPICE_LINK_ERR_INVALID_DATA, "INVALID_DATA" }, 30 { SPICE_LINK_ERR_VERSION_MISMATCH, "VERSION_MISMATCH" }, 31 { SPICE_LINK_ERR_NEED_SECURED, "NEED_SECURED" }, 32 { SPICE_LINK_ERR_NEED_UNSECURED, "NEED_UNSECURED" }, 33 { SPICE_LINK_ERR_PERMISSION_DENIED, "PERMISSION_DENIED" }, 34 { SPICE_LINK_ERR_BAD_CONNECTION_ID, "BAD_CONNECTION_ID" }, 35 { SPICE_LINK_ERR_CHANNEL_NOT_AVAILABLE, "CHANNEL_NOT_AVAILABLE" }, 36 { 0, NULL } }; 37 38 typedef enum SpiceWarnCode { 39 SPICE_WARN_GENERAL, 40 41 SPICE_WARN_CODE_ENUM_END 42 } SpiceWarnCode; 43 44 static const value_string spice_warn_code_vs[] = { 45 { SPICE_WARN_GENERAL, "WARN_GENERAL" }, 46 { 0, NULL } }; 47 48 typedef enum SpiceInfoCode { 49 SPICE_INFO_GENERAL, 50 51 SPICE_INFO_CODE_ENUM_END 52 } SpiceInfoCode; 53 54 static const value_string spice_info_code_vs[] = { 55 { SPICE_INFO_GENERAL, "INFO_GENERAL" }, 56 { 0, NULL } }; 57 58 typedef enum SpiceMigrateFlags { 59 SPICE_MIGRATE_NEED_FLUSH = (1 << 0), 60 SPICE_MIGRATE_NEED_DATA_TRANSFER = (1 << 1), 61 62 SPICE_MIGRATE_FLAGS_MASK = 0x3 63 } SpiceMigrateFlags; 64 65 static const value_string spice_migrate_flags_vs[] = { 66 { SPICE_MIGRATE_NEED_FLUSH, "NEED_FLUSH" }, 67 { SPICE_MIGRATE_NEED_DATA_TRANSFER, "NEED_DATA_TRANSFER" }, 68 { 0, NULL } }; 69 70 typedef enum SpiceCompositeFlags { 71 SPICE_COMPOSITE_OP0 = (1 << 0), 72 SPICE_COMPOSITE_OP1 = (1 << 1), 73 SPICE_COMPOSITE_OP2 = (1 << 2), 74 SPICE_COMPOSITE_OP3 = (1 << 3), 75 SPICE_COMPOSITE_OP4 = (1 << 4), 76 SPICE_COMPOSITE_OP5 = (1 << 5), 77 SPICE_COMPOSITE_OP6 = (1 << 6), 78 SPICE_COMPOSITE_OP7 = (1 << 7), 79 SPICE_COMPOSITE_SRC_FILTER0 = (1 << 8), 80 SPICE_COMPOSITE_SRC_FILTER1 = (1 << 9), 81 SPICE_COMPOSITE_SRC_FILTER2 = (1 << 10), 82 SPICE_COMPOSITE_MASK_FILTER0 = (1 << 11), 83 SPICE_COMPOSITE_MASK_FITLER1 = (1 << 12), 84 SPICE_COMPOSITE_MASK_FILTER2 = (1 << 13), 85 SPICE_COMPOSITE_SRC_REPEAT0 = (1 << 14), 86 SPICE_COMPOSITE_SRC_REPEAT1 = (1 << 15), 87 SPICE_COMPOSITE_MASK_REPEAT0 = (1 << 16), 88 SPICE_COMPOSITE_MASK_REPEAT1 = (1 << 17), 89 SPICE_COMPOSITE_COMPONENT_ALPHA = (1 << 18), 90 SPICE_COMPOSITE_HAS_MASK = (1 << 19), 91 SPICE_COMPOSITE_HAS_SRC_TRANSFORM = (1 << 20), 92 SPICE_COMPOSITE_HAS_MASK_TRANSFORM = (1 << 21), 93 SPICE_COMPOSITE_SOURCE_OPAQUE = (1 << 22), 94 SPICE_COMPOSITE_MASK_OPAQUE = (1 << 23), 95 SPICE_COMPOSITE_DEST_OPAQUE = (1 << 24), 96 97 SPICE_COMPOSITE_FLAGS_MASK = 0x1ffffff 98 } SpiceCompositeFlags; 99 100 static const value_string spice_composite_flags_vs[] = { 101 { SPICE_COMPOSITE_OP0, "OP0" }, 102 { SPICE_COMPOSITE_OP1, "OP1" }, 103 { SPICE_COMPOSITE_OP2, "OP2" }, 104 { SPICE_COMPOSITE_OP3, "OP3" }, 105 { SPICE_COMPOSITE_OP4, "OP4" }, 106 { SPICE_COMPOSITE_OP5, "OP5" }, 107 { SPICE_COMPOSITE_OP6, "OP6" }, 108 { SPICE_COMPOSITE_OP7, "OP7" }, 109 { SPICE_COMPOSITE_SRC_FILTER0, "SRC_FILTER0" }, 110 { SPICE_COMPOSITE_SRC_FILTER1, "SRC_FILTER1" }, 111 { SPICE_COMPOSITE_SRC_FILTER2, "SRC_FILTER2" }, 112 { SPICE_COMPOSITE_MASK_FILTER0, "MASK_FILTER0" }, 113 { SPICE_COMPOSITE_MASK_FITLER1, "MASK_FITLER1" }, 114 { SPICE_COMPOSITE_MASK_FILTER2, "MASK_FILTER2" }, 115 { SPICE_COMPOSITE_SRC_REPEAT0, "SRC_REPEAT0" }, 116 { SPICE_COMPOSITE_SRC_REPEAT1, "SRC_REPEAT1" }, 117 { SPICE_COMPOSITE_MASK_REPEAT0, "MASK_REPEAT0" }, 118 { SPICE_COMPOSITE_MASK_REPEAT1, "MASK_REPEAT1" }, 119 { SPICE_COMPOSITE_COMPONENT_ALPHA, "COMPONENT_ALPHA" }, 120 { SPICE_COMPOSITE_HAS_MASK, "HAS_MASK" }, 121 { SPICE_COMPOSITE_HAS_SRC_TRANSFORM, "HAS_SRC_TRANSFORM" }, 122 { SPICE_COMPOSITE_HAS_MASK_TRANSFORM, "HAS_MASK_TRANSFORM" }, 123 { SPICE_COMPOSITE_SOURCE_OPAQUE, "SOURCE_OPAQUE" }, 124 { SPICE_COMPOSITE_MASK_OPAQUE, "MASK_OPAQUE" }, 125 { SPICE_COMPOSITE_DEST_OPAQUE, "DEST_OPAQUE" }, 126 { 0, NULL } }; 127 128 typedef enum SpiceNotifySeverity { 129 SPICE_NOTIFY_SEVERITY_INFO, 130 SPICE_NOTIFY_SEVERITY_WARN, 131 SPICE_NOTIFY_SEVERITY_ERROR, 132 133 SPICE_NOTIFY_SEVERITY_ENUM_END 134 } SpiceNotifySeverity; 135 136 static const value_string spice_notify_severity_vs[] = { 137 { SPICE_NOTIFY_SEVERITY_INFO, "INFO" }, 138 { SPICE_NOTIFY_SEVERITY_WARN, "WARN" }, 139 { SPICE_NOTIFY_SEVERITY_ERROR, "ERROR" }, 140 { 0, NULL } }; 141 142 typedef enum SpiceNotifyVisibility { 143 SPICE_NOTIFY_VISIBILITY_LOW, 144 SPICE_NOTIFY_VISIBILITY_MEDIUM, 145 SPICE_NOTIFY_VISIBILITY_HIGH, 146 147 SPICE_NOTIFY_VISIBILITY_ENUM_END 148 } SpiceNotifyVisibility; 149 150 static const value_string spice_notify_visibility_vs[] = { 151 { SPICE_NOTIFY_VISIBILITY_LOW, "LOW" }, 152 { SPICE_NOTIFY_VISIBILITY_MEDIUM, "MEDIUM" }, 153 { SPICE_NOTIFY_VISIBILITY_HIGH, "HIGH" }, 154 { 0, NULL } }; 155 156 typedef enum SpiceMouseMode { 157 SPICE_MOUSE_MODE_SERVER = (1 << 0), 158 SPICE_MOUSE_MODE_CLIENT = (1 << 1), 159 160 SPICE_MOUSE_MODE_MASK = 0x3 161 } SpiceMouseMode; 162 163 static const value_string spice_mouse_mode_vs[] = { 164 { SPICE_MOUSE_MODE_SERVER, "SERVER" }, 165 { SPICE_MOUSE_MODE_CLIENT, "CLIENT" }, 166 { 0, NULL } }; 167 168 typedef enum SpicePubkeyType { 169 SPICE_PUBKEY_TYPE_INVALID, 170 SPICE_PUBKEY_TYPE_RSA, 171 SPICE_PUBKEY_TYPE_RSA2, 172 SPICE_PUBKEY_TYPE_DSA, 173 SPICE_PUBKEY_TYPE_DSA1, 174 SPICE_PUBKEY_TYPE_DSA2, 175 SPICE_PUBKEY_TYPE_DSA3, 176 SPICE_PUBKEY_TYPE_DSA4, 177 SPICE_PUBKEY_TYPE_DH, 178 SPICE_PUBKEY_TYPE_EC, 179 180 SPICE_PUBKEY_TYPE_ENUM_END 181 } SpicePubkeyType; 182 183 static const value_string spice_pubkey_type_vs[] = { 184 { SPICE_PUBKEY_TYPE_INVALID, "INVALID" }, 185 { SPICE_PUBKEY_TYPE_RSA, "RSA" }, 186 { SPICE_PUBKEY_TYPE_RSA2, "RSA2" }, 187 { SPICE_PUBKEY_TYPE_DSA, "DSA" }, 188 { SPICE_PUBKEY_TYPE_DSA1, "DSA1" }, 189 { SPICE_PUBKEY_TYPE_DSA2, "DSA2" }, 190 { SPICE_PUBKEY_TYPE_DSA3, "DSA3" }, 191 { SPICE_PUBKEY_TYPE_DSA4, "DSA4" }, 192 { SPICE_PUBKEY_TYPE_DH, "DH" }, 193 { SPICE_PUBKEY_TYPE_EC, "EC" }, 194 { 0, NULL } }; 195 196 typedef enum SpiceDataCompressionType { 197 SPICE_DATA_COMPRESSION_TYPE_NONE, 198 SPICE_DATA_COMPRESSION_TYPE_LZ4, 199 200 SPICE_DATA_COMPRESSION_TYPE_ENUM_END 201 } SpiceDataCompressionType; 202 203 static const value_string spice_data_compression_type_vs[] = { 204 { SPICE_DATA_COMPRESSION_TYPE_NONE, "NONE" }, 205 { SPICE_DATA_COMPRESSION_TYPE_LZ4, "LZ4" }, 206 { 0, NULL } }; 207 208 typedef enum SpiceClipType { 209 SPICE_CLIP_TYPE_NONE, 210 SPICE_CLIP_TYPE_RECTS, 211 212 SPICE_CLIP_TYPE_ENUM_END 213 } SpiceClipType; 214 215 static const value_string spice_clip_type_vs[] = { 216 { SPICE_CLIP_TYPE_NONE, "NONE" }, 217 { SPICE_CLIP_TYPE_RECTS, "RECTS" }, 218 { 0, NULL } }; 219 220 typedef enum SpicePathFlags { 221 SPICE_PATH_BEGIN = (1 << 0), 222 SPICE_PATH_END = (1 << 1), 223 SPICE_PATH_CLOSE = (1 << 3), 224 SPICE_PATH_BEZIER = (1 << 4), 225 226 SPICE_PATH_FLAGS_MASK = 0x1b 227 } SpicePathFlags; 228 229 static const value_string spice_path_flags_vs[] = { 230 { SPICE_PATH_BEGIN, "BEGIN" }, 231 { SPICE_PATH_END, "END" }, 232 { SPICE_PATH_CLOSE, "CLOSE" }, 233 { SPICE_PATH_BEZIER, "BEZIER" }, 234 { 0, NULL } }; 235 236 typedef enum SpiceVideoCodecType { 237 SPICE_VIDEO_CODEC_TYPE_MJPEG = 1, 238 SPICE_VIDEO_CODEC_TYPE_VP8, 239 SPICE_VIDEO_CODEC_TYPE_H264, 240 SPICE_VIDEO_CODEC_TYPE_VP9, 241 SPICE_VIDEO_CODEC_TYPE_H265, 242 243 SPICE_VIDEO_CODEC_TYPE_ENUM_END 244 } SpiceVideoCodecType; 245 246 static const value_string spice_video_codec_type_vs[] = { 247 { SPICE_VIDEO_CODEC_TYPE_MJPEG, "MJPEG" }, 248 { SPICE_VIDEO_CODEC_TYPE_VP8, "VP8" }, 249 { SPICE_VIDEO_CODEC_TYPE_H264, "H264" }, 250 { SPICE_VIDEO_CODEC_TYPE_VP9, "VP9" }, 251 { SPICE_VIDEO_CODEC_TYPE_H265, "H265" }, 252 { 0, NULL } }; 253 254 typedef enum SpiceStreamFlags { 255 SPICE_STREAM_FLAGS_TOP_DOWN = (1 << 0), 256 257 SPICE_STREAM_FLAGS_MASK = 0x1 258 } SpiceStreamFlags; 259 260 static const value_string spice_stream_flags_vs[] = { 261 { SPICE_STREAM_FLAGS_TOP_DOWN, "TOP_DOWN" }, 262 { 0, NULL } }; 263 264 typedef enum SpiceBrushType { 265 SPICE_BRUSH_TYPE_NONE, 266 SPICE_BRUSH_TYPE_SOLID, 267 SPICE_BRUSH_TYPE_PATTERN, 268 269 SPICE_BRUSH_TYPE_ENUM_END 270 } SpiceBrushType; 271 272 static const value_string spice_brush_type_vs[] = { 273 { SPICE_BRUSH_TYPE_NONE, "NONE" }, 274 { SPICE_BRUSH_TYPE_SOLID, "SOLID" }, 275 { SPICE_BRUSH_TYPE_PATTERN, "PATTERN" }, 276 { 0, NULL } }; 277 278 typedef enum SpiceMaskFlags { 279 SPICE_MASK_FLAGS_INVERS = (1 << 0), 280 281 SPICE_MASK_FLAGS_MASK = 0x1 282 } SpiceMaskFlags; 283 284 static const value_string spice_mask_flags_vs[] = { 285 { SPICE_MASK_FLAGS_INVERS, "INVERS" }, 286 { 0, NULL } }; 287 288 typedef enum SpiceImageType { 289 SPICE_IMAGE_TYPE_BITMAP, 290 SPICE_IMAGE_TYPE_QUIC, 291 SPICE_IMAGE_TYPE_RESERVED, 292 SPICE_IMAGE_TYPE_LZ_PLT = 100, 293 SPICE_IMAGE_TYPE_LZ_RGB, 294 SPICE_IMAGE_TYPE_GLZ_RGB, 295 SPICE_IMAGE_TYPE_FROM_CACHE, 296 SPICE_IMAGE_TYPE_SURFACE, 297 SPICE_IMAGE_TYPE_JPEG, 298 SPICE_IMAGE_TYPE_FROM_CACHE_LOSSLESS, 299 SPICE_IMAGE_TYPE_ZLIB_GLZ_RGB, 300 SPICE_IMAGE_TYPE_JPEG_ALPHA, 301 SPICE_IMAGE_TYPE_LZ4, 302 303 SPICE_IMAGE_TYPE_ENUM_END 304 } SpiceImageType; 305 306 static const value_string spice_image_type_vs[] = { 307 { SPICE_IMAGE_TYPE_BITMAP, "BITMAP" }, 308 { SPICE_IMAGE_TYPE_QUIC, "QUIC" }, 309 { SPICE_IMAGE_TYPE_RESERVED, "RESERVED" }, 310 { SPICE_IMAGE_TYPE_LZ_PLT, "LZ_PLT" }, 311 { SPICE_IMAGE_TYPE_LZ_RGB, "LZ_RGB" }, 312 { SPICE_IMAGE_TYPE_GLZ_RGB, "GLZ_RGB" }, 313 { SPICE_IMAGE_TYPE_FROM_CACHE, "FROM_CACHE" }, 314 { SPICE_IMAGE_TYPE_SURFACE, "SURFACE" }, 315 { SPICE_IMAGE_TYPE_JPEG, "JPEG" }, 316 { SPICE_IMAGE_TYPE_FROM_CACHE_LOSSLESS, "FROM_CACHE_LOSSLESS" }, 317 { SPICE_IMAGE_TYPE_ZLIB_GLZ_RGB, "ZLIB_GLZ_RGB" }, 318 { SPICE_IMAGE_TYPE_JPEG_ALPHA, "JPEG_ALPHA" }, 319 { SPICE_IMAGE_TYPE_LZ4, "LZ4" }, 320 { 0, NULL } }; 321 322 typedef enum SpiceImageCompression { 323 SPICE_IMAGE_COMPRESSION_INVALID, 324 SPICE_IMAGE_COMPRESSION_OFF, 325 SPICE_IMAGE_COMPRESSION_AUTO_GLZ, 326 SPICE_IMAGE_COMPRESSION_AUTO_LZ, 327 SPICE_IMAGE_COMPRESSION_QUIC, 328 SPICE_IMAGE_COMPRESSION_GLZ, 329 SPICE_IMAGE_COMPRESSION_LZ, 330 SPICE_IMAGE_COMPRESSION_LZ4, 331 332 SPICE_IMAGE_COMPRESSION_ENUM_END 333 } SpiceImageCompression; 334 335 static const value_string spice_image_compression_vs[] = { 336 { SPICE_IMAGE_COMPRESSION_INVALID, "INVALID" }, 337 { SPICE_IMAGE_COMPRESSION_OFF, "OFF" }, 338 { SPICE_IMAGE_COMPRESSION_AUTO_GLZ, "AUTO_GLZ" }, 339 { SPICE_IMAGE_COMPRESSION_AUTO_LZ, "AUTO_LZ" }, 340 { SPICE_IMAGE_COMPRESSION_QUIC, "QUIC" }, 341 { SPICE_IMAGE_COMPRESSION_GLZ, "GLZ" }, 342 { SPICE_IMAGE_COMPRESSION_LZ, "LZ" }, 343 { SPICE_IMAGE_COMPRESSION_LZ4, "LZ4" }, 344 { 0, NULL } }; 345 346 typedef enum SpiceImageFlags { 347 SPICE_IMAGE_FLAGS_CACHE_ME = (1 << 0), 348 SPICE_IMAGE_FLAGS_HIGH_BITS_SET = (1 << 1), 349 SPICE_IMAGE_FLAGS_CACHE_REPLACE_ME = (1 << 2), 350 351 SPICE_IMAGE_FLAGS_MASK = 0x7 352 } SpiceImageFlags; 353 354 static const value_string spice_image_flags_vs[] = { 355 { SPICE_IMAGE_FLAGS_CACHE_ME, "CACHE_ME" }, 356 { SPICE_IMAGE_FLAGS_HIGH_BITS_SET, "HIGH_BITS_SET" }, 357 { SPICE_IMAGE_FLAGS_CACHE_REPLACE_ME, "CACHE_REPLACE_ME" }, 358 { 0, NULL } }; 359 360 typedef enum SpiceBitmapFmt { 361 SPICE_BITMAP_FMT_INVALID, 362 SPICE_BITMAP_FMT_1BIT_LE, 363 SPICE_BITMAP_FMT_1BIT_BE, 364 SPICE_BITMAP_FMT_4BIT_LE, 365 SPICE_BITMAP_FMT_4BIT_BE, 366 SPICE_BITMAP_FMT_8BIT, 367 SPICE_BITMAP_FMT_16BIT, 368 SPICE_BITMAP_FMT_24BIT, 369 SPICE_BITMAP_FMT_32BIT, 370 SPICE_BITMAP_FMT_RGBA, 371 SPICE_BITMAP_FMT_8BIT_A, 372 373 SPICE_BITMAP_FMT_ENUM_END 374 } SpiceBitmapFmt; 375 376 static const value_string spice_bitmap_fmt_vs[] = { 377 { SPICE_BITMAP_FMT_INVALID, "INVALID" }, 378 { SPICE_BITMAP_FMT_1BIT_LE, "1BIT_LE" }, 379 { SPICE_BITMAP_FMT_1BIT_BE, "1BIT_BE" }, 380 { SPICE_BITMAP_FMT_4BIT_LE, "4BIT_LE" }, 381 { SPICE_BITMAP_FMT_4BIT_BE, "4BIT_BE" }, 382 { SPICE_BITMAP_FMT_8BIT, "8BIT" }, 383 { SPICE_BITMAP_FMT_16BIT, "16BIT" }, 384 { SPICE_BITMAP_FMT_24BIT, "24BIT" }, 385 { SPICE_BITMAP_FMT_32BIT, "32BIT" }, 386 { SPICE_BITMAP_FMT_RGBA, "RGBA" }, 387 { SPICE_BITMAP_FMT_8BIT_A, "8BIT_A" }, 388 { 0, NULL } }; 389 390 typedef enum SpiceBitmapFlags { 391 SPICE_BITMAP_FLAGS_PAL_CACHE_ME = (1 << 0), 392 SPICE_BITMAP_FLAGS_PAL_FROM_CACHE = (1 << 1), 393 SPICE_BITMAP_FLAGS_TOP_DOWN = (1 << 2), 394 395 SPICE_BITMAP_FLAGS_MASK = 0x7 396 } SpiceBitmapFlags; 397 398 static const value_string spice_bitmap_flags_vs[] = { 399 { SPICE_BITMAP_FLAGS_PAL_CACHE_ME, "PAL_CACHE_ME" }, 400 { SPICE_BITMAP_FLAGS_PAL_FROM_CACHE, "PAL_FROM_CACHE" }, 401 { SPICE_BITMAP_FLAGS_TOP_DOWN, "TOP_DOWN" }, 402 { 0, NULL } }; 403 404 typedef enum SpiceJpegAlphaFlags { 405 SPICE_JPEG_ALPHA_FLAGS_TOP_DOWN = (1 << 0), 406 407 SPICE_JPEG_ALPHA_FLAGS_MASK = 0x1 408 } SpiceJpegAlphaFlags; 409 410 static const value_string spice_jpeg_alpha_flags_vs[] = { 411 { SPICE_JPEG_ALPHA_FLAGS_TOP_DOWN, "TOP_DOWN" }, 412 { 0, NULL } }; 413 414 typedef enum SpiceImageScaleMode { 415 SPICE_IMAGE_SCALE_MODE_INTERPOLATE, 416 SPICE_IMAGE_SCALE_MODE_NEAREST, 417 418 SPICE_IMAGE_SCALE_MODE_ENUM_END 419 } SpiceImageScaleMode; 420 421 static const value_string spice_image_scale_mode_vs[] = { 422 { SPICE_IMAGE_SCALE_MODE_INTERPOLATE, "INTERPOLATE" }, 423 { SPICE_IMAGE_SCALE_MODE_NEAREST, "NEAREST" }, 424 { 0, NULL } }; 425 426 typedef enum SpiceRopd { 427 SPICE_ROPD_INVERS_SRC = (1 << 0), 428 SPICE_ROPD_INVERS_BRUSH = (1 << 1), 429 SPICE_ROPD_INVERS_DEST = (1 << 2), 430 SPICE_ROPD_OP_PUT = (1 << 3), 431 SPICE_ROPD_OP_OR = (1 << 4), 432 SPICE_ROPD_OP_AND = (1 << 5), 433 SPICE_ROPD_OP_XOR = (1 << 6), 434 SPICE_ROPD_OP_BLACKNESS = (1 << 7), 435 SPICE_ROPD_OP_WHITENESS = (1 << 8), 436 SPICE_ROPD_OP_INVERS = (1 << 9), 437 SPICE_ROPD_INVERS_RES = (1 << 10), 438 439 SPICE_ROPD_MASK = 0x7ff 440 } SpiceRopd; 441 442 static const value_string spice_ropd_vs[] = { 443 { SPICE_ROPD_INVERS_SRC, "INVERS_SRC" }, 444 { SPICE_ROPD_INVERS_BRUSH, "INVERS_BRUSH" }, 445 { SPICE_ROPD_INVERS_DEST, "INVERS_DEST" }, 446 { SPICE_ROPD_OP_PUT, "OP_PUT" }, 447 { SPICE_ROPD_OP_OR, "OP_OR" }, 448 { SPICE_ROPD_OP_AND, "OP_AND" }, 449 { SPICE_ROPD_OP_XOR, "OP_XOR" }, 450 { SPICE_ROPD_OP_BLACKNESS, "OP_BLACKNESS" }, 451 { SPICE_ROPD_OP_WHITENESS, "OP_WHITENESS" }, 452 { SPICE_ROPD_OP_INVERS, "OP_INVERS" }, 453 { SPICE_ROPD_INVERS_RES, "INVERS_RES" }, 454 { 0, NULL } }; 455 456 typedef enum SpiceLineFlags { 457 SPICE_LINE_FLAGS_START_WITH_GAP = (1 << 2), 458 SPICE_LINE_FLAGS_STYLED = (1 << 3), 459 460 SPICE_LINE_FLAGS_MASK = 0xc 461 } SpiceLineFlags; 462 463 static const value_string spice_line_flags_vs[] = { 464 { SPICE_LINE_FLAGS_START_WITH_GAP, "START_WITH_GAP" }, 465 { SPICE_LINE_FLAGS_STYLED, "STYLED" }, 466 { 0, NULL } }; 467 468 typedef enum SpiceStringFlags { 469 SPICE_STRING_FLAGS_RASTER_A1 = (1 << 0), 470 SPICE_STRING_FLAGS_RASTER_A4 = (1 << 1), 471 SPICE_STRING_FLAGS_RASTER_A8 = (1 << 2), 472 SPICE_STRING_FLAGS_RASTER_TOP_DOWN = (1 << 3), 473 474 SPICE_STRING_FLAGS_MASK = 0xf 475 } SpiceStringFlags; 476 477 static const value_string spice_string_flags_vs[] = { 478 { SPICE_STRING_FLAGS_RASTER_A1, "RASTER_A1" }, 479 { SPICE_STRING_FLAGS_RASTER_A4, "RASTER_A4" }, 480 { SPICE_STRING_FLAGS_RASTER_A8, "RASTER_A8" }, 481 { SPICE_STRING_FLAGS_RASTER_TOP_DOWN, "RASTER_TOP_DOWN" }, 482 { 0, NULL } }; 483 484 typedef enum SpiceSurfaceFlags { 485 SPICE_SURFACE_FLAGS_PRIMARY = (1 << 0), 486 SPICE_SURFACE_FLAGS_STREAMING_MODE = (1 << 1), 487 488 SPICE_SURFACE_FLAGS_MASK = 0x3 489 } SpiceSurfaceFlags; 490 491 static const value_string spice_surface_flags_vs[] = { 492 { SPICE_SURFACE_FLAGS_PRIMARY, "PRIMARY" }, 493 { SPICE_SURFACE_FLAGS_STREAMING_MODE, "STREAMING_MODE" }, 494 { 0, NULL } }; 495 496 typedef enum SpiceSurfaceFmt { 497 SPICE_SURFACE_FMT_INVALID, 498 SPICE_SURFACE_FMT_1_A, 499 SPICE_SURFACE_FMT_8_A = 8, 500 SPICE_SURFACE_FMT_16_555 = 16, 501 SPICE_SURFACE_FMT_32_xRGB = 32, 502 SPICE_SURFACE_FMT_16_565 = 80, 503 SPICE_SURFACE_FMT_32_ARGB = 96, 504 505 SPICE_SURFACE_FMT_ENUM_END 506 } SpiceSurfaceFmt; 507 508 static const value_string spice_surface_fmt_vs[] = { 509 { SPICE_SURFACE_FMT_INVALID, "INVALID" }, 510 { SPICE_SURFACE_FMT_1_A, "1_A" }, 511 { SPICE_SURFACE_FMT_8_A, "8_A" }, 512 { SPICE_SURFACE_FMT_16_555, "16_555" }, 513 { SPICE_SURFACE_FMT_32_xRGB, "32_xRGB" }, 514 { SPICE_SURFACE_FMT_16_565, "16_565" }, 515 { SPICE_SURFACE_FMT_32_ARGB, "32_ARGB" }, 516 { 0, NULL } }; 517 518 typedef enum SpiceAlphaFlags { 519 SPICE_ALPHA_FLAGS_DEST_HAS_ALPHA = (1 << 0), 520 SPICE_ALPHA_FLAGS_SRC_SURFACE_HAS_ALPHA = (1 << 1), 521 522 SPICE_ALPHA_FLAGS_MASK = 0x3 523 } SpiceAlphaFlags; 524 525 static const value_string spice_alpha_flags_vs[] = { 526 { SPICE_ALPHA_FLAGS_DEST_HAS_ALPHA, "DEST_HAS_ALPHA" }, 527 { SPICE_ALPHA_FLAGS_SRC_SURFACE_HAS_ALPHA, "SRC_SURFACE_HAS_ALPHA" }, 528 { 0, NULL } }; 529 530 typedef enum SpiceResourceType { 531 SPICE_RES_TYPE_INVALID, 532 SPICE_RES_TYPE_PIXMAP, 533 534 SPICE_RESOURCE_TYPE_ENUM_END 535 } SpiceResourceType; 536 537 static const value_string spice_resource_type_vs[] = { 538 { SPICE_RES_TYPE_INVALID, "INVALID" }, 539 { SPICE_RES_TYPE_PIXMAP, "PIXMAP" }, 540 { 0, NULL } }; 541 542 typedef enum SpiceGlScanoutFlags { 543 SPICE_GL_SCANOUT_FLAGS_Y0TOP = (1 << 0), 544 545 SPICE_GL_SCANOUT_FLAGS_MASK = 0x1 546 } SpiceGlScanoutFlags; 547 548 static const value_string spice_gl_scanout_flags_vs[] = { 549 { SPICE_GL_SCANOUT_FLAGS_Y0TOP, "Y0TOP" }, 550 { 0, NULL } }; 551 552 typedef enum SpiceKeyboardModifierFlags { 553 SPICE_KEYBOARD_MODIFIER_FLAGS_SCROLL_LOCK = (1 << 0), 554 SPICE_KEYBOARD_MODIFIER_FLAGS_NUM_LOCK = (1 << 1), 555 SPICE_KEYBOARD_MODIFIER_FLAGS_CAPS_LOCK = (1 << 2), 556 557 SPICE_KEYBOARD_MODIFIER_FLAGS_MASK = 0x7 558 } SpiceKeyboardModifierFlags; 559 560 static const value_string spice_keyboard_modifier_flags_vs[] = { 561 { SPICE_KEYBOARD_MODIFIER_FLAGS_SCROLL_LOCK, "SCROLL_LOCK" }, 562 { SPICE_KEYBOARD_MODIFIER_FLAGS_NUM_LOCK, "NUM_LOCK" }, 563 { SPICE_KEYBOARD_MODIFIER_FLAGS_CAPS_LOCK, "CAPS_LOCK" }, 564 { 0, NULL } }; 565 566 typedef enum SpiceMouseButton { 567 SPICE_MOUSE_BUTTON_INVALID, 568 SPICE_MOUSE_BUTTON_LEFT, 569 SPICE_MOUSE_BUTTON_MIDDLE, 570 SPICE_MOUSE_BUTTON_RIGHT, 571 SPICE_MOUSE_BUTTON_UP, 572 SPICE_MOUSE_BUTTON_DOWN, 573 574 SPICE_MOUSE_BUTTON_ENUM_END 575 } SpiceMouseButton; 576 577 static const value_string spice_mouse_button_vs[] = { 578 { SPICE_MOUSE_BUTTON_INVALID, "INVALID" }, 579 { SPICE_MOUSE_BUTTON_LEFT, "LEFT" }, 580 { SPICE_MOUSE_BUTTON_MIDDLE, "MIDDLE" }, 581 { SPICE_MOUSE_BUTTON_RIGHT, "RIGHT" }, 582 { SPICE_MOUSE_BUTTON_UP, "UP" }, 583 { SPICE_MOUSE_BUTTON_DOWN, "DOWN" }, 584 { 0, NULL } }; 585 586 typedef enum SpiceMouseButtonMask { 587 SPICE_MOUSE_BUTTON_MASK_LEFT = (1 << 0), 588 SPICE_MOUSE_BUTTON_MASK_MIDDLE = (1 << 1), 589 SPICE_MOUSE_BUTTON_MASK_RIGHT = (1 << 2), 590 591 SPICE_MOUSE_BUTTON_MASK_MASK = 0x7 592 } SpiceMouseButtonMask; 593 594 static const value_string spice_mouse_button_mask_vs[] = { 595 { SPICE_MOUSE_BUTTON_MASK_LEFT, "LEFT" }, 596 { SPICE_MOUSE_BUTTON_MASK_MIDDLE, "MIDDLE" }, 597 { SPICE_MOUSE_BUTTON_MASK_RIGHT, "RIGHT" }, 598 { 0, NULL } }; 599 600 typedef enum SpiceCursorType { 601 SPICE_CURSOR_TYPE_ALPHA, 602 SPICE_CURSOR_TYPE_MONO, 603 SPICE_CURSOR_TYPE_COLOR4, 604 SPICE_CURSOR_TYPE_COLOR8, 605 SPICE_CURSOR_TYPE_COLOR16, 606 SPICE_CURSOR_TYPE_COLOR24, 607 SPICE_CURSOR_TYPE_COLOR32, 608 609 SPICE_CURSOR_TYPE_ENUM_END 610 } SpiceCursorType; 611 612 static const value_string spice_cursor_type_vs[] = { 613 { SPICE_CURSOR_TYPE_ALPHA, "ALPHA" }, 614 { SPICE_CURSOR_TYPE_MONO, "MONO" }, 615 { SPICE_CURSOR_TYPE_COLOR4, "COLOR4" }, 616 { SPICE_CURSOR_TYPE_COLOR8, "COLOR8" }, 617 { SPICE_CURSOR_TYPE_COLOR16, "COLOR16" }, 618 { SPICE_CURSOR_TYPE_COLOR24, "COLOR24" }, 619 { SPICE_CURSOR_TYPE_COLOR32, "COLOR32" }, 620 { 0, NULL } }; 621 622 typedef enum SpiceCursorFlags { 623 SPICE_CURSOR_FLAGS_NONE = (1 << 0), 624 SPICE_CURSOR_FLAGS_CACHE_ME = (1 << 1), 625 SPICE_CURSOR_FLAGS_FROM_CACHE = (1 << 2), 626 627 SPICE_CURSOR_FLAGS_MASK = 0x7 628 } SpiceCursorFlags; 629 630 static const value_string spice_cursor_flags_vs[] = { 631 { SPICE_CURSOR_FLAGS_NONE, "NONE" }, 632 { SPICE_CURSOR_FLAGS_CACHE_ME, "CACHE_ME" }, 633 { SPICE_CURSOR_FLAGS_FROM_CACHE, "FROM_CACHE" }, 634 { 0, NULL } }; 635 636 typedef enum SpiceAudioDataMode { 637 SPICE_AUDIO_DATA_MODE_INVALID, 638 SPICE_AUDIO_DATA_MODE_RAW, 639 SPICE_AUDIO_DATA_MODE_CELT_0_5_1, 640 SPICE_AUDIO_DATA_MODE_OPUS, 641 642 SPICE_AUDIO_DATA_MODE_ENUM_END 643 } SpiceAudioDataMode; 644 645 static const value_string spice_audio_data_mode_vs[] = { 646 { SPICE_AUDIO_DATA_MODE_INVALID, "INVALID" }, 647 { SPICE_AUDIO_DATA_MODE_RAW, "RAW" }, 648 { SPICE_AUDIO_DATA_MODE_CELT_0_5_1, "CELT_0_5_1" }, 649 { SPICE_AUDIO_DATA_MODE_OPUS, "OPUS" }, 650 { 0, NULL } }; 651 652 typedef enum SpiceAudioFmt { 653 SPICE_AUDIO_FMT_INVALID, 654 SPICE_AUDIO_FMT_S16, 655 656 SPICE_AUDIO_FMT_ENUM_END 657 } SpiceAudioFmt; 658 659 static const value_string spice_audio_fmt_vs[] = { 660 { SPICE_AUDIO_FMT_INVALID, "INVALID" }, 661 { SPICE_AUDIO_FMT_S16, "S16" }, 662 { 0, NULL } }; 663 664 typedef enum SpiceTunnelServiceType { 665 SPICE_TUNNEL_SERVICE_TYPE_INVALID, 666 SPICE_TUNNEL_SERVICE_TYPE_GENERIC, 667 SPICE_TUNNEL_SERVICE_TYPE_IPP, 668 669 SPICE_TUNNEL_SERVICE_TYPE_ENUM_END 670 } SpiceTunnelServiceType; 671 672 static const value_string spice_tunnel_service_type_vs[] = { 673 { SPICE_TUNNEL_SERVICE_TYPE_INVALID, "INVALID" }, 674 { SPICE_TUNNEL_SERVICE_TYPE_GENERIC, "GENERIC" }, 675 { SPICE_TUNNEL_SERVICE_TYPE_IPP, "IPP" }, 676 { 0, NULL } }; 677 678 typedef enum SpiceTunnelIpType { 679 SPICE_TUNNEL_IP_TYPE_INVALID, 680 SPICE_TUNNEL_IP_TYPE_IPv4, 681 682 SPICE_TUNNEL_IP_TYPE_ENUM_END 683 } SpiceTunnelIpType; 684 685 static const value_string spice_tunnel_ip_type_vs[] = { 686 { SPICE_TUNNEL_IP_TYPE_INVALID, "INVALID" }, 687 { SPICE_TUNNEL_IP_TYPE_IPv4, "IPv4" }, 688 { 0, NULL } }; 689 690 typedef enum SpiceVscMessageType { 691 SPICE_VSC_MESSAGE_TYPE_Init = 1, 692 SPICE_VSC_MESSAGE_TYPE_Error, 693 SPICE_VSC_MESSAGE_TYPE_ReaderAdd, 694 SPICE_VSC_MESSAGE_TYPE_ReaderRemove, 695 SPICE_VSC_MESSAGE_TYPE_ATR, 696 SPICE_VSC_MESSAGE_TYPE_CardRemove, 697 SPICE_VSC_MESSAGE_TYPE_APDU, 698 SPICE_VSC_MESSAGE_TYPE_Flush, 699 SPICE_VSC_MESSAGE_TYPE_FlushComplete, 700 701 SPICE_VSC_MESSAGE_TYPE_ENUM_END 702 } SpiceVscMessageType; 703 704 static const value_string spice_vsc_message_type_vs[] = { 705 { SPICE_VSC_MESSAGE_TYPE_Init, "Init" }, 706 { SPICE_VSC_MESSAGE_TYPE_Error, "Error" }, 707 { SPICE_VSC_MESSAGE_TYPE_ReaderAdd, "ReaderAdd" }, 708 { SPICE_VSC_MESSAGE_TYPE_ReaderRemove, "ReaderRemove" }, 709 { SPICE_VSC_MESSAGE_TYPE_ATR, "ATR" }, 710 { SPICE_VSC_MESSAGE_TYPE_CardRemove, "CardRemove" }, 711 { SPICE_VSC_MESSAGE_TYPE_APDU, "APDU" }, 712 { SPICE_VSC_MESSAGE_TYPE_Flush, "Flush" }, 713 { SPICE_VSC_MESSAGE_TYPE_FlushComplete, "FlushComplete" }, 714 { 0, NULL } }; 715 716 enum { 717 SPICE_CHANNEL_MAIN = 1, 718 SPICE_CHANNEL_DISPLAY, 719 SPICE_CHANNEL_INPUTS, 720 SPICE_CHANNEL_CURSOR, 721 SPICE_CHANNEL_PLAYBACK, 722 SPICE_CHANNEL_RECORD, 723 SPICE_CHANNEL_TUNNEL, 724 SPICE_CHANNEL_SMARTCARD, 725 SPICE_CHANNEL_USBREDIR, 726 SPICE_CHANNEL_PORT, 727 SPICE_CHANNEL_WEBDAV, 728 729 SPICE_END_CHANNEL 730 }; 731 732 static const value_string channel_types_vs[] = { 733 { SPICE_CHANNEL_MAIN, "MAIN" }, 734 { SPICE_CHANNEL_DISPLAY, "DISPLAY" }, 735 { SPICE_CHANNEL_INPUTS, "INPUTS" }, 736 { SPICE_CHANNEL_CURSOR, "CURSOR" }, 737 { SPICE_CHANNEL_PLAYBACK, "PLAYBACK" }, 738 { SPICE_CHANNEL_RECORD, "RECORD" }, 739 { SPICE_CHANNEL_TUNNEL, "TUNNEL" }, 740 { SPICE_CHANNEL_SMARTCARD, "SMARTCARD" }, 741 { SPICE_CHANNEL_USBREDIR, "USBREDIR" }, 742 { SPICE_CHANNEL_PORT, "PORT" }, 743 { SPICE_CHANNEL_WEBDAV, "WEBDAV" }, 744 745 { 0, NULL } 746 }; 747 748 enum { 749 SPICE_MSG_MIGRATE = 1, 750 SPICE_MSG_MIGRATE_DATA, 751 SPICE_MSG_SET_ACK, 752 SPICE_MSG_PING, 753 SPICE_MSG_WAIT_FOR_CHANNELS, 754 SPICE_MSG_DISCONNECTING, 755 SPICE_MSG_NOTIFY, 756 SPICE_MSG_LIST, 757 SPICE_MSG_BASE_LAST = 100, 758 }; 759 760 static const value_string spice_msg_vs[] = { 761 { SPICE_MSG_MIGRATE, "Server MIGRATE" }, 762 { SPICE_MSG_MIGRATE_DATA, "Server MIGRATE_DATA" }, 763 { SPICE_MSG_SET_ACK, "Server SET_ACK" }, 764 { SPICE_MSG_PING, "Server PING" }, 765 { SPICE_MSG_WAIT_FOR_CHANNELS, "Server WAIT_FOR_CHANNELS" }, 766 { SPICE_MSG_DISCONNECTING, "Server DISCONNECTING" }, 767 { SPICE_MSG_NOTIFY, "Server NOTIFY" }, 768 { SPICE_MSG_LIST, "Server LIST" }, 769 { SPICE_MSG_BASE_LAST, "Server BASE_LAST" }, 770 { 0, NULL } 771 }; 772 773 enum { 774 SPICE_MSGC_ACK_SYNC = 1, 775 SPICE_MSGC_ACK, 776 SPICE_MSGC_PONG, 777 SPICE_MSGC_MIGRATE_FLUSH_MARK, 778 SPICE_MSGC_MIGRATE_DATA, 779 SPICE_MSGC_DISCONNECTING, 780 }; 781 782 static const value_string spice_msgc_vs[] = { 783 { SPICE_MSGC_ACK_SYNC, "Client ACK_SYNC" }, 784 { SPICE_MSGC_ACK, "Client ACK" }, 785 { SPICE_MSGC_PONG, "Client PONG" }, 786 { SPICE_MSGC_MIGRATE_FLUSH_MARK, "Client MIGRATE_FLUSH_MARK" }, 787 { SPICE_MSGC_MIGRATE_DATA, "Client MIGRATE_DATA" }, 788 { SPICE_MSGC_DISCONNECTING, "Client DISCONNECTING" }, 789 { 0, NULL } 790 }; 791 792 enum { 793 SPICE_MSG_MAIN_MIGRATE_BEGIN = 101, 794 SPICE_MSG_MAIN_MIGRATE_CANCEL, 795 SPICE_MSG_MAIN_INIT, 796 SPICE_MSG_MAIN_CHANNELS_LIST, 797 SPICE_MSG_MAIN_MOUSE_MODE, 798 SPICE_MSG_MAIN_MULTI_MEDIA_TIME, 799 SPICE_MSG_MAIN_AGENT_CONNECTED, 800 SPICE_MSG_MAIN_AGENT_DISCONNECTED, 801 SPICE_MSG_MAIN_AGENT_DATA, 802 SPICE_MSG_MAIN_AGENT_TOKEN, 803 SPICE_MSG_MAIN_MIGRATE_SWITCH_HOST, 804 SPICE_MSG_MAIN_MIGRATE_END, 805 SPICE_MSG_MAIN_NAME, 806 SPICE_MSG_MAIN_UUID, 807 SPICE_MSG_MAIN_AGENT_CONNECTED_TOKENS, 808 SPICE_MSG_MAIN_MIGRATE_BEGIN_SEAMLESS, 809 SPICE_MSG_MAIN_MIGRATE_DST_SEAMLESS_ACK, 810 SPICE_MSG_MAIN_MIGRATE_DST_SEAMLESS_NACK, 811 812 SPICE_MSG_END_MAIN 813 }; 814 815 static const value_string spice_msg_main_vs[] = { 816 { SPICE_MSG_MAIN_MIGRATE_BEGIN, "Server MIGRATE_BEGIN" }, 817 { SPICE_MSG_MAIN_MIGRATE_CANCEL, "Server MIGRATE_CANCEL" }, 818 { SPICE_MSG_MAIN_INIT, "Server INIT" }, 819 { SPICE_MSG_MAIN_CHANNELS_LIST, "Server CHANNELS_LIST" }, 820 { SPICE_MSG_MAIN_MOUSE_MODE, "Server MOUSE_MODE" }, 821 { SPICE_MSG_MAIN_MULTI_MEDIA_TIME, "Server MULTI_MEDIA_TIME" }, 822 { SPICE_MSG_MAIN_AGENT_CONNECTED, "Server AGENT_CONNECTED" }, 823 { SPICE_MSG_MAIN_AGENT_DISCONNECTED, "Server AGENT_DISCONNECTED" }, 824 { SPICE_MSG_MAIN_AGENT_DATA, "Server AGENT_DATA" }, 825 { SPICE_MSG_MAIN_AGENT_TOKEN, "Server AGENT_TOKEN" }, 826 { SPICE_MSG_MAIN_MIGRATE_SWITCH_HOST, "Server MIGRATE_SWITCH_HOST" }, 827 { SPICE_MSG_MAIN_MIGRATE_END, "Server MIGRATE_END" }, 828 { SPICE_MSG_MAIN_NAME, "Server NAME" }, 829 { SPICE_MSG_MAIN_UUID, "Server UUID" }, 830 { SPICE_MSG_MAIN_AGENT_CONNECTED_TOKENS, "Server AGENT_CONNECTED_TOKENS" }, 831 { SPICE_MSG_MAIN_MIGRATE_BEGIN_SEAMLESS, "Server MIGRATE_BEGIN_SEAMLESS" }, 832 { SPICE_MSG_MAIN_MIGRATE_DST_SEAMLESS_ACK, "Server MIGRATE_DST_SEAMLESS_ACK" }, 833 { SPICE_MSG_MAIN_MIGRATE_DST_SEAMLESS_NACK, "Server MIGRATE_DST_SEAMLESS_NACK" }, 834 { 0, NULL } 835 }; 836 837 enum { 838 SPICE_MSGC_MAIN_CLIENT_INFO = 101, 839 SPICE_MSGC_MAIN_MIGRATE_CONNECTED, 840 SPICE_MSGC_MAIN_MIGRATE_CONNECT_ERROR, 841 SPICE_MSGC_MAIN_ATTACH_CHANNELS, 842 SPICE_MSGC_MAIN_MOUSE_MODE_REQUEST, 843 SPICE_MSGC_MAIN_AGENT_START, 844 SPICE_MSGC_MAIN_AGENT_DATA, 845 SPICE_MSGC_MAIN_AGENT_TOKEN, 846 SPICE_MSGC_MAIN_MIGRATE_END, 847 SPICE_MSGC_MAIN_MIGRATE_DST_DO_SEAMLESS, 848 SPICE_MSGC_MAIN_MIGRATE_CONNECTED_SEAMLESS, 849 850 SPICE_MSGC_END_MAIN 851 }; 852 853 static const value_string spice_msgc_main_vs[] = { 854 { SPICE_MSGC_MAIN_CLIENT_INFO, "Client CLIENT_INFO" }, 855 { SPICE_MSGC_MAIN_MIGRATE_CONNECTED, "Client MIGRATE_CONNECTED" }, 856 { SPICE_MSGC_MAIN_MIGRATE_CONNECT_ERROR, "Client MIGRATE_CONNECT_ERROR" }, 857 { SPICE_MSGC_MAIN_ATTACH_CHANNELS, "Client ATTACH_CHANNELS" }, 858 { SPICE_MSGC_MAIN_MOUSE_MODE_REQUEST, "Client MOUSE_MODE_REQUEST" }, 859 { SPICE_MSGC_MAIN_AGENT_START, "Client AGENT_START" }, 860 { SPICE_MSGC_MAIN_AGENT_DATA, "Client AGENT_DATA" }, 861 { SPICE_MSGC_MAIN_AGENT_TOKEN, "Client AGENT_TOKEN" }, 862 { SPICE_MSGC_MAIN_MIGRATE_END, "Client MIGRATE_END" }, 863 { SPICE_MSGC_MAIN_MIGRATE_DST_DO_SEAMLESS, "Client MIGRATE_DST_DO_SEAMLESS" }, 864 { SPICE_MSGC_MAIN_MIGRATE_CONNECTED_SEAMLESS, "Client MIGRATE_CONNECTED_SEAMLESS" }, 865 { 0, NULL } 866 }; 867 868 enum { 869 SPICE_MSG_DISPLAY_MODE = 101, 870 SPICE_MSG_DISPLAY_MARK, 871 SPICE_MSG_DISPLAY_RESET, 872 SPICE_MSG_DISPLAY_COPY_BITS, 873 SPICE_MSG_DISPLAY_INVAL_LIST, 874 SPICE_MSG_DISPLAY_INVAL_ALL_PIXMAPS, 875 SPICE_MSG_DISPLAY_INVAL_PALETTE, 876 SPICE_MSG_DISPLAY_INVAL_ALL_PALETTES, 877 SPICE_MSG_DISPLAY_STREAM_CREATE = 122, 878 SPICE_MSG_DISPLAY_STREAM_DATA, 879 SPICE_MSG_DISPLAY_STREAM_CLIP, 880 SPICE_MSG_DISPLAY_STREAM_DESTROY, 881 SPICE_MSG_DISPLAY_STREAM_DESTROY_ALL, 882 SPICE_MSG_DISPLAY_DRAW_FILL = 302, 883 SPICE_MSG_DISPLAY_DRAW_OPAQUE, 884 SPICE_MSG_DISPLAY_DRAW_COPY, 885 SPICE_MSG_DISPLAY_DRAW_BLEND, 886 SPICE_MSG_DISPLAY_DRAW_BLACKNESS, 887 SPICE_MSG_DISPLAY_DRAW_WHITENESS, 888 SPICE_MSG_DISPLAY_DRAW_INVERS, 889 SPICE_MSG_DISPLAY_DRAW_ROP3, 890 SPICE_MSG_DISPLAY_DRAW_STROKE, 891 SPICE_MSG_DISPLAY_DRAW_TEXT, 892 SPICE_MSG_DISPLAY_DRAW_TRANSPARENT, 893 SPICE_MSG_DISPLAY_DRAW_ALPHA_BLEND, 894 SPICE_MSG_DISPLAY_SURFACE_CREATE, 895 SPICE_MSG_DISPLAY_SURFACE_DESTROY, 896 SPICE_MSG_DISPLAY_STREAM_DATA_SIZED, 897 SPICE_MSG_DISPLAY_MONITORS_CONFIG, 898 SPICE_MSG_DISPLAY_DRAW_COMPOSITE, 899 SPICE_MSG_DISPLAY_STREAM_ACTIVATE_REPORT, 900 SPICE_MSG_DISPLAY_GL_SCANOUT_UNIX, 901 SPICE_MSG_DISPLAY_GL_DRAW, 902 903 SPICE_MSG_END_DISPLAY 904 }; 905 906 static const value_string spice_msg_display_vs[] = { 907 { SPICE_MSG_DISPLAY_MODE, "Server MODE" }, 908 { SPICE_MSG_DISPLAY_MARK, "Server MARK" }, 909 { SPICE_MSG_DISPLAY_RESET, "Server RESET" }, 910 { SPICE_MSG_DISPLAY_COPY_BITS, "Server COPY_BITS" }, 911 { SPICE_MSG_DISPLAY_INVAL_LIST, "Server INVAL_LIST" }, 912 { SPICE_MSG_DISPLAY_INVAL_ALL_PIXMAPS, "Server INVAL_ALL_PIXMAPS" }, 913 { SPICE_MSG_DISPLAY_INVAL_PALETTE, "Server INVAL_PALETTE" }, 914 { SPICE_MSG_DISPLAY_INVAL_ALL_PALETTES, "Server INVAL_ALL_PALETTES" }, 915 { SPICE_MSG_DISPLAY_STREAM_CREATE, "Server STREAM_CREATE" }, 916 { SPICE_MSG_DISPLAY_STREAM_DATA, "Server STREAM_DATA" }, 917 { SPICE_MSG_DISPLAY_STREAM_CLIP, "Server STREAM_CLIP" }, 918 { SPICE_MSG_DISPLAY_STREAM_DESTROY, "Server STREAM_DESTROY" }, 919 { SPICE_MSG_DISPLAY_STREAM_DESTROY_ALL, "Server STREAM_DESTROY_ALL" }, 920 { SPICE_MSG_DISPLAY_DRAW_FILL, "Server DRAW_FILL" }, 921 { SPICE_MSG_DISPLAY_DRAW_OPAQUE, "Server DRAW_OPAQUE" }, 922 { SPICE_MSG_DISPLAY_DRAW_COPY, "Server DRAW_COPY" }, 923 { SPICE_MSG_DISPLAY_DRAW_BLEND, "Server DRAW_BLEND" }, 924 { SPICE_MSG_DISPLAY_DRAW_BLACKNESS, "Server DRAW_BLACKNESS" }, 925 { SPICE_MSG_DISPLAY_DRAW_WHITENESS, "Server DRAW_WHITENESS" }, 926 { SPICE_MSG_DISPLAY_DRAW_INVERS, "Server DRAW_INVERS" }, 927 { SPICE_MSG_DISPLAY_DRAW_ROP3, "Server DRAW_ROP3" }, 928 { SPICE_MSG_DISPLAY_DRAW_STROKE, "Server DRAW_STROKE" }, 929 { SPICE_MSG_DISPLAY_DRAW_TEXT, "Server DRAW_TEXT" }, 930 { SPICE_MSG_DISPLAY_DRAW_TRANSPARENT, "Server DRAW_TRANSPARENT" }, 931 { SPICE_MSG_DISPLAY_DRAW_ALPHA_BLEND, "Server DRAW_ALPHA_BLEND" }, 932 { SPICE_MSG_DISPLAY_SURFACE_CREATE, "Server SURFACE_CREATE" }, 933 { SPICE_MSG_DISPLAY_SURFACE_DESTROY, "Server SURFACE_DESTROY" }, 934 { SPICE_MSG_DISPLAY_STREAM_DATA_SIZED, "Server STREAM_DATA_SIZED" }, 935 { SPICE_MSG_DISPLAY_MONITORS_CONFIG, "Server MONITORS_CONFIG" }, 936 { SPICE_MSG_DISPLAY_DRAW_COMPOSITE, "Server DRAW_COMPOSITE" }, 937 { SPICE_MSG_DISPLAY_STREAM_ACTIVATE_REPORT, "Server STREAM_ACTIVATE_REPORT" }, 938 { SPICE_MSG_DISPLAY_GL_SCANOUT_UNIX, "Server GL_SCANOUT_UNIX" }, 939 { SPICE_MSG_DISPLAY_GL_DRAW, "Server GL_DRAW" }, 940 { 0, NULL } 941 }; 942 943 enum { 944 SPICE_MSGC_DISPLAY_INIT = 101, 945 SPICE_MSGC_DISPLAY_STREAM_REPORT, 946 SPICE_MSGC_DISPLAY_PREFERRED_COMPRESSION, 947 SPICE_MSGC_DISPLAY_GL_DRAW_DONE, 948 SPICE_MSGC_DISPLAY_PREFERRED_VIDEO_CODEC_TYPE, 949 950 SPICE_MSGC_END_DISPLAY 951 }; 952 953 static const value_string spice_msgc_display_vs[] = { 954 { SPICE_MSGC_DISPLAY_INIT, "Client INIT" }, 955 { SPICE_MSGC_DISPLAY_STREAM_REPORT, "Client STREAM_REPORT" }, 956 { SPICE_MSGC_DISPLAY_PREFERRED_COMPRESSION, "Client PREFERRED_COMPRESSION" }, 957 { SPICE_MSGC_DISPLAY_GL_DRAW_DONE, "Client GL_DRAW_DONE" }, 958 { SPICE_MSGC_DISPLAY_PREFERRED_VIDEO_CODEC_TYPE, "Client PREFERRED_VIDEO_CODEC_TYPE" }, 959 { 0, NULL } 960 }; 961 962 enum { 963 SPICE_MSG_INPUTS_INIT = 101, 964 SPICE_MSG_INPUTS_KEY_MODIFIERS, 965 SPICE_MSG_INPUTS_MOUSE_MOTION_ACK = 111, 966 967 SPICE_MSG_END_INPUTS 968 }; 969 970 static const value_string spice_msg_inputs_vs[] = { 971 { SPICE_MSG_INPUTS_INIT, "Server INIT" }, 972 { SPICE_MSG_INPUTS_KEY_MODIFIERS, "Server KEY_MODIFIERS" }, 973 { SPICE_MSG_INPUTS_MOUSE_MOTION_ACK, "Server MOUSE_MOTION_ACK" }, 974 { 0, NULL } 975 }; 976 977 enum { 978 SPICE_MSGC_INPUTS_KEY_DOWN = 101, 979 SPICE_MSGC_INPUTS_KEY_UP, 980 SPICE_MSGC_INPUTS_KEY_MODIFIERS, 981 SPICE_MSGC_INPUTS_KEY_SCANCODE, 982 SPICE_MSGC_INPUTS_MOUSE_MOTION = 111, 983 SPICE_MSGC_INPUTS_MOUSE_POSITION, 984 SPICE_MSGC_INPUTS_MOUSE_PRESS, 985 SPICE_MSGC_INPUTS_MOUSE_RELEASE, 986 987 SPICE_MSGC_END_INPUTS 988 }; 989 990 static const value_string spice_msgc_inputs_vs[] = { 991 { SPICE_MSGC_INPUTS_KEY_DOWN, "Client KEY_DOWN" }, 992 { SPICE_MSGC_INPUTS_KEY_UP, "Client KEY_UP" }, 993 { SPICE_MSGC_INPUTS_KEY_MODIFIERS, "Client KEY_MODIFIERS" }, 994 { SPICE_MSGC_INPUTS_KEY_SCANCODE, "Client KEY_SCANCODE" }, 995 { SPICE_MSGC_INPUTS_MOUSE_MOTION, "Client MOUSE_MOTION" }, 996 { SPICE_MSGC_INPUTS_MOUSE_POSITION, "Client MOUSE_POSITION" }, 997 { SPICE_MSGC_INPUTS_MOUSE_PRESS, "Client MOUSE_PRESS" }, 998 { SPICE_MSGC_INPUTS_MOUSE_RELEASE, "Client MOUSE_RELEASE" }, 999 { 0, NULL } 1000 }; 1001 1002 enum { 1003 SPICE_MSG_CURSOR_INIT = 101, 1004 SPICE_MSG_CURSOR_RESET, 1005 SPICE_MSG_CURSOR_SET, 1006 SPICE_MSG_CURSOR_MOVE, 1007 SPICE_MSG_CURSOR_HIDE, 1008 SPICE_MSG_CURSOR_TRAIL, 1009 SPICE_MSG_CURSOR_INVAL_ONE, 1010 SPICE_MSG_CURSOR_INVAL_ALL, 1011 1012 SPICE_MSG_END_CURSOR 1013 }; 1014 1015 static const value_string spice_msg_cursor_vs[] = { 1016 { SPICE_MSG_CURSOR_INIT, "Server INIT" }, 1017 { SPICE_MSG_CURSOR_RESET, "Server RESET" }, 1018 { SPICE_MSG_CURSOR_SET, "Server SET" }, 1019 { SPICE_MSG_CURSOR_MOVE, "Server MOVE" }, 1020 { SPICE_MSG_CURSOR_HIDE, "Server HIDE" }, 1021 { SPICE_MSG_CURSOR_TRAIL, "Server TRAIL" }, 1022 { SPICE_MSG_CURSOR_INVAL_ONE, "Server INVAL_ONE" }, 1023 { SPICE_MSG_CURSOR_INVAL_ALL, "Server INVAL_ALL" }, 1024 { 0, NULL } 1025 }; 1026 1027 enum { 1028 SPICE_MSG_PLAYBACK_DATA = 101, 1029 SPICE_MSG_PLAYBACK_MODE, 1030 SPICE_MSG_PLAYBACK_START, 1031 SPICE_MSG_PLAYBACK_STOP, 1032 SPICE_MSG_PLAYBACK_VOLUME, 1033 SPICE_MSG_PLAYBACK_MUTE, 1034 SPICE_MSG_PLAYBACK_LATENCY, 1035 1036 SPICE_MSG_END_PLAYBACK 1037 }; 1038 1039 static const value_string spice_msg_playback_vs[] = { 1040 { SPICE_MSG_PLAYBACK_DATA, "Server DATA" }, 1041 { SPICE_MSG_PLAYBACK_MODE, "Server MODE" }, 1042 { SPICE_MSG_PLAYBACK_START, "Server START" }, 1043 { SPICE_MSG_PLAYBACK_STOP, "Server STOP" }, 1044 { SPICE_MSG_PLAYBACK_VOLUME, "Server VOLUME" }, 1045 { SPICE_MSG_PLAYBACK_MUTE, "Server MUTE" }, 1046 { SPICE_MSG_PLAYBACK_LATENCY, "Server LATENCY" }, 1047 { 0, NULL } 1048 }; 1049 1050 enum { 1051 SPICE_MSG_RECORD_START = 101, 1052 SPICE_MSG_RECORD_STOP, 1053 SPICE_MSG_RECORD_VOLUME, 1054 SPICE_MSG_RECORD_MUTE, 1055 1056 SPICE_MSG_END_RECORD 1057 }; 1058 1059 static const value_string spice_msg_record_vs[] = { 1060 { SPICE_MSG_RECORD_START, "Server START" }, 1061 { SPICE_MSG_RECORD_STOP, "Server STOP" }, 1062 { SPICE_MSG_RECORD_VOLUME, "Server VOLUME" }, 1063 { SPICE_MSG_RECORD_MUTE, "Server MUTE" }, 1064 { 0, NULL } 1065 }; 1066 1067 enum { 1068 SPICE_MSGC_RECORD_DATA = 101, 1069 SPICE_MSGC_RECORD_MODE, 1070 SPICE_MSGC_RECORD_START_MARK, 1071 1072 SPICE_MSGC_END_RECORD 1073 }; 1074 1075 static const value_string spice_msgc_record_vs[] = { 1076 { SPICE_MSGC_RECORD_DATA, "Client DATA" }, 1077 { SPICE_MSGC_RECORD_MODE, "Client MODE" }, 1078 { SPICE_MSGC_RECORD_START_MARK, "Client START_MARK" }, 1079 { 0, NULL } 1080 }; 1081 1082 enum { 1083 SPICE_MSG_TUNNEL_INIT = 101, 1084 SPICE_MSG_TUNNEL_SERVICE_IP_MAP, 1085 SPICE_MSG_TUNNEL_SOCKET_OPEN, 1086 SPICE_MSG_TUNNEL_SOCKET_FIN, 1087 SPICE_MSG_TUNNEL_SOCKET_CLOSE, 1088 SPICE_MSG_TUNNEL_SOCKET_DATA, 1089 SPICE_MSG_TUNNEL_SOCKET_CLOSED_ACK, 1090 SPICE_MSG_TUNNEL_SOCKET_TOKEN, 1091 1092 SPICE_MSG_END_TUNNEL 1093 }; 1094 1095 static const value_string spice_msg_tunnel_vs[] = { 1096 { SPICE_MSG_TUNNEL_INIT, "Server INIT" }, 1097 { SPICE_MSG_TUNNEL_SERVICE_IP_MAP, "Server SERVICE_IP_MAP" }, 1098 { SPICE_MSG_TUNNEL_SOCKET_OPEN, "Server SOCKET_OPEN" }, 1099 { SPICE_MSG_TUNNEL_SOCKET_FIN, "Server SOCKET_FIN" }, 1100 { SPICE_MSG_TUNNEL_SOCKET_CLOSE, "Server SOCKET_CLOSE" }, 1101 { SPICE_MSG_TUNNEL_SOCKET_DATA, "Server SOCKET_DATA" }, 1102 { SPICE_MSG_TUNNEL_SOCKET_CLOSED_ACK, "Server SOCKET_CLOSED_ACK" }, 1103 { SPICE_MSG_TUNNEL_SOCKET_TOKEN, "Server SOCKET_TOKEN" }, 1104 { 0, NULL } 1105 }; 1106 1107 enum { 1108 SPICE_MSGC_TUNNEL_SERVICE_ADD = 101, 1109 SPICE_MSGC_TUNNEL_SERVICE_REMOVE, 1110 SPICE_MSGC_TUNNEL_SOCKET_OPEN_ACK, 1111 SPICE_MSGC_TUNNEL_SOCKET_OPEN_NACK, 1112 SPICE_MSGC_TUNNEL_SOCKET_FIN, 1113 SPICE_MSGC_TUNNEL_SOCKET_CLOSED, 1114 SPICE_MSGC_TUNNEL_SOCKET_CLOSED_ACK, 1115 SPICE_MSGC_TUNNEL_SOCKET_DATA, 1116 SPICE_MSGC_TUNNEL_SOCKET_TOKEN, 1117 1118 SPICE_MSGC_END_TUNNEL 1119 }; 1120 1121 static const value_string spice_msgc_tunnel_vs[] = { 1122 { SPICE_MSGC_TUNNEL_SERVICE_ADD, "Client SERVICE_ADD" }, 1123 { SPICE_MSGC_TUNNEL_SERVICE_REMOVE, "Client SERVICE_REMOVE" }, 1124 { SPICE_MSGC_TUNNEL_SOCKET_OPEN_ACK, "Client SOCKET_OPEN_ACK" }, 1125 { SPICE_MSGC_TUNNEL_SOCKET_OPEN_NACK, "Client SOCKET_OPEN_NACK" }, 1126 { SPICE_MSGC_TUNNEL_SOCKET_FIN, "Client SOCKET_FIN" }, 1127 { SPICE_MSGC_TUNNEL_SOCKET_CLOSED, "Client SOCKET_CLOSED" }, 1128 { SPICE_MSGC_TUNNEL_SOCKET_CLOSED_ACK, "Client SOCKET_CLOSED_ACK" }, 1129 { SPICE_MSGC_TUNNEL_SOCKET_DATA, "Client SOCKET_DATA" }, 1130 { SPICE_MSGC_TUNNEL_SOCKET_TOKEN, "Client SOCKET_TOKEN" }, 1131 { 0, NULL } 1132 }; 1133 1134 enum { 1135 SPICE_MSG_SMARTCARD_DATA = 101, 1136 1137 SPICE_MSG_END_SMARTCARD 1138 }; 1139 1140 static const value_string spice_msg_smartcard_vs[] = { 1141 { SPICE_MSG_SMARTCARD_DATA, "Server DATA" }, 1142 { 0, NULL } 1143 }; 1144 1145 enum { 1146 SPICE_MSGC_SMARTCARD_HEADER = 101, 1147 1148 SPICE_MSGC_END_SMARTCARD 1149 }; 1150 1151 static const value_string spice_msgc_smartcard_vs[] = { 1152 { SPICE_MSGC_SMARTCARD_HEADER, "Client HEADER" }, 1153 { 0, NULL } 1154 }; 1155 1156 enum { 1157 SPICE_MSG_SPICEVMC_DATA = 101, 1158 SPICE_MSG_SPICEVMC_COMPRESSED_DATA, 1159 1160 SPICE_MSG_END_SPICEVMC 1161 }; 1162 1163 static const value_string spice_msg_spicevmc_vs[] = { 1164 { SPICE_MSG_SPICEVMC_DATA, "Server DATA" }, 1165 { SPICE_MSG_SPICEVMC_COMPRESSED_DATA, "Server COMPRESSED_DATA" }, 1166 { 0, NULL } 1167 }; 1168 1169 enum { 1170 SPICE_MSGC_SPICEVMC_DATA = 101, 1171 SPICE_MSGC_SPICEVMC_COMPRESSED_DATA, 1172 1173 SPICE_MSGC_END_SPICEVMC 1174 }; 1175 1176 static const value_string spice_msgc_spicevmc_vs[] = { 1177 { SPICE_MSGC_SPICEVMC_DATA, "Client DATA" }, 1178 { SPICE_MSGC_SPICEVMC_COMPRESSED_DATA, "Client COMPRESSED_DATA" }, 1179 { 0, NULL } 1180 }; 1181 1182 enum { 1183 SPICE_MSG_PORT_INIT = 201, 1184 SPICE_MSG_PORT_EVENT, 1185 1186 SPICE_MSG_END_PORT 1187 }; 1188 1189 static const value_string spice_msg_port_vs[] = { 1190 { SPICE_MSG_PORT_INIT, "Server INIT" }, 1191 { SPICE_MSG_PORT_EVENT, "Server EVENT" }, 1192 { 0, NULL } 1193 }; 1194 1195 enum { 1196 SPICE_MSGC_PORT_EVENT = 201, 1197 1198 SPICE_MSGC_END_PORT 1199 }; 1200 1201 static const value_string spice_msgc_port_vs[] = { 1202 { SPICE_MSGC_PORT_EVENT, "Client EVENT" }, 1203 { 0, NULL } 1204 }; 1205 1206 #endif /* _H_SPICE_ENUMS */ 1207