Mercurial > 510ConnectbotMonitor
comparison xml/510connectbotmonitor.in @ 1:f12df02aa228
add docs
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Mon, 05 May 2014 14:37:11 -0700 |
parents | |
children | f6a1aabf384f |
comparison
equal
deleted
inserted
replaced
0:5564580fe160 | 1:f12df02aa228 |
---|---|
1 <reference> | |
2 <title>@PACKAGE@ - Version @VERSION@</title> | |
3 <partintro> | |
4 <title>Packages</title> | |
5 | |
6 <para>The various source and binary packages are available at <ulink | |
7 url="http://www.five-ten-sg.com/@PACKAGE@/packages/">http://www.five-ten-sg.com/@PACKAGE@/packages/</ulink>. | |
8 The most recent documentation is available at <ulink | |
9 url="http://www.five-ten-sg.com/@PACKAGE@/">http://www.five-ten-sg.com/@PACKAGE@/</ulink>. | |
10 </para> | |
11 | |
12 <para>A <ulink | |
13 url="http://www.selenic.com/mercurial/wiki/">Mercurial</ulink> source | |
14 code repository for this project is available at <ulink | |
15 url="http://hg.five-ten-sg.com/@PACKAGE@/">http://hg.five-ten-sg.com/@PACKAGE@/</ulink>. | |
16 </para> | |
17 | |
18 </partintro> | |
19 | |
20 <refentry id="x@PACKAGE@.1"> | |
21 <refentryinfo> | |
22 <date>2014-04-18</date> | |
23 <author> | |
24 <firstname>Carl</firstname> | |
25 <surname>Byington</surname> | |
26 <affiliation><orgname>510 Software Group</orgname></affiliation> | |
27 </author> | |
28 </refentryinfo> | |
29 | |
30 <refmeta> | |
31 <refentrytitle>@PACKAGE@</refentrytitle> | |
32 <manvolnum>1</manvolnum> | |
33 <refmiscinfo>@PACKAGE@ @VERSION@</refmiscinfo> | |
34 </refmeta> | |
35 | |
36 <refnamediv id='name.1'> | |
37 <refname>@PACKAGE@</refname> | |
38 <refpurpose>a monitoring package for the android terminal emulator</refpurpose> | |
39 </refnamediv> | |
40 | |
41 <refsect1 id='build.1'> | |
42 <title>Build method</title> | |
43 <para> | |
44 This is an android project with no native code, so | |
45 "android update project -p . -t android-16; ant debug" | |
46 should build cleanly. | |
47 </para> | |
48 </refsect1> | |
49 | |
50 <refsect1 id='introduction.1'> | |
51 <title>Introduction</title> | |
52 <para> | |
53 This is a stub monitoring application for the related | |
54 510 Connectbot android terminal emulator package. | |
55 </para> | |
56 </refsect1> | |
57 | |
58 <refsect1 id='monitor.1'> | |
59 <title>Terminal Monitor</title> | |
60 <para> | |
61 For every terminal session (local, telnet, ssh or other), the | |
62 terminal emulator also makes a connection to a terminal monitor | |
63 process, which can see keystrokes and screen contents, and can | |
64 inject characters to send to the host. | |
65 </para> | |
66 | |
67 <para> | |
68 The terminal monitor is invoked by calling an android Intent | |
69 named "com.five_ten_sg.connectbot.monitor.MonitorService". That | |
70 ensures that the monitor process is running, and should then | |
71 be listening on TCP port 6000 for incoming connections. The terminal | |
72 emulator then connects to the terminal monitor on port 6000. | |
73 The native android Intent and Service communication mechanisms | |
74 are not used. | |
75 </para> | |
76 | |
77 <para> | |
78 The messages exchanged between the terminal emulator and the | |
79 terminal monitor are arrays of uint16 values in network byte | |
80 order. Each message starts with a uint16 message byte length, | |
81 followed by that many bytes of data. Note that the message length | |
82 will always be even. The next uint16 contains the message | |
83 command value, and the remaining uint16 values are the arguments | |
84 if any for that command. | |
85 </para> | |
86 | |
87 <para> | |
88 Any arguments that are keystrokes or characters are represented | |
89 as 16 bit unicode. Note that the first 256 such characters are | |
90 identical to the ISO-8859-1 latin character set. | |
91 </para> | |
92 | |
93 <para> | |
94 INIT = 0 (TE -> Monitor). The argument is a string of uint16 | |
95 characters. The meaning of these characters is defined by the | |
96 monitor. It might be a fully qualified path name, or some other | |
97 data used by the monitor to drive the monitoring of this | |
98 connection. | |
99 </para> | |
100 | |
101 <para> | |
102 ACTIVATE = 1 (TE -> Monitor). The first argument is the | |
103 number of lines. The second argument is the number of columns. | |
104 That is followed by lines*columns uint16 character codes. | |
105 This connection is now the active connection. It is the | |
106 topmost (or only) window visible to the user - typed keystrokes | |
107 will be sent to the host on the other end of this connection. | |
108 </para> | |
109 | |
110 <para> | |
111 HOSTDATA = 2 (TE -> Monitor). The argument is a single uint16 | |
112 value containing the 8 bit character that was sent to the host. | |
113 </para> | |
114 | |
115 <para> | |
116 CURSORMOVE = 3 (TE -> Monitor). | |
117 The first argument is the line number (0..23) | |
118 and the second argument is the column number (0..79). | |
119 </para> | |
120 | |
121 <para> | |
122 SCREENCHANGE = 4 (TE -> Monitor). The first argument is the | |
123 number of lines. The second argument is the number of columns. | |
124 That is followed by lines*columns uint16 character codes. | |
125 </para> | |
126 | |
127 <para> | |
128 FIELDVALUE = 5 (TE -> Monitor). | |
129 SETFIELD = 5 (Monitor -> TE). | |
130 The first argument is the line number (0..23) | |
131 and the second argument is the column number (0..79). | |
132 That is followed by the field value, a sequence of uint16 | |
133 character codes from the screen buffer. The field | |
134 covers N columns, where N = (message length - 4) / 2. | |
135 When sent from the monitor to the emulator, this causes | |
136 the emulator to send the field codes to the host. This is | |
137 also used as the reply message from the emulator to the | |
138 monitor for a previous GETFIELD from the monitor. | |
139 </para> | |
140 | |
141 <para> | |
142 GETFIELD = 6 (Monitor -> TE). | |
143 The first argument is the line number (0..23) | |
144 and the second argument is the starting column number (0..79), | |
145 and the third argument is the field length in columns. | |
146 This command causes the emulator to send a FIELDVALUE message | |
147 back to the monitor. | |
148 </para> | |
149 | |
150 <para> | |
151 SCREENWATCH = 7 (Monitor -> TE). | |
152 The first argument is the line number (0..23) | |
153 and the second argument is the starting column number (0..79), | |
154 and the third argument is the field length in columns. | |
155 This command causes the emulator to watch the specified | |
156 part of the screen for changes. When that part of the screen | |
157 changes, the emulator will send a SCREENCHANGE message back | |
158 to the monitor. | |
159 </para> | |
160 </refsect1> | |
161 | |
162 <refsect1 id='todo.1'> | |
163 <title>TODO</title> | |
164 <para> | |
165 Nothing. | |
166 </para> | |
167 </refsect1> | |
168 | |
169 <refsect1 id='copyright.1'> | |
170 <title>Copyright</title> | |
171 <para> | |
172 Copyright (C) 2014 by 510 Software Group <carl@five-ten-sg.com> | |
173 </para> | |
174 <para> | |
175 This program is free software; you can redistribute it and/or modify it | |
176 under the terms of the GNU General Public License as published by the | |
177 Free Software Foundation; either version 3, or (at your option) any | |
178 later version. | |
179 </para> | |
180 <para> | |
181 You should have received a copy of the GNU General Public License along | |
182 with this program; see the file COPYING. If not, please write to the | |
183 Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. | |
184 </para> | |
185 </refsect1> | |
186 | |
187 <refsect1 id='version.1'> | |
188 <title>Version</title> | |
189 <para> | |
190 @VERSION@ | |
191 </para> | |
192 </refsect1> | |
193 </refentry> | |
194 | |
195 </reference> |