1 | /* AUTOMATICALLY GENERATED, DO NOT MODIFY */ |
2 | |
3 | /* |
4 | * Schema-defined QAPI types |
5 | * |
6 | * Copyright IBM, Corp. 2011 |
7 | * Copyright (c) 2013-2018 Red Hat Inc. |
8 | * |
9 | * This work is licensed under the terms of the GNU LGPL, version 2.1 or later. |
10 | * See the COPYING.LIB file in the top-level directory. |
11 | */ |
12 | |
13 | #ifndef QAPI_TYPES_UI_H |
14 | #define QAPI_TYPES_UI_H |
15 | |
16 | #include "qapi/qapi-builtin-types.h" |
17 | #include "qapi-types-sockets.h" |
18 | |
19 | typedef struct q_obj_set_password_arg q_obj_set_password_arg; |
20 | |
21 | typedef struct q_obj_expire_password_arg q_obj_expire_password_arg; |
22 | |
23 | typedef struct q_obj_screendump_arg q_obj_screendump_arg; |
24 | |
25 | #if defined(CONFIG_SPICE) |
26 | typedef struct SpiceBasicInfo SpiceBasicInfo; |
27 | #endif /* defined(CONFIG_SPICE) */ |
28 | |
29 | #if defined(CONFIG_SPICE) |
30 | typedef struct SpiceServerInfo SpiceServerInfo; |
31 | #endif /* defined(CONFIG_SPICE) */ |
32 | |
33 | #if defined(CONFIG_SPICE) |
34 | typedef struct SpiceChannel SpiceChannel; |
35 | #endif /* defined(CONFIG_SPICE) */ |
36 | |
37 | #if defined(CONFIG_SPICE) |
38 | typedef enum SpiceQueryMouseMode { |
39 | SPICE_QUERY_MOUSE_MODE_CLIENT, |
40 | SPICE_QUERY_MOUSE_MODE_SERVER, |
41 | SPICE_QUERY_MOUSE_MODE_UNKNOWN, |
42 | SPICE_QUERY_MOUSE_MODE__MAX, |
43 | } SpiceQueryMouseMode; |
44 | |
45 | #define SpiceQueryMouseMode_str(val) \ |
46 | qapi_enum_lookup(&SpiceQueryMouseMode_lookup, (val)) |
47 | |
48 | extern const QEnumLookup SpiceQueryMouseMode_lookup; |
49 | #endif /* defined(CONFIG_SPICE) */ |
50 | |
51 | #if defined(CONFIG_SPICE) |
52 | typedef struct SpiceChannelList SpiceChannelList; |
53 | #endif /* defined(CONFIG_SPICE) */ |
54 | |
55 | #if defined(CONFIG_SPICE) |
56 | typedef struct SpiceInfo SpiceInfo; |
57 | #endif /* defined(CONFIG_SPICE) */ |
58 | |
59 | #if defined(CONFIG_SPICE) |
60 | typedef struct q_obj_SPICE_CONNECTED_arg q_obj_SPICE_CONNECTED_arg; |
61 | #endif /* defined(CONFIG_SPICE) */ |
62 | |
63 | #if defined(CONFIG_SPICE) |
64 | typedef struct q_obj_SPICE_INITIALIZED_arg q_obj_SPICE_INITIALIZED_arg; |
65 | #endif /* defined(CONFIG_SPICE) */ |
66 | |
67 | #if defined(CONFIG_SPICE) |
68 | typedef struct q_obj_SPICE_DISCONNECTED_arg q_obj_SPICE_DISCONNECTED_arg; |
69 | #endif /* defined(CONFIG_SPICE) */ |
70 | |
71 | #if defined(CONFIG_VNC) |
72 | typedef struct VncBasicInfo VncBasicInfo; |
73 | #endif /* defined(CONFIG_VNC) */ |
74 | |
75 | #if defined(CONFIG_VNC) |
76 | typedef struct VncServerInfo VncServerInfo; |
77 | #endif /* defined(CONFIG_VNC) */ |
78 | |
79 | #if defined(CONFIG_VNC) |
80 | typedef struct VncClientInfo VncClientInfo; |
81 | #endif /* defined(CONFIG_VNC) */ |
82 | |
83 | #if defined(CONFIG_VNC) |
84 | typedef struct VncClientInfoList VncClientInfoList; |
85 | #endif /* defined(CONFIG_VNC) */ |
86 | |
87 | #if defined(CONFIG_VNC) |
88 | typedef struct VncInfo VncInfo; |
89 | #endif /* defined(CONFIG_VNC) */ |
90 | |
91 | #if defined(CONFIG_VNC) |
92 | typedef enum VncPrimaryAuth { |
93 | VNC_PRIMARY_AUTH_NONE, |
94 | VNC_PRIMARY_AUTH_VNC, |
95 | VNC_PRIMARY_AUTH_RA2, |
96 | VNC_PRIMARY_AUTH_RA2NE, |
97 | VNC_PRIMARY_AUTH_TIGHT, |
98 | VNC_PRIMARY_AUTH_ULTRA, |
99 | VNC_PRIMARY_AUTH_TLS, |
100 | VNC_PRIMARY_AUTH_VENCRYPT, |
101 | VNC_PRIMARY_AUTH_SASL, |
102 | VNC_PRIMARY_AUTH__MAX, |
103 | } VncPrimaryAuth; |
104 | |
105 | #define VncPrimaryAuth_str(val) \ |
106 | qapi_enum_lookup(&VncPrimaryAuth_lookup, (val)) |
107 | |
108 | extern const QEnumLookup VncPrimaryAuth_lookup; |
109 | #endif /* defined(CONFIG_VNC) */ |
110 | |
111 | #if defined(CONFIG_VNC) |
112 | typedef enum VncVencryptSubAuth { |
113 | VNC_VENCRYPT_SUB_AUTH_PLAIN, |
114 | VNC_VENCRYPT_SUB_AUTH_TLS_NONE, |
115 | VNC_VENCRYPT_SUB_AUTH_X509_NONE, |
116 | VNC_VENCRYPT_SUB_AUTH_TLS_VNC, |
117 | VNC_VENCRYPT_SUB_AUTH_X509_VNC, |
118 | VNC_VENCRYPT_SUB_AUTH_TLS_PLAIN, |
119 | VNC_VENCRYPT_SUB_AUTH_X509_PLAIN, |
120 | VNC_VENCRYPT_SUB_AUTH_TLS_SASL, |
121 | VNC_VENCRYPT_SUB_AUTH_X509_SASL, |
122 | VNC_VENCRYPT_SUB_AUTH__MAX, |
123 | } VncVencryptSubAuth; |
124 | |
125 | #define VncVencryptSubAuth_str(val) \ |
126 | qapi_enum_lookup(&VncVencryptSubAuth_lookup, (val)) |
127 | |
128 | extern const QEnumLookup VncVencryptSubAuth_lookup; |
129 | #endif /* defined(CONFIG_VNC) */ |
130 | |
131 | #if defined(CONFIG_VNC) |
132 | typedef struct VncServerInfo2 VncServerInfo2; |
133 | #endif /* defined(CONFIG_VNC) */ |
134 | |
135 | #if defined(CONFIG_VNC) |
136 | typedef struct VncServerInfo2List VncServerInfo2List; |
137 | #endif /* defined(CONFIG_VNC) */ |
138 | |
139 | #if defined(CONFIG_VNC) |
140 | typedef struct VncInfo2 VncInfo2; |
141 | #endif /* defined(CONFIG_VNC) */ |
142 | |
143 | #if defined(CONFIG_VNC) |
144 | typedef struct VncInfo2List VncInfo2List; |
145 | #endif /* defined(CONFIG_VNC) */ |
146 | |
147 | #if defined(CONFIG_VNC) |
148 | typedef struct q_obj_change_vnc_password_arg q_obj_change_vnc_password_arg; |
149 | #endif /* defined(CONFIG_VNC) */ |
150 | |
151 | #if defined(CONFIG_VNC) |
152 | typedef struct q_obj_VNC_CONNECTED_arg q_obj_VNC_CONNECTED_arg; |
153 | #endif /* defined(CONFIG_VNC) */ |
154 | |
155 | #if defined(CONFIG_VNC) |
156 | typedef struct q_obj_VNC_INITIALIZED_arg q_obj_VNC_INITIALIZED_arg; |
157 | #endif /* defined(CONFIG_VNC) */ |
158 | |
159 | #if defined(CONFIG_VNC) |
160 | typedef struct q_obj_VNC_DISCONNECTED_arg q_obj_VNC_DISCONNECTED_arg; |
161 | #endif /* defined(CONFIG_VNC) */ |
162 | |
163 | typedef struct MouseInfo MouseInfo; |
164 | |
165 | typedef struct MouseInfoList MouseInfoList; |
166 | |
167 | typedef enum QKeyCode { |
168 | Q_KEY_CODE_UNMAPPED, |
169 | Q_KEY_CODE_SHIFT, |
170 | Q_KEY_CODE_SHIFT_R, |
171 | Q_KEY_CODE_ALT, |
172 | Q_KEY_CODE_ALT_R, |
173 | Q_KEY_CODE_CTRL, |
174 | Q_KEY_CODE_CTRL_R, |
175 | , |
176 | Q_KEY_CODE_ESC, |
177 | Q_KEY_CODE_1, |
178 | Q_KEY_CODE_2, |
179 | Q_KEY_CODE_3, |
180 | Q_KEY_CODE_4, |
181 | Q_KEY_CODE_5, |
182 | Q_KEY_CODE_6, |
183 | Q_KEY_CODE_7, |
184 | Q_KEY_CODE_8, |
185 | Q_KEY_CODE_9, |
186 | Q_KEY_CODE_0, |
187 | Q_KEY_CODE_MINUS, |
188 | Q_KEY_CODE_EQUAL, |
189 | Q_KEY_CODE_BACKSPACE, |
190 | Q_KEY_CODE_TAB, |
191 | Q_KEY_CODE_Q, |
192 | Q_KEY_CODE_W, |
193 | Q_KEY_CODE_E, |
194 | Q_KEY_CODE_R, |
195 | Q_KEY_CODE_T, |
196 | Q_KEY_CODE_Y, |
197 | Q_KEY_CODE_U, |
198 | Q_KEY_CODE_I, |
199 | Q_KEY_CODE_O, |
200 | Q_KEY_CODE_P, |
201 | Q_KEY_CODE_BRACKET_LEFT, |
202 | Q_KEY_CODE_BRACKET_RIGHT, |
203 | Q_KEY_CODE_RET, |
204 | Q_KEY_CODE_A, |
205 | Q_KEY_CODE_S, |
206 | Q_KEY_CODE_D, |
207 | Q_KEY_CODE_F, |
208 | Q_KEY_CODE_G, |
209 | Q_KEY_CODE_H, |
210 | Q_KEY_CODE_J, |
211 | Q_KEY_CODE_K, |
212 | Q_KEY_CODE_L, |
213 | Q_KEY_CODE_SEMICOLON, |
214 | Q_KEY_CODE_APOSTROPHE, |
215 | Q_KEY_CODE_GRAVE_ACCENT, |
216 | Q_KEY_CODE_BACKSLASH, |
217 | Q_KEY_CODE_Z, |
218 | Q_KEY_CODE_X, |
219 | Q_KEY_CODE_C, |
220 | Q_KEY_CODE_V, |
221 | Q_KEY_CODE_B, |
222 | Q_KEY_CODE_N, |
223 | Q_KEY_CODE_M, |
224 | Q_KEY_CODE_COMMA, |
225 | Q_KEY_CODE_DOT, |
226 | Q_KEY_CODE_SLASH, |
227 | Q_KEY_CODE_ASTERISK, |
228 | Q_KEY_CODE_SPC, |
229 | Q_KEY_CODE_CAPS_LOCK, |
230 | Q_KEY_CODE_F1, |
231 | Q_KEY_CODE_F2, |
232 | Q_KEY_CODE_F3, |
233 | Q_KEY_CODE_F4, |
234 | Q_KEY_CODE_F5, |
235 | Q_KEY_CODE_F6, |
236 | Q_KEY_CODE_F7, |
237 | Q_KEY_CODE_F8, |
238 | Q_KEY_CODE_F9, |
239 | Q_KEY_CODE_F10, |
240 | Q_KEY_CODE_NUM_LOCK, |
241 | Q_KEY_CODE_SCROLL_LOCK, |
242 | Q_KEY_CODE_KP_DIVIDE, |
243 | Q_KEY_CODE_KP_MULTIPLY, |
244 | Q_KEY_CODE_KP_SUBTRACT, |
245 | Q_KEY_CODE_KP_ADD, |
246 | Q_KEY_CODE_KP_ENTER, |
247 | Q_KEY_CODE_KP_DECIMAL, |
248 | Q_KEY_CODE_SYSRQ, |
249 | Q_KEY_CODE_KP_0, |
250 | Q_KEY_CODE_KP_1, |
251 | Q_KEY_CODE_KP_2, |
252 | Q_KEY_CODE_KP_3, |
253 | Q_KEY_CODE_KP_4, |
254 | Q_KEY_CODE_KP_5, |
255 | Q_KEY_CODE_KP_6, |
256 | Q_KEY_CODE_KP_7, |
257 | Q_KEY_CODE_KP_8, |
258 | Q_KEY_CODE_KP_9, |
259 | Q_KEY_CODE_LESS, |
260 | Q_KEY_CODE_F11, |
261 | Q_KEY_CODE_F12, |
262 | Q_KEY_CODE_PRINT, |
263 | Q_KEY_CODE_HOME, |
264 | Q_KEY_CODE_PGUP, |
265 | Q_KEY_CODE_PGDN, |
266 | Q_KEY_CODE_END, |
267 | Q_KEY_CODE_LEFT, |
268 | Q_KEY_CODE_UP, |
269 | Q_KEY_CODE_DOWN, |
270 | Q_KEY_CODE_RIGHT, |
271 | Q_KEY_CODE_INSERT, |
272 | Q_KEY_CODE_DELETE, |
273 | Q_KEY_CODE_STOP, |
274 | Q_KEY_CODE_AGAIN, |
275 | Q_KEY_CODE_PROPS, |
276 | Q_KEY_CODE_UNDO, |
277 | Q_KEY_CODE_FRONT, |
278 | Q_KEY_CODE_COPY, |
279 | Q_KEY_CODE_OPEN, |
280 | Q_KEY_CODE_PASTE, |
281 | Q_KEY_CODE_FIND, |
282 | Q_KEY_CODE_CUT, |
283 | Q_KEY_CODE_LF, |
284 | Q_KEY_CODE_HELP, |
285 | Q_KEY_CODE_META_L, |
286 | Q_KEY_CODE_META_R, |
287 | Q_KEY_CODE_COMPOSE, |
288 | Q_KEY_CODE_PAUSE, |
289 | Q_KEY_CODE_RO, |
290 | Q_KEY_CODE_HIRAGANA, |
291 | Q_KEY_CODE_HENKAN, |
292 | Q_KEY_CODE_YEN, |
293 | Q_KEY_CODE_MUHENKAN, |
294 | Q_KEY_CODE_KATAKANAHIRAGANA, |
295 | Q_KEY_CODE_KP_COMMA, |
296 | Q_KEY_CODE_KP_EQUALS, |
297 | Q_KEY_CODE_POWER, |
298 | Q_KEY_CODE_SLEEP, |
299 | Q_KEY_CODE_WAKE, |
300 | Q_KEY_CODE_AUDIONEXT, |
301 | Q_KEY_CODE_AUDIOPREV, |
302 | Q_KEY_CODE_AUDIOSTOP, |
303 | Q_KEY_CODE_AUDIOPLAY, |
304 | Q_KEY_CODE_AUDIOMUTE, |
305 | Q_KEY_CODE_VOLUMEUP, |
306 | Q_KEY_CODE_VOLUMEDOWN, |
307 | Q_KEY_CODE_MEDIASELECT, |
308 | Q_KEY_CODE_MAIL, |
309 | Q_KEY_CODE_CALCULATOR, |
310 | Q_KEY_CODE_COMPUTER, |
311 | Q_KEY_CODE_AC_HOME, |
312 | Q_KEY_CODE_AC_BACK, |
313 | Q_KEY_CODE_AC_FORWARD, |
314 | Q_KEY_CODE_AC_REFRESH, |
315 | Q_KEY_CODE_AC_BOOKMARKS, |
316 | Q_KEY_CODE__MAX, |
317 | } QKeyCode; |
318 | |
319 | #define QKeyCode_str(val) \ |
320 | qapi_enum_lookup(&QKeyCode_lookup, (val)) |
321 | |
322 | extern const QEnumLookup QKeyCode_lookup; |
323 | |
324 | typedef struct q_obj_int_wrapper q_obj_int_wrapper; |
325 | |
326 | typedef struct q_obj_QKeyCode_wrapper q_obj_QKeyCode_wrapper; |
327 | |
328 | typedef enum KeyValueKind { |
329 | KEY_VALUE_KIND_NUMBER, |
330 | KEY_VALUE_KIND_QCODE, |
331 | KEY_VALUE_KIND__MAX, |
332 | } KeyValueKind; |
333 | |
334 | #define KeyValueKind_str(val) \ |
335 | qapi_enum_lookup(&KeyValueKind_lookup, (val)) |
336 | |
337 | extern const QEnumLookup KeyValueKind_lookup; |
338 | |
339 | typedef struct KeyValue KeyValue; |
340 | |
341 | typedef struct KeyValueList KeyValueList; |
342 | |
343 | typedef struct q_obj_send_key_arg q_obj_send_key_arg; |
344 | |
345 | typedef enum InputButton { |
346 | INPUT_BUTTON_LEFT, |
347 | INPUT_BUTTON_MIDDLE, |
348 | INPUT_BUTTON_RIGHT, |
349 | INPUT_BUTTON_WHEEL_UP, |
350 | INPUT_BUTTON_WHEEL_DOWN, |
351 | INPUT_BUTTON_SIDE, |
352 | , |
353 | INPUT_BUTTON__MAX, |
354 | } InputButton; |
355 | |
356 | #define InputButton_str(val) \ |
357 | qapi_enum_lookup(&InputButton_lookup, (val)) |
358 | |
359 | extern const QEnumLookup InputButton_lookup; |
360 | |
361 | typedef enum InputAxis { |
362 | INPUT_AXIS_X, |
363 | INPUT_AXIS_Y, |
364 | INPUT_AXIS__MAX, |
365 | } InputAxis; |
366 | |
367 | #define InputAxis_str(val) \ |
368 | qapi_enum_lookup(&InputAxis_lookup, (val)) |
369 | |
370 | extern const QEnumLookup InputAxis_lookup; |
371 | |
372 | typedef struct InputKeyEvent InputKeyEvent; |
373 | |
374 | typedef struct InputBtnEvent InputBtnEvent; |
375 | |
376 | typedef struct InputMoveEvent InputMoveEvent; |
377 | |
378 | typedef struct q_obj_InputKeyEvent_wrapper q_obj_InputKeyEvent_wrapper; |
379 | |
380 | typedef struct q_obj_InputBtnEvent_wrapper q_obj_InputBtnEvent_wrapper; |
381 | |
382 | typedef struct q_obj_InputMoveEvent_wrapper q_obj_InputMoveEvent_wrapper; |
383 | |
384 | typedef enum InputEventKind { |
385 | INPUT_EVENT_KIND_KEY, |
386 | INPUT_EVENT_KIND_BTN, |
387 | INPUT_EVENT_KIND_REL, |
388 | INPUT_EVENT_KIND_ABS, |
389 | INPUT_EVENT_KIND__MAX, |
390 | } InputEventKind; |
391 | |
392 | #define InputEventKind_str(val) \ |
393 | qapi_enum_lookup(&InputEventKind_lookup, (val)) |
394 | |
395 | extern const QEnumLookup InputEventKind_lookup; |
396 | |
397 | typedef struct InputEvent InputEvent; |
398 | |
399 | typedef struct InputEventList InputEventList; |
400 | |
401 | typedef struct q_obj_input_send_event_arg q_obj_input_send_event_arg; |
402 | |
403 | typedef enum GrabToggleKeys { |
404 | GRAB_TOGGLE_KEYS_CTRL_CTRL, |
405 | GRAB_TOGGLE_KEYS_ALT_ALT, |
406 | GRAB_TOGGLE_KEYS_SHIFT_SHIFT, |
407 | GRAB_TOGGLE_KEYS_META_META, |
408 | GRAB_TOGGLE_KEYS_SCROLLLOCK, |
409 | GRAB_TOGGLE_KEYS_CTRL_SCROLLLOCK, |
410 | GRAB_TOGGLE_KEYS__MAX, |
411 | } GrabToggleKeys; |
412 | |
413 | #define GrabToggleKeys_str(val) \ |
414 | qapi_enum_lookup(&GrabToggleKeys_lookup, (val)) |
415 | |
416 | extern const QEnumLookup GrabToggleKeys_lookup; |
417 | |
418 | typedef struct DisplayGTK DisplayGTK; |
419 | |
420 | typedef struct DisplayEGLHeadless DisplayEGLHeadless; |
421 | |
422 | typedef enum DisplayGLMode { |
423 | DISPLAYGL_MODE_OFF, |
424 | DISPLAYGL_MODE_ON, |
425 | DISPLAYGL_MODE_CORE, |
426 | DISPLAYGL_MODE_ES, |
427 | DISPLAYGL_MODE__MAX, |
428 | } DisplayGLMode; |
429 | |
430 | #define DisplayGLMode_str(val) \ |
431 | qapi_enum_lookup(&DisplayGLMode_lookup, (val)) |
432 | |
433 | extern const QEnumLookup DisplayGLMode_lookup; |
434 | |
435 | typedef struct DisplayCurses DisplayCurses; |
436 | |
437 | typedef enum DisplayType { |
438 | DISPLAY_TYPE_DEFAULT, |
439 | DISPLAY_TYPE_NONE, |
440 | DISPLAY_TYPE_GTK, |
441 | DISPLAY_TYPE_SDL, |
442 | DISPLAY_TYPE_EGL_HEADLESS, |
443 | DISPLAY_TYPE_CURSES, |
444 | DISPLAY_TYPE_COCOA, |
445 | DISPLAY_TYPE_SPICE_APP, |
446 | DISPLAY_TYPE__MAX, |
447 | } DisplayType; |
448 | |
449 | #define DisplayType_str(val) \ |
450 | qapi_enum_lookup(&DisplayType_lookup, (val)) |
451 | |
452 | extern const QEnumLookup DisplayType_lookup; |
453 | |
454 | typedef struct q_obj_DisplayOptions_base q_obj_DisplayOptions_base; |
455 | |
456 | typedef struct DisplayOptions DisplayOptions; |
457 | |
458 | struct q_obj_set_password_arg { |
459 | char *protocol; |
460 | char *password; |
461 | bool has_connected; |
462 | char *connected; |
463 | }; |
464 | |
465 | struct q_obj_expire_password_arg { |
466 | char *protocol; |
467 | char *time; |
468 | }; |
469 | |
470 | struct q_obj_screendump_arg { |
471 | char *filename; |
472 | bool has_device; |
473 | char *device; |
474 | bool has_head; |
475 | int64_t head; |
476 | }; |
477 | |
478 | #if defined(CONFIG_SPICE) |
479 | struct SpiceBasicInfo { |
480 | char *host; |
481 | char *port; |
482 | NetworkAddressFamily family; |
483 | }; |
484 | #endif /* defined(CONFIG_SPICE) */ |
485 | |
486 | #if defined(CONFIG_SPICE) |
487 | void qapi_free_SpiceBasicInfo(SpiceBasicInfo *obj); |
488 | #endif /* defined(CONFIG_SPICE) */ |
489 | |
490 | #if defined(CONFIG_SPICE) |
491 | struct SpiceServerInfo { |
492 | /* Members inherited from SpiceBasicInfo: */ |
493 | char *host; |
494 | char *port; |
495 | NetworkAddressFamily family; |
496 | /* Own members: */ |
497 | bool has_auth; |
498 | char *auth; |
499 | }; |
500 | #endif /* defined(CONFIG_SPICE) */ |
501 | |
502 | #if defined(CONFIG_SPICE) |
503 | static inline SpiceBasicInfo *qapi_SpiceServerInfo_base(const SpiceServerInfo *obj) |
504 | { |
505 | return (SpiceBasicInfo *)obj; |
506 | } |
507 | |
508 | void qapi_free_SpiceServerInfo(SpiceServerInfo *obj); |
509 | #endif /* defined(CONFIG_SPICE) */ |
510 | |
511 | #if defined(CONFIG_SPICE) |
512 | struct SpiceChannel { |
513 | /* Members inherited from SpiceBasicInfo: */ |
514 | char *host; |
515 | char *port; |
516 | NetworkAddressFamily family; |
517 | /* Own members: */ |
518 | int64_t connection_id; |
519 | int64_t channel_type; |
520 | int64_t channel_id; |
521 | bool tls; |
522 | }; |
523 | #endif /* defined(CONFIG_SPICE) */ |
524 | |
525 | #if defined(CONFIG_SPICE) |
526 | static inline SpiceBasicInfo *qapi_SpiceChannel_base(const SpiceChannel *obj) |
527 | { |
528 | return (SpiceBasicInfo *)obj; |
529 | } |
530 | |
531 | void qapi_free_SpiceChannel(SpiceChannel *obj); |
532 | #endif /* defined(CONFIG_SPICE) */ |
533 | |
534 | #if defined(CONFIG_SPICE) |
535 | struct SpiceChannelList { |
536 | SpiceChannelList *next; |
537 | SpiceChannel *value; |
538 | }; |
539 | |
540 | void qapi_free_SpiceChannelList(SpiceChannelList *obj); |
541 | #endif /* defined(CONFIG_SPICE) */ |
542 | |
543 | #if defined(CONFIG_SPICE) |
544 | struct SpiceInfo { |
545 | bool enabled; |
546 | bool migrated; |
547 | bool has_host; |
548 | char *host; |
549 | bool has_port; |
550 | int64_t port; |
551 | bool has_tls_port; |
552 | int64_t tls_port; |
553 | bool has_auth; |
554 | char *auth; |
555 | bool has_compiled_version; |
556 | char *compiled_version; |
557 | SpiceQueryMouseMode mouse_mode; |
558 | bool has_channels; |
559 | SpiceChannelList *channels; |
560 | }; |
561 | #endif /* defined(CONFIG_SPICE) */ |
562 | |
563 | #if defined(CONFIG_SPICE) |
564 | void qapi_free_SpiceInfo(SpiceInfo *obj); |
565 | #endif /* defined(CONFIG_SPICE) */ |
566 | |
567 | #if defined(CONFIG_SPICE) |
568 | struct q_obj_SPICE_CONNECTED_arg { |
569 | SpiceBasicInfo *server; |
570 | SpiceBasicInfo *client; |
571 | }; |
572 | #endif /* defined(CONFIG_SPICE) */ |
573 | |
574 | #if defined(CONFIG_SPICE) |
575 | struct q_obj_SPICE_INITIALIZED_arg { |
576 | SpiceServerInfo *server; |
577 | SpiceChannel *client; |
578 | }; |
579 | #endif /* defined(CONFIG_SPICE) */ |
580 | |
581 | #if defined(CONFIG_SPICE) |
582 | struct q_obj_SPICE_DISCONNECTED_arg { |
583 | SpiceBasicInfo *server; |
584 | SpiceBasicInfo *client; |
585 | }; |
586 | #endif /* defined(CONFIG_SPICE) */ |
587 | |
588 | #if defined(CONFIG_VNC) |
589 | struct VncBasicInfo { |
590 | char *host; |
591 | char *service; |
592 | NetworkAddressFamily family; |
593 | bool websocket; |
594 | }; |
595 | #endif /* defined(CONFIG_VNC) */ |
596 | |
597 | #if defined(CONFIG_VNC) |
598 | void qapi_free_VncBasicInfo(VncBasicInfo *obj); |
599 | #endif /* defined(CONFIG_VNC) */ |
600 | |
601 | #if defined(CONFIG_VNC) |
602 | struct VncServerInfo { |
603 | /* Members inherited from VncBasicInfo: */ |
604 | char *host; |
605 | char *service; |
606 | NetworkAddressFamily family; |
607 | bool websocket; |
608 | /* Own members: */ |
609 | bool has_auth; |
610 | char *auth; |
611 | }; |
612 | #endif /* defined(CONFIG_VNC) */ |
613 | |
614 | #if defined(CONFIG_VNC) |
615 | static inline VncBasicInfo *qapi_VncServerInfo_base(const VncServerInfo *obj) |
616 | { |
617 | return (VncBasicInfo *)obj; |
618 | } |
619 | |
620 | void qapi_free_VncServerInfo(VncServerInfo *obj); |
621 | #endif /* defined(CONFIG_VNC) */ |
622 | |
623 | #if defined(CONFIG_VNC) |
624 | struct VncClientInfo { |
625 | /* Members inherited from VncBasicInfo: */ |
626 | char *host; |
627 | char *service; |
628 | NetworkAddressFamily family; |
629 | bool websocket; |
630 | /* Own members: */ |
631 | bool has_x509_dname; |
632 | char *x509_dname; |
633 | bool has_sasl_username; |
634 | char *sasl_username; |
635 | }; |
636 | #endif /* defined(CONFIG_VNC) */ |
637 | |
638 | #if defined(CONFIG_VNC) |
639 | static inline VncBasicInfo *qapi_VncClientInfo_base(const VncClientInfo *obj) |
640 | { |
641 | return (VncBasicInfo *)obj; |
642 | } |
643 | |
644 | void qapi_free_VncClientInfo(VncClientInfo *obj); |
645 | #endif /* defined(CONFIG_VNC) */ |
646 | |
647 | #if defined(CONFIG_VNC) |
648 | struct VncClientInfoList { |
649 | VncClientInfoList *next; |
650 | VncClientInfo *value; |
651 | }; |
652 | |
653 | void qapi_free_VncClientInfoList(VncClientInfoList *obj); |
654 | #endif /* defined(CONFIG_VNC) */ |
655 | |
656 | #if defined(CONFIG_VNC) |
657 | struct VncInfo { |
658 | bool enabled; |
659 | bool has_host; |
660 | char *host; |
661 | bool has_family; |
662 | NetworkAddressFamily family; |
663 | bool has_service; |
664 | char *service; |
665 | bool has_auth; |
666 | char *auth; |
667 | bool has_clients; |
668 | VncClientInfoList *clients; |
669 | }; |
670 | #endif /* defined(CONFIG_VNC) */ |
671 | |
672 | #if defined(CONFIG_VNC) |
673 | void qapi_free_VncInfo(VncInfo *obj); |
674 | #endif /* defined(CONFIG_VNC) */ |
675 | |
676 | #if defined(CONFIG_VNC) |
677 | struct VncServerInfo2 { |
678 | /* Members inherited from VncBasicInfo: */ |
679 | char *host; |
680 | char *service; |
681 | NetworkAddressFamily family; |
682 | bool websocket; |
683 | /* Own members: */ |
684 | VncPrimaryAuth auth; |
685 | bool has_vencrypt; |
686 | VncVencryptSubAuth vencrypt; |
687 | }; |
688 | #endif /* defined(CONFIG_VNC) */ |
689 | |
690 | #if defined(CONFIG_VNC) |
691 | static inline VncBasicInfo *qapi_VncServerInfo2_base(const VncServerInfo2 *obj) |
692 | { |
693 | return (VncBasicInfo *)obj; |
694 | } |
695 | |
696 | void qapi_free_VncServerInfo2(VncServerInfo2 *obj); |
697 | #endif /* defined(CONFIG_VNC) */ |
698 | |
699 | #if defined(CONFIG_VNC) |
700 | struct VncServerInfo2List { |
701 | VncServerInfo2List *next; |
702 | VncServerInfo2 *value; |
703 | }; |
704 | |
705 | void qapi_free_VncServerInfo2List(VncServerInfo2List *obj); |
706 | #endif /* defined(CONFIG_VNC) */ |
707 | |
708 | #if defined(CONFIG_VNC) |
709 | struct VncInfo2 { |
710 | char *id; |
711 | VncServerInfo2List *server; |
712 | VncClientInfoList *clients; |
713 | VncPrimaryAuth auth; |
714 | bool has_vencrypt; |
715 | VncVencryptSubAuth vencrypt; |
716 | bool has_display; |
717 | char *display; |
718 | }; |
719 | #endif /* defined(CONFIG_VNC) */ |
720 | |
721 | #if defined(CONFIG_VNC) |
722 | void qapi_free_VncInfo2(VncInfo2 *obj); |
723 | #endif /* defined(CONFIG_VNC) */ |
724 | |
725 | #if defined(CONFIG_VNC) |
726 | struct VncInfo2List { |
727 | VncInfo2List *next; |
728 | VncInfo2 *value; |
729 | }; |
730 | |
731 | void qapi_free_VncInfo2List(VncInfo2List *obj); |
732 | #endif /* defined(CONFIG_VNC) */ |
733 | |
734 | #if defined(CONFIG_VNC) |
735 | struct q_obj_change_vnc_password_arg { |
736 | char *password; |
737 | }; |
738 | #endif /* defined(CONFIG_VNC) */ |
739 | |
740 | #if defined(CONFIG_VNC) |
741 | struct q_obj_VNC_CONNECTED_arg { |
742 | VncServerInfo *server; |
743 | VncBasicInfo *client; |
744 | }; |
745 | #endif /* defined(CONFIG_VNC) */ |
746 | |
747 | #if defined(CONFIG_VNC) |
748 | struct q_obj_VNC_INITIALIZED_arg { |
749 | VncServerInfo *server; |
750 | VncClientInfo *client; |
751 | }; |
752 | #endif /* defined(CONFIG_VNC) */ |
753 | |
754 | #if defined(CONFIG_VNC) |
755 | struct q_obj_VNC_DISCONNECTED_arg { |
756 | VncServerInfo *server; |
757 | VncClientInfo *client; |
758 | }; |
759 | #endif /* defined(CONFIG_VNC) */ |
760 | |
761 | struct MouseInfo { |
762 | char *name; |
763 | int64_t index; |
764 | bool current; |
765 | bool absolute; |
766 | }; |
767 | |
768 | void qapi_free_MouseInfo(MouseInfo *obj); |
769 | |
770 | struct MouseInfoList { |
771 | MouseInfoList *next; |
772 | MouseInfo *value; |
773 | }; |
774 | |
775 | void qapi_free_MouseInfoList(MouseInfoList *obj); |
776 | |
777 | struct q_obj_int_wrapper { |
778 | int64_t data; |
779 | }; |
780 | |
781 | struct q_obj_QKeyCode_wrapper { |
782 | QKeyCode data; |
783 | }; |
784 | |
785 | struct KeyValue { |
786 | KeyValueKind type; |
787 | union { /* union tag is @type */ |
788 | q_obj_int_wrapper number; |
789 | q_obj_QKeyCode_wrapper qcode; |
790 | } u; |
791 | }; |
792 | |
793 | void qapi_free_KeyValue(KeyValue *obj); |
794 | |
795 | struct KeyValueList { |
796 | KeyValueList *next; |
797 | KeyValue *value; |
798 | }; |
799 | |
800 | void qapi_free_KeyValueList(KeyValueList *obj); |
801 | |
802 | struct q_obj_send_key_arg { |
803 | KeyValueList *keys; |
804 | bool has_hold_time; |
805 | int64_t hold_time; |
806 | }; |
807 | |
808 | struct InputKeyEvent { |
809 | KeyValue *key; |
810 | bool down; |
811 | }; |
812 | |
813 | void qapi_free_InputKeyEvent(InputKeyEvent *obj); |
814 | |
815 | struct InputBtnEvent { |
816 | InputButton button; |
817 | bool down; |
818 | }; |
819 | |
820 | void qapi_free_InputBtnEvent(InputBtnEvent *obj); |
821 | |
822 | struct InputMoveEvent { |
823 | InputAxis axis; |
824 | int64_t value; |
825 | }; |
826 | |
827 | void qapi_free_InputMoveEvent(InputMoveEvent *obj); |
828 | |
829 | struct q_obj_InputKeyEvent_wrapper { |
830 | InputKeyEvent *data; |
831 | }; |
832 | |
833 | struct q_obj_InputBtnEvent_wrapper { |
834 | InputBtnEvent *data; |
835 | }; |
836 | |
837 | struct q_obj_InputMoveEvent_wrapper { |
838 | InputMoveEvent *data; |
839 | }; |
840 | |
841 | struct InputEvent { |
842 | InputEventKind type; |
843 | union { /* union tag is @type */ |
844 | q_obj_InputKeyEvent_wrapper key; |
845 | q_obj_InputBtnEvent_wrapper btn; |
846 | q_obj_InputMoveEvent_wrapper rel; |
847 | q_obj_InputMoveEvent_wrapper abs; |
848 | } u; |
849 | }; |
850 | |
851 | void qapi_free_InputEvent(InputEvent *obj); |
852 | |
853 | struct InputEventList { |
854 | InputEventList *next; |
855 | InputEvent *value; |
856 | }; |
857 | |
858 | void qapi_free_InputEventList(InputEventList *obj); |
859 | |
860 | struct q_obj_input_send_event_arg { |
861 | bool has_device; |
862 | char *device; |
863 | bool has_head; |
864 | int64_t head; |
865 | InputEventList *events; |
866 | }; |
867 | |
868 | struct DisplayGTK { |
869 | bool has_grab_on_hover; |
870 | bool grab_on_hover; |
871 | bool has_zoom_to_fit; |
872 | bool zoom_to_fit; |
873 | }; |
874 | |
875 | void qapi_free_DisplayGTK(DisplayGTK *obj); |
876 | |
877 | struct DisplayEGLHeadless { |
878 | bool has_rendernode; |
879 | char *rendernode; |
880 | }; |
881 | |
882 | void qapi_free_DisplayEGLHeadless(DisplayEGLHeadless *obj); |
883 | |
884 | struct DisplayCurses { |
885 | bool has_charset; |
886 | char *charset; |
887 | }; |
888 | |
889 | void qapi_free_DisplayCurses(DisplayCurses *obj); |
890 | |
891 | struct q_obj_DisplayOptions_base { |
892 | DisplayType type; |
893 | bool has_full_screen; |
894 | bool full_screen; |
895 | bool has_window_close; |
896 | bool window_close; |
897 | bool has_gl; |
898 | DisplayGLMode gl; |
899 | }; |
900 | |
901 | struct DisplayOptions { |
902 | DisplayType type; |
903 | bool has_full_screen; |
904 | bool full_screen; |
905 | bool has_window_close; |
906 | bool window_close; |
907 | bool has_gl; |
908 | DisplayGLMode gl; |
909 | union { /* union tag is @type */ |
910 | DisplayGTK gtk; |
911 | DisplayCurses curses; |
912 | DisplayEGLHeadless egl_headless; |
913 | } u; |
914 | }; |
915 | |
916 | void qapi_free_DisplayOptions(DisplayOptions *obj); |
917 | |
918 | #endif /* QAPI_TYPES_UI_H */ |
919 | |