I think perhaps it might be desirable to change the description to avoid direct reference to Citrix XenServer / XVP in the docs. Instead say that the XVP extension allows for lifecycle control of a virtual machine associated with the VNC server. Then refer to XVP / XenServer as the primary / reference implementation of the extension.
The reason I'm suggesting, is that I'm inclined to try adding this VNC extension to QEMU/KVM's VNC server too - this would in fact also allow Xen to be rebooted/shutdown/etc without talking to XenServer. Regards, Daniel On Wed, May 27, 2009 at 09:10:51AM +0100, Colin Dean wrote: > Second attempt attached, with corrections as suggested by Peter. > > Colin > Describe the xvp pseudo-encoding and xvp message types > > The xvp extension allows clients to perform shutdown, reboot and reset > operations on virtual machines hosted on Citrix XenServer, via the Xen > VNC Proxy server, xvp. > > Signed-off-by: Colin Dean <c.c.d...@durham.ac.uk> > --- > > Index: rfbproto.rst > =================================================================== > --- rfbproto.rst (revision 3809) > +++ rfbproto.rst (working copy) > @@ -509,7 +509,7 @@ > 253 `gii (General Input Interface) Client Message`_ > 252 tight > 251 Pierre Ossman SetDesktopSize > -250 Colin Dean xvp > +250 `xvp Client Message`_ > =========== =========================================================== > > Note that before sending a message with an optional message type a > @@ -1043,6 +1043,27 @@ > > The event reports *count* valuators starting with *first*. > > +xvp Client Message > +------------------ > + > +A client sends this message to request a clean shutdown, clean reboot or > +abrupt reset of a Citrix Xenserver virtual machine it is connected to > +via the Xen VNC Proxy server, xvp. > + > +=============== ==================== ========== ======================= > +No. of bytes Type [Value] Description > +=============== ==================== ========== ======================= > +1 ``U8`` 250 *message-type* > +1 *padding* > +1 ``U8`` 1 *xvp-extension-version* > +1 ``U8`` *xvp-message-code* > +=============== ==================== ========== ======================= > + > +The possible values for *xvp-message-code* are: 2 - XVP_SHUTDOWN, > +3 - XVP_REBOOT, and 4 - XVP_RESET. The client must have already > +established that the server supports this extension, by requesting the > +`xvp Pseudo-encoding`_. > + > Server to Client Messages > +++++++++++++++++++++++++ > > @@ -1066,7 +1087,7 @@ > 254, 127 VMWare > 253 `gii (General Input Interface) Server Message`_ > 252 tight > -250 Colin Dean xvp > +250 `xvp Server Message`_ > =========== =========================================================== > > Note that before sending a message with an optional message type a > @@ -1208,6 +1229,31 @@ > communications. A *device-origin* of zero indicates device creation > failure. > > +xvp Server Message > +------------------ > + > +This message is sent by the Xen VNC Proxy server, xvp. > + > +=============== ==================== ========== ======================= > +No. of bytes Type [Value] Description > +=============== ==================== ========== ======================= > +1 ``U8`` 250 *message-type* > +1 *padding* > +1 ``U8`` 1 *xvp-extension-version* > +1 ``U8`` *xvp-message-code* > +=============== ==================== ========== ======================= > + > +The possible values for *xvp-message-code* are: 0 - XVP_FAIL and 1 - > +XVP_INIT. > + > +A server which supports the *xvp* extension declares this by sending a > +message with an XVP_INIT *xvp-message-code* if it receives a request > +from the client to use the `xvp Pseudo-encoding`_. > + > +A server which subsequently receives an `xvp Client Message`_ requesting > +an operation which it is unable to perform, informs the client of this > +by sending a message with an XVP_FAIL *xvp-message-code*. > + > Encodings > +++++++++ > > @@ -1227,6 +1273,7 @@ > -239 `Cursor Pseudo-encoding`_ > -223 `DesktopSize Pseudo-encoding`_ > -305 `gii (General Input Interface) Pseudo-encoding`_ > +-309 `xvp Pseudo-encoding`_ > =========== =========================================================== > > Other registered encodings are: > @@ -1245,7 +1292,6 @@ > -306 popa > -307 Peter Astrand DesktopName > -308 Pierre Ossman ExtendedDesktopSize > --309 Colin Dean xvp > 0x574d5600 to 0x574d56ff VMWare > =========================== =========================================== > > @@ -1759,3 +1805,18 @@ > where the standard input model is insufficient. It supports relative > mouse movements, mouses with more than 8 buttons and mouses with more > than three axes. It even supports joysticks and gamepads. > + > +xvp Pseudo-encoding > +------------------- > + > +A client which requests the *xvp* pseudo-encoding is declaring that it > +is capable sending *xvp* client-to-server messages and accepting *xvp* > +server-to-client messages. The server declares that it supports *xvp* by > +replying with an *xvp* server-to-client message with an > +*xvp-message-code* of *XVP_INIT*. > + > +Requesting the *xvp* pseudo-encoding is the first step when a client > +wants to use the *xvp* extension to the RFB protocol. This allows > +clients to perform administrative operations (shutdown, reboot and > +reset) on virtual machines hosted on Citrix XenServer, via the Xen VNC > +Proxy server, xvp. See http://www.dur.ac.uk/c.c.dean/xvp/ for details. > ------------------------------------------------------------------------------ > Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT > is a gathering of tech-side developers & brand creativity professionals. Meet > the minds behind Google Creative Lab, Visual Complexity, Processing, & > iPhoneDevCamp as they present alongside digital heavyweights like Barbarian > Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com > _______________________________________________ > tigervnc-rfbproto mailing list > tigervnc-rfbproto@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/tigervnc-rfbproto -- |: http://berrange.com/ -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://freshmeat.net/~danielpb/ -o- http://gtk-vnc.sourceforge.net :| ------------------------------------------------------------------------------ Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers & brand creativity professionals. Meet the minds behind Google Creative Lab, Visual Complexity, Processing, & iPhoneDevCamp as they present alongside digital heavyweights like Barbarian Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com _______________________________________________ tigervnc-rfbproto mailing list tigervnc-rfbproto@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tigervnc-rfbproto