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

Reply via email to