vnc.c (f6029bb614cebb0d6c9800990af49d55338231fd) | vnc.c (54aa3de72ea2aaa2e903e7e879a4f3dda515a00e) |
---|---|
1/* 2 * QEMU VNC display driver 3 * 4 * Copyright (C) 2006 Anthony Liguori <anthony@codemonkey.ws> 5 * Copyright (C) 2006 Fabrice Bellard 6 * Copyright (C) 2009 Red Hat, Inc 7 * 8 * Permission is hereby granted, free of charge, to any person obtaining a copy --- 351 unchanged lines hidden (view full) --- 360 return vd; 361 } 362 } 363 return NULL; 364} 365 366static VncClientInfoList *qmp_query_client_list(VncDisplay *vd) 367{ | 1/* 2 * QEMU VNC display driver 3 * 4 * Copyright (C) 2006 Anthony Liguori <anthony@codemonkey.ws> 5 * Copyright (C) 2006 Fabrice Bellard 6 * Copyright (C) 2009 Red Hat, Inc 7 * 8 * Permission is hereby granted, free of charge, to any person obtaining a copy --- 351 unchanged lines hidden (view full) --- 360 return vd; 361 } 362 } 363 return NULL; 364} 365 366static VncClientInfoList *qmp_query_client_list(VncDisplay *vd) 367{ |
368 VncClientInfoList *cinfo, *prev = NULL; | 368 VncClientInfoList *prev = NULL; |
369 VncState *client; 370 371 QTAILQ_FOREACH(client, &vd->clients, next) { | 369 VncState *client; 370 371 QTAILQ_FOREACH(client, &vd->clients, next) { |
372 cinfo = g_new0(VncClientInfoList, 1); 373 cinfo->value = qmp_query_vnc_client(client); 374 cinfo->next = prev; 375 prev = cinfo; | 372 QAPI_LIST_PREPEND(prev, qmp_query_vnc_client(client)); |
376 } 377 return prev; 378} 379 380VncInfo *qmp_query_vnc(Error **errp) 381{ 382 VncInfo *info = g_malloc0(sizeof(*info)); 383 VncDisplay *vd = vnc_display_find(NULL); --- 64 unchanged lines hidden (view full) --- 448 bool *qmp_has_vencrypt); 449 450static VncServerInfo2List *qmp_query_server_entry(QIOChannelSocket *ioc, 451 bool websocket, 452 int auth, 453 int subauth, 454 VncServerInfo2List *prev) 455{ | 373 } 374 return prev; 375} 376 377VncInfo *qmp_query_vnc(Error **errp) 378{ 379 VncInfo *info = g_malloc0(sizeof(*info)); 380 VncDisplay *vd = vnc_display_find(NULL); --- 64 unchanged lines hidden (view full) --- 445 bool *qmp_has_vencrypt); 446 447static VncServerInfo2List *qmp_query_server_entry(QIOChannelSocket *ioc, 448 bool websocket, 449 int auth, 450 int subauth, 451 VncServerInfo2List *prev) 452{ |
456 VncServerInfo2List *list; | |
457 VncServerInfo2 *info; 458 Error *err = NULL; 459 SocketAddress *addr; 460 461 addr = qio_channel_socket_get_local_address(ioc, NULL); 462 if (!addr) { 463 return prev; 464 } --- 6 unchanged lines hidden (view full) --- 471 error_free(err); 472 return prev; 473 } 474 info->websocket = websocket; 475 476 qmp_query_auth(auth, subauth, &info->auth, 477 &info->vencrypt, &info->has_vencrypt); 478 | 453 VncServerInfo2 *info; 454 Error *err = NULL; 455 SocketAddress *addr; 456 457 addr = qio_channel_socket_get_local_address(ioc, NULL); 458 if (!addr) { 459 return prev; 460 } --- 6 unchanged lines hidden (view full) --- 467 error_free(err); 468 return prev; 469 } 470 info->websocket = websocket; 471 472 qmp_query_auth(auth, subauth, &info->auth, 473 &info->vencrypt, &info->has_vencrypt); 474 |
479 list = g_new0(VncServerInfo2List, 1); 480 list->value = info; 481 list->next = prev; 482 return list; | 475 QAPI_LIST_PREPEND(prev, info); 476 return prev; |
483} 484 485static void qmp_query_auth(int auth, int subauth, 486 VncPrimaryAuth *qmp_auth, 487 VncVencryptSubAuth *qmp_vencrypt, 488 bool *qmp_has_vencrypt) 489{ 490 switch (auth) { --- 58 unchanged lines hidden (view full) --- 549 default: 550 *qmp_auth = VNC_PRIMARY_AUTH_NONE; 551 break; 552 } 553} 554 555VncInfo2List *qmp_query_vnc_servers(Error **errp) 556{ | 477} 478 479static void qmp_query_auth(int auth, int subauth, 480 VncPrimaryAuth *qmp_auth, 481 VncVencryptSubAuth *qmp_vencrypt, 482 bool *qmp_has_vencrypt) 483{ 484 switch (auth) { --- 58 unchanged lines hidden (view full) --- 543 default: 544 *qmp_auth = VNC_PRIMARY_AUTH_NONE; 545 break; 546 } 547} 548 549VncInfo2List *qmp_query_vnc_servers(Error **errp) 550{ |
557 VncInfo2List *item, *prev = NULL; | 551 VncInfo2List *prev = NULL; |
558 VncInfo2 *info; 559 VncDisplay *vd; 560 DeviceState *dev; 561 size_t i; 562 563 QTAILQ_FOREACH(vd, &vnc_displays, next) { 564 info = g_new0(VncInfo2, 1); 565 info->id = g_strdup(vd->id); --- 12 unchanged lines hidden (view full) --- 578 info->server); 579 } 580 for (i = 0; vd->wslistener != NULL && i < vd->wslistener->nsioc; i++) { 581 info->server = qmp_query_server_entry( 582 vd->wslistener->sioc[i], true, vd->ws_auth, 583 vd->ws_subauth, info->server); 584 } 585 | 552 VncInfo2 *info; 553 VncDisplay *vd; 554 DeviceState *dev; 555 size_t i; 556 557 QTAILQ_FOREACH(vd, &vnc_displays, next) { 558 info = g_new0(VncInfo2, 1); 559 info->id = g_strdup(vd->id); --- 12 unchanged lines hidden (view full) --- 572 info->server); 573 } 574 for (i = 0; vd->wslistener != NULL && i < vd->wslistener->nsioc; i++) { 575 info->server = qmp_query_server_entry( 576 vd->wslistener->sioc[i], true, vd->ws_auth, 577 vd->ws_subauth, info->server); 578 } 579 |
586 item = g_new0(VncInfo2List, 1); 587 item->value = info; 588 item->next = prev; 589 prev = item; | 580 QAPI_LIST_PREPEND(prev, info); |
590 } 591 return prev; 592} 593 594/* TODO 595 1) Get the queue working for IO. 596 2) there is some weirdness when using the -S option (the screen is grey 597 and not totally invalidated --- 3548 unchanged lines hidden --- | 581 } 582 return prev; 583} 584 585/* TODO 586 1) Get the queue working for IO. 587 2) there is some weirdness when using the -S option (the screen is grey 588 and not totally invalidated --- 3548 unchanged lines hidden --- |