1
|
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>
|
2
|
22 <date>2014-06-22</date>
|
1
|
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>
|
2
|
61 For every terminal session (local, telnet, ssh or tn5250), the
|
1
|
62 terminal emulator also makes a connection to a terminal monitor
|
2
|
63 process, which can see cursor movement and screen contents, and can
|
1
|
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>
|
2
|
111 KEYSTATE = 2 (TE -> Monitor). The argument is a single uint16
|
|
112 value, 1 for key down, 0 for key up. The TE tracks a single special
|
|
113 key for the monitor, and reports key up/down state when it changes.
|
|
114 The actual key is configurable.
|
1
|
115 </para>
|
|
116
|
|
117 <para>
|
|
118 CURSORMOVE = 3 (TE -> Monitor).
|
|
119 The first argument is the line number (0..23)
|
|
120 and the second argument is the column number (0..79).
|
|
121 </para>
|
|
122
|
|
123 <para>
|
|
124 SCREENCHANGE = 4 (TE -> Monitor). The first argument is the
|
|
125 number of lines. The second argument is the number of columns.
|
|
126 That is followed by lines*columns uint16 character codes.
|
|
127 </para>
|
|
128
|
|
129 <para>
|
|
130 FIELDVALUE = 5 (TE -> Monitor).
|
|
131 SETFIELD = 5 (Monitor -> TE).
|
|
132 The first argument is the line number (0..23)
|
|
133 and the second argument is the column number (0..79).
|
|
134 That is followed by the field value, a sequence of uint16
|
|
135 character codes from the screen buffer. The field
|
|
136 covers N columns, where N = (message length - 4) / 2.
|
|
137 When sent from the monitor to the emulator, this causes
|
|
138 the emulator to send the field codes to the host. This is
|
|
139 also used as the reply message from the emulator to the
|
|
140 monitor for a previous GETFIELD from the monitor.
|
|
141 </para>
|
|
142
|
|
143 <para>
|
|
144 GETFIELD = 6 (Monitor -> TE).
|
|
145 The first argument is the line number (0..23)
|
|
146 and the second argument is the starting column number (0..79),
|
|
147 and the third argument is the field length in columns.
|
|
148 This command causes the emulator to send a FIELDVALUE message
|
|
149 back to the monitor.
|
|
150 </para>
|
|
151
|
|
152 <para>
|
|
153 SCREENWATCH = 7 (Monitor -> TE).
|
|
154 The first argument is the line number (0..23)
|
|
155 and the second argument is the starting column number (0..79),
|
|
156 and the third argument is the field length in columns.
|
|
157 This command causes the emulator to watch the specified
|
|
158 part of the screen for changes. When that part of the screen
|
|
159 changes, the emulator will send a SCREENCHANGE message back
|
|
160 to the monitor.
|
|
161 </para>
|
2
|
162
|
|
163 <para>
|
|
164 DEPRESS = 8 (Monitor -> TE). The argument is a single
|
|
165 uint16 value containing a Windows VK key code. See
|
|
166 http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731
|
|
167 for the values. The following values are implemented
|
|
168 in the emulator - vk_back vk_tab vk_return vk_escape
|
|
169 vk_prior vk_next vk_end vk_home vk_left vk_up vk_right
|
|
170 vk_down vk_insert vk_delete vk_f1 vk_f2 vk_f3 vk_f4
|
|
171 vk_f5 vk_f6 vk_f7 vk_f8 vk_f9 vk_f10 vk_f11 vk_f12.
|
|
172 </para>
|
1
|
173 </refsect1>
|
|
174
|
|
175 <refsect1 id='todo.1'>
|
|
176 <title>TODO</title>
|
|
177 <para>
|
|
178 Nothing.
|
|
179 </para>
|
|
180 </refsect1>
|
|
181
|
|
182 <refsect1 id='copyright.1'>
|
|
183 <title>Copyright</title>
|
|
184 <para>
|
|
185 Copyright (C) 2014 by 510 Software Group <carl@five-ten-sg.com>
|
|
186 </para>
|
|
187 <para>
|
|
188 This program is free software; you can redistribute it and/or modify it
|
|
189 under the terms of the GNU General Public License as published by the
|
|
190 Free Software Foundation; either version 3, or (at your option) any
|
|
191 later version.
|
|
192 </para>
|
|
193 <para>
|
|
194 You should have received a copy of the GNU General Public License along
|
|
195 with this program; see the file COPYING. If not, please write to the
|
|
196 Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
197 </para>
|
|
198 </refsect1>
|
|
199
|
|
200 <refsect1 id='version.1'>
|
|
201 <title>Version</title>
|
|
202 <para>
|
|
203 @VERSION@
|
|
204 </para>
|
|
205 </refsect1>
|
|
206 </refentry>
|
|
207
|
|
208 </reference>
|