On Wed, May 27, 2009 at 07:10:13PM +0100, Colin Dean wrote: > Daniel, > > Here's another iteration. I've tried to describe it independently of > any particular implementation, apart from one sentence at the end. > > Does this look ok now to you?
Yeah, this looks really good now. Regards, Daniel > Describe the XVP extension > > The XVP (Xen VNC Proxy) extension allows a client to perform shutdown, > reboot and reset operations on the system whose framebuffer it is > displaying. > > 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 supporting the *XVP* (Xen VNC Proxy) extension sends this to > +request that the server initiate a clean shutdown, clean reboot or > +abrupt reset of the system whose framebuffer the client is displaying. > + > +=============== ==================== ========== ======================= > +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 has the following format: > + > +=============== ==================== ========== ======================= > +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* when 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,16 @@ > 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 > +wishes to use the *XVP* (Xen VNC Proxy) extension. If the server > +supports this, it replies with a message of type `XVP Server Message`_, > +using an *xvp-message-code* of *XVP_INIT*. This informs the client that > +it may then subsequently send messages of type `XVP Client Message`_. > + > +See http://www.dur.ac.uk/c.c.dean/xvp/ for details of the reference > +implementation, which allows shutdown, reboot and reset of virtual > +machines running on Citrix XenServer. -- |: 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