/[rdesktop]/sourceforge.net/branches/seamlessrdp-branch/rdesktop/doc/seamlessrdp-channel.txt
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /sourceforge.net/branches/seamlessrdp-branch/rdesktop/doc/seamlessrdp-channel.txt

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1168 by ossman_, Thu Mar 16 14:56:27 2006 UTC revision 1169 by ossman_, Mon Mar 20 15:21:53 2006 UTC
# Line 16  Overview Line 16  Overview
16    
17  The protocol is a line based protocol following this simple syntax:  The protocol is a line based protocol following this simple syntax:
18    
19          OPERATION[,ARG1[,ARG2,[...]]]          OPERATION,SERIAL[,ARG1[,ARG2,[...]]]
20    
21    Each operation will have an increasing serial number. The initial value is
22    implementation defined.
23    
24  The goal is to have a generic protocol that can be used for other display  The goal is to have a generic protocol that can be used for other display
25  systems (e.g. VNC) as well.  systems (e.g. VNC) as well.
# Line 27  The protocol has no concept of hidden or Line 30  The protocol has no concept of hidden or
30  exist unless it is visible. Note that a minimized window is an exception to  exist unless it is visible. Note that a minimized window is an exception to
31  this rule.  this rule.
32    
33    The protocol has no way of indicating failure, meaning that all commands are
34    expected to succeed. If a command fails, the receiving end must send a
35    corresponding command back, indicating the actual state.
36    
37  Data types  Data types
38  ==========  ==========
39  Window ID are written in hex, like 0x4321.  Window ID are written in hex, like 0x4321.
# Line 48  CREATE Line 55  CREATE
55  Allocate structures for a new window.  Allocate structures for a new window.
56    
57  Syntax:  Syntax:
58          CREATE,<ID>,<PARENT>,<FLAGS>          CREATE,<SERIAL>,<ID>,<PARENT>,<FLAGS>
59    
60  Indicates that a window has appeared on the server. If PARENT is non-zero then  Indicates that a window has appeared on the server. If PARENT is non-zero then
61  the new window is a child of that window (it's transient for it). The special  the new window is a child of that window (it's transient for it). The special
# Line 65  DESTROY Line 72  DESTROY
72  Remove a window.  Remove a window.
73    
74  Syntax:  Syntax:
75          DESTROY,<ID>,<FLAGS>          DESTROY,<SERIAL>,<ID>,<FLAGS>
76    
77  Remove the window and deallocate all associated structures.  Remove the window and deallocate all associated structures.
78    
# Line 75  POSITION Line 82  POSITION
82  Move and/or resize a window.  Move and/or resize a window.
83    
84  Syntax:  Syntax:
85          POSITION,<ID>,<X>,<Y>,<WIDTH>,<HEIGHT>,<FLAGS>          POSITION,<SERIAL>,<ID>,<X>,<Y>,<WIDTH>,<HEIGHT>,<FLAGS>
86    
87  If the window isn't visible yet (because a  If the window isn't visible yet (because a
88  STATE hasn't been set or because it's minimized), you must store the position  STATE hasn't been set or because it's minimized), you must store the position
# Line 88  TITLE Line 95  TITLE
95  Sets a window title.  Sets a window title.
96    
97  Syntax:  Syntax:
98          TITLE,<ID>,<TITLE>,<FLAGS>          TITLE,<SERIAL>,<ID>,<TITLE>,<FLAGS>
99    
100  The text is guaranteed to be stripped of control characters (< 0x20).  The text is guaranteed to be stripped of control characters (< 0x20).
101    
# Line 103  ZCHANGE Line 110  ZCHANGE
110  The window moved in z order.  The window moved in z order.
111    
112  Syntax:  Syntax:
113          ZCHANGE,<ID>,<BEHIND>,<FLAGS>          ZCHANGE,<SERIAL>,<ID>,<BEHIND>,<FLAGS>
114    
115  The window with the id ID is behind the window with the id BEHIND. If  The window with the id ID is behind the window with the id BEHIND. If
116  BEHIND is 0, then this window should be brought to the front.  BEHIND is 0, then this window should be brought to the front.
# Line 114  STATE Line 121  STATE
121  Changes the window's state and/or title.  Changes the window's state and/or title.
122    
123  Syntax:  Syntax:
124          STATE,<ID>,<STATE>,<FLAGS>          STATE,<SERIAL>,<ID>,<STATE>,<FLAGS>
125    
126  State can have one of three values:  State can have one of three values:
127   0 : "Normal" window.   0 : "Normal" window.
# Line 130  DEBUG Line 137  DEBUG
137  Debug output from the server component.  Debug output from the server component.
138    
139  Syntax:  Syntax:
140          DEBUG,<STRING>          DEBUG,<SERIAL>,<STRING>
141    
142  Used for debugging.  Used for debugging.
143    
# Line 140  SYNCBEGIN Line 147  SYNCBEGIN
147  Indicates that a synchronisation has begun.  Indicates that a synchronisation has begun.
148    
149  Syntax:  Syntax:
150          SYNCBEGIN,<FLAGS>          SYNCBEGIN,<SERIAL>,<FLAGS>
151    
152  Sent when the server starts a synchronisation. The client should flush all  Sent when the server starts a synchronisation. The client should flush all
153  information at this point.  information at this point.
# Line 151  SYNCEND Line 158  SYNCEND
158  Indicates that a synchronisation is complete.  Indicates that a synchronisation is complete.
159    
160  Syntac:  Syntac:
161          SYNCEND,<FLAGS>          SYNCEND,<SERIAL>,<FLAGS>
162    
163  Sent when the last message that is part of the synchronisation has been sent.  Sent when the last message that is part of the synchronisation has been sent.
164  This may be followed by duplicate messages and/or messages referring invalid  This may be followed by duplicate messages and/or messages referring invalid
# Line 163  HELLO Line 170  HELLO
170  Initial message sent by server.  Initial message sent by server.
171    
172  Syntax:  Syntax:
173          HELLO,<FLAGS>          HELLO,<SERIAL>,<FLAGS>
174    
175  The server starts each connection by sending this message. Normally the client  The server starts each connection by sending this message. Normally the client
176  will react by sending a SYNC back to the server. The low bit in FLAGS is set if  will react by sending a SYNC back to the server. The low bit in FLAGS is set if
177  this is a new connection to an existing session.  this is a new connection to an existing session.
178    
179    ACK
180    ---
181    
182    Acknowledgement of a request to manipulate a window.
183    
184    Syntax:
185            ACK,<SERIAL>,<ACKSERIAL>
186    
187    Whenever one of the commands POSITION, ZCHANGE, STATE or FOCUS is executed on
188    the server, the server will send an ACK back to the client. The purpose of this
189    is to inform the client of when the operation was actually performed, allowing
190    high latencies in the channel.
191    
192  Client to Server Operations  Client to Server Operations
193  ===========================  ===========================
194    
# Line 178  SYNC Line 198  SYNC
198  Request a synchronisation of window information.  Request a synchronisation of window information.
199    
200  Syntax:  Syntax:
201          SYNC,<FLAGS>          SYNC,<SERIAL>,<FLAGS>
202    
203  For each window, the server will send CREATE, POSITION and STATE, in that  For each window, the server will send CREATE, POSITION and STATE, in that
204  order, just as if the window was created. Note that a TITLE may also,  order, just as if the window was created. Note that a TITLE may also,
# Line 210  FOCUS Line 230  FOCUS
230  Sets which window has input focus.  Sets which window has input focus.
231    
232  Syntax:  Syntax:
233          FOCUS,<ID>,<FLAGS>          FOCUS,<SERIAL>,<ID>,<FLAGS>
234    
235  Changes which window that will recieve the keyboard events. Note that this  Changes which window that will recieve the keyboard events. Note that this
236  might cause the window to change z order.  might cause the window to change z order.

Legend:
Removed from v.1168  
changed lines
  Added in v.1169

  ViewVC Help
Powered by ViewVC 1.1.26