diff --git a/NEWS b/NEWS index 8e4f68d..a602292 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,14 @@ +Major changes in 0.12.5 +======================= +* Add agent file xfer success status +* Add a client-disconnected agent message + +Major changes in 0.12.4 +======================= +* Add agent file copy support. +* Add agent sparse monitors capability. +* Add controller proxy message. + Major changes in 0.12.3 ======================= * Add a generic "port" channel diff --git a/configure b/configure index 8ef5846..feb296c 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for spice-protocol 0.12.3. +# Generated by GNU Autoconf 2.69 for spice-protocol 0.12.5. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -576,8 +576,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='spice-protocol' PACKAGE_TARNAME='spice-protocol' -PACKAGE_VERSION='0.12.3' -PACKAGE_STRING='spice-protocol 0.12.3' +PACKAGE_VERSION='0.12.5' +PACKAGE_STRING='spice-protocol 0.12.5' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1200,7 +1200,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures spice-protocol 0.12.3 to adapt to many kinds of systems. +\`configure' configures spice-protocol 0.12.5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1266,7 +1266,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of spice-protocol 0.12.3:";; + short | recursive ) echo "Configuration of spice-protocol 0.12.5:";; esac cat <<\_ACEOF @@ -1343,7 +1343,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -spice-protocol configure 0.12.3 +spice-protocol configure 0.12.5 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1360,7 +1360,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by spice-protocol $as_me 0.12.3, which was +It was created by spice-protocol $as_me 0.12.5, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2189,7 +2189,7 @@ fi # Define the identity of the package. PACKAGE='spice-protocol' - VERSION='0.12.3' + VERSION='0.12.5' cat >>confdefs.h <<_ACEOF @@ -2820,7 +2820,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by spice-protocol $as_me 0.12.3, which was +This file was extended by spice-protocol $as_me 0.12.5, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -2882,7 +2882,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -spice-protocol config.status 0.12.3 +spice-protocol config.status 0.12.5 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index aedc934..7a3808a 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ AC_PREREQ([2.57]) m4_define([SPICE_MAJOR], 0) m4_define([SPICE_MINOR], 12) -m4_define([SPICE_MICRO], 3) +m4_define([SPICE_MICRO], 5) AC_INIT(spice-protocol, [SPICE_MAJOR.SPICE_MINOR.SPICE_MICRO], [], spice-protocol) diff --git a/spice/controller_prot.h b/spice/controller_prot.h index facf241..bca7804 100644 --- a/spice/controller_prot.h +++ b/spice/controller_prot.h @@ -82,6 +82,8 @@ enum { CONTROLLER_ENABLE_USB_AUTOSHARE, CONTROLLER_USB_FILTER, + CONTROLLER_PROXY, + //spice client -> external app CONTROLLER_MENU_ITEM_CLICK = 1001, }; diff --git a/spice/vd_agent.h b/spice/vd_agent.h index 2b9884e..1c4ebaf 100644 --- a/spice/vd_agent.h +++ b/spice/vd_agent.h @@ -69,10 +69,42 @@ enum { VD_AGENT_CLIPBOARD_GRAB, VD_AGENT_CLIPBOARD_REQUEST, VD_AGENT_CLIPBOARD_RELEASE, + VD_AGENT_FILE_XFER_START, + VD_AGENT_FILE_XFER_STATUS, + VD_AGENT_FILE_XFER_DATA, + VD_AGENT_CLIENT_DISCONNECTED, VD_AGENT_END_MESSAGE, }; +enum { + VD_AGENT_FILE_XFER_STATUS_CAN_SEND_DATA, + VD_AGENT_FILE_XFER_STATUS_CANCELLED, + VD_AGENT_FILE_XFER_STATUS_ERROR, + VD_AGENT_FILE_XFER_STATUS_SUCCESS, +}; + +typedef struct SPICE_ATTR_PACKED VDAgentFileXferStatusMessage { + uint32_t id; + uint32_t result; +} VDAgentFileXferStatusMessage; + +typedef struct SPICE_ATTR_PACKED VDAgentFileXferStartMessage { + uint32_t id; + uint8_t data[0]; +} VDAgentFileXferStartMessage; + +typedef struct SPICE_ATTR_PACKED VDAgentFileXferDataMessage { + uint32_t id; + uint64_t size; + uint8_t data[0]; +} VDAgentFileXferDataMessage; + typedef struct SPICE_ATTR_PACKED VDAgentMonConfig { + /* + * Note a width and height of 0 can be used to indicate a disabled + * monitor, this may only be used with agents with the + * VD_AGENT_CAP_SPARSE_MONITORS_CONFIG capability. + */ uint32_t height; uint32_t width; uint32_t depth; @@ -174,6 +206,7 @@ enum { VD_AGENT_CAP_DISPLAY_CONFIG, VD_AGENT_CAP_CLIPBOARD_BY_DEMAND, VD_AGENT_CAP_CLIPBOARD_SELECTION, + VD_AGENT_CAP_SPARSE_MONITORS_CONFIG, VD_AGENT_END_CAP, };