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? Thanks, Colin
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.
------------------------------------------------------------------------------ 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