0
|
1 <reference>
|
|
2 <title>@PACKAGE@ - Version @VERSION@</title>
|
|
3 <partintro>
|
|
4 <title>Packages</title>
|
|
5
|
|
6 <para>
|
|
7 The various source and binary packages are available at <ulink
|
|
8 url="http://www.five-ten-sg.com/@PACKAGE@/packages/">http://www.five-ten-sg.com/@PACKAGE@/packages/</ulink>.
|
|
9 The most recent documentation is available at <ulink
|
|
10 url="http://www.five-ten-sg.com/@PACKAGE@/">http://www.five-ten-sg.com/@PACKAGE@/</ulink>.
|
|
11 </para>
|
|
12
|
|
13 <para>
|
|
14 A <ulink url="http://www.selenic.com/mercurial/wiki/">Mercurial</ulink> source
|
|
15 code repository for this project is available at <ulink
|
|
16 url="http://hg.five-ten-sg.com/@PACKAGE@/">http://hg.five-ten-sg.com/@PACKAGE@/</ulink>.
|
|
17 </para>
|
|
18
|
|
19 <para>
|
|
20 A companion terminal monitor project is available at <ulink
|
|
21 url="http://www.five-ten-sg.com/510ConnectbotMonitor">http://www.five-ten-sg.com/510ConnectbotMonitor</ulink>
|
|
22 </para>
|
|
23 </partintro>
|
|
24
|
|
25 <refentry id="x@PACKAGE@.1">
|
|
26 <refentryinfo>
|
|
27 <date>2014-05-13</date>
|
|
28 <author>
|
|
29 <firstname>Carl</firstname>
|
|
30 <surname>Byington</surname>
|
|
31 <affiliation><orgname>510 Software Group</orgname></affiliation>
|
|
32 </author>
|
|
33 </refentryinfo>
|
|
34
|
|
35 <refmeta>
|
|
36 <refentrytitle>@PACKAGE@</refentrytitle>
|
|
37 <manvolnum>1</manvolnum>
|
|
38 <refmiscinfo>@PACKAGE@ @VERSION@</refmiscinfo>
|
|
39 </refmeta>
|
|
40
|
|
41 <refnamediv id='name.1'>
|
|
42 <refname>@PACKAGE@</refname>
|
|
43 <refpurpose>an android vt320 terminal emulator for telnet/ssh connections</refpurpose>
|
|
44 </refnamediv>
|
|
45
|
|
46 <refsect1 id='build.1'>
|
|
47 <title>Build method</title>
|
|
48 <para>
|
|
49 This is an android project with native code, so
|
|
50 "ndk-build clean; ndk-build; android update project -p . -t android-16; ant debug"
|
|
51 should build cleanly.
|
|
52 </para>
|
|
53 </refsect1>
|
|
54
|
|
55 <refsect1 id='introduction.1'>
|
|
56 <title>Introduction</title>
|
|
57 <para>
|
|
58 I belive that the previous connectbot projects are improperly licensed.
|
|
59 They contain a mix of Apache 2.0 and GPLv2+ code, and those two licenses
|
|
60 are incompatible. I have relicensed this as GPLv3+, since that is
|
|
61 compatible with the licenses of all the sub-parts.
|
|
62 </para>
|
|
63 <para>
|
|
64 The intention is to add 5250 emulation to this project.
|
|
65 </para>
|
|
66 </refsect1>
|
|
67
|
|
68 <refsect1 id='monitor.1'>
|
|
69 <title>Terminal Monitor</title>
|
|
70 <para>
|
|
71 For every terminal session (local, telnet, ssh or other), this
|
|
72 terminal emulator also makes a connection to a terminal monitor
|
|
73 process, which can see keystrokes and screen contents, and can
|
|
74 inject characters to send to the host.
|
|
75 </para>
|
|
76
|
|
77 <para>
|
|
78 The terminal monitor is invoked by calling an android Intent
|
|
79 named "com.five_ten_sg.connectbot.monitor.MonitorService". That
|
|
80 ensures that the monitor process is running, and should then
|
|
81 be listening on TCP port 6000 for incoming connections. The terminal
|
|
82 emulator then connects to the terminal monitor on port 6000.
|
|
83 The native android Intent and Service communication mechanisms
|
|
84 are not used.
|
|
85 </para>
|
|
86
|
|
87 <para>
|
|
88 The messages exchanged between the terminal emulator and the
|
|
89 terminal monitor are arrays of uint16 values in network byte
|
|
90 order. Each message starts with a uint16 message byte length,
|
|
91 followed by that many bytes of data. Note that the message length
|
|
92 will always be even. The next uint16 contains the message
|
|
93 command value, and the remaining uint16 values are the arguments
|
|
94 if any for that command.
|
|
95 </para>
|
|
96
|
|
97 <para>
|
|
98 Any arguments that are keystrokes or characters are represented
|
|
99 as 16 bit unicode. Note that the first 256 such characters are
|
|
100 identical to the ISO-8859-1 latin character set.
|
|
101 </para>
|
|
102
|
|
103 <para>
|
|
104 INIT = 0 (TE -> Monitor). The argument is a string of uint16
|
|
105 characters. The meaning of these characters is defined by the
|
|
106 monitor. It might be a fully qualified path name, or some other
|
|
107 data used by the monitor to drive the monitoring of this
|
|
108 connection.
|
|
109 </para>
|
|
110
|
|
111 <para>
|
|
112 ACTIVATE = 1 (TE -> Monitor). The first argument is the
|
|
113 number of lines. The second argument is the number of columns.
|
|
114 That is followed by lines*columns uint16 character codes.
|
|
115 This connection is now the active connection. It is the
|
|
116 topmost (or only) window visible to the user - typed keystrokes
|
|
117 will be sent to the host on the other end of this connection.
|
|
118 </para>
|
|
119
|
|
120 <para>
|
|
121 HOSTDATA = 2 (TE -> Monitor). The argument is a single uint16
|
|
122 value containing the 8 bit character that was sent to the host.
|
|
123 </para>
|
|
124
|
|
125 <para>
|
|
126 CURSORMOVE = 3 (TE -> Monitor).
|
|
127 The first argument is the line number (0..23)
|
|
128 and the second argument is the column number (0..79).
|
|
129 </para>
|
|
130
|
|
131 <para>
|
|
132 SCREENCHANGE = 4 (TE -> Monitor). The first argument is the
|
|
133 number of lines. The second argument is the number of columns.
|
|
134 That is followed by lines*columns uint16 character codes.
|
|
135 </para>
|
|
136
|
|
137 <para>
|
|
138 FIELDVALUE = 5 (TE -> Monitor).
|
|
139 SETFIELD = 5 (Monitor -> TE).
|
|
140 The first argument is the line number (0..23)
|
|
141 and the second argument is the column number (0..79).
|
|
142 That is followed by the field value, a sequence of uint16
|
|
143 character codes from the screen buffer. The field
|
|
144 covers N columns, where N = (message length - 4) / 2.
|
|
145 When sent from the monitor to the emulator, this causes
|
|
146 the emulator to send the field codes to the host. This is
|
|
147 also used as the reply message from the emulator to the
|
|
148 monitor for a previous GETFIELD from the monitor.
|
|
149 </para>
|
|
150
|
|
151 <para>
|
|
152 GETFIELD = 6 (Monitor -> TE).
|
|
153 The first argument is the line number (0..23)
|
|
154 and the second argument is the starting column number (0..79),
|
|
155 and the third argument is the field length in columns.
|
|
156 This command causes the emulator to send a FIELDVALUE message
|
|
157 back to the monitor.
|
|
158 </para>
|
|
159
|
|
160 <para>
|
|
161 SCREENWATCH = 7 (Monitor -> TE).
|
|
162 The first argument is the line number (0..23)
|
|
163 and the second argument is the starting column number (0..79),
|
|
164 and the third argument is the field length in columns.
|
|
165 This command causes the emulator to watch the specified
|
|
166 part of the screen for changes. When that part of the screen
|
|
167 changes, the emulator will send a SCREENCHANGE message back
|
|
168 to the monitor.
|
|
169 </para>
|
|
170
|
|
171 <para>
|
|
172 DEPRESS = 8 (Monitor -> TE). The argument is a single uint16
|
|
173 value containing the vk_key value. This command causes the emulator
|
|
174 to simulate a keypress for that key. The codes are defined
|
|
175 <ulink url="http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731%28v=vs.85%29.aspx">here</ulink>.
|
|
176 </para>
|
|
177 </refsect1>
|
|
178
|
|
179 <refsect1 id='todo.1'>
|
|
180 <title>TODO</title>
|
|
181 <para>
|
|
182 Add 5250 emulation.
|
|
183 </para>
|
|
184 </refsect1>
|
|
185
|
|
186 <refsect1 id='copyright.1'>
|
|
187 <title>Copyright</title>
|
|
188 <para>
|
|
189 Copyright (C) 2014 by 510 Software Group <carl@five-ten-sg.com>
|
|
190 </para>
|
|
191 <para>
|
|
192 This program is free software; you can redistribute it and/or modify it
|
|
193 under the terms of the GNU General Public License as published by the
|
|
194 Free Software Foundation; either version 3, or (at your option) any
|
|
195 later version.
|
|
196 </para>
|
|
197 <para>
|
|
198 You should have received a copy of the GNU General Public License along
|
|
199 with this program; see the file COPYING. If not, please write to the
|
|
200 Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
201 </para>
|
|
202 </refsect1>
|
|
203
|
|
204 <refsect1 id='credits.1'>
|
|
205 <title>Credits</title>
|
|
206 <para>
|
|
207 Based on VX Connectbot provided under the Apache
|
|
208 License, Version 2.0. Copyright (C) 2012 Martin
|
|
209 Matuska http://connectbot.vx.sk
|
|
210 </para>
|
|
211 <para>
|
|
212 Based on Irssiconnectbot provided under the Apache
|
|
213 License, Version 2.0. Copyright (C) 2013
|
|
214 Iiro Uusitalo and Ville Kerminen
|
|
215 https://github.com/irssiconnectbot/irssiconnectbot
|
|
216 </para>
|
|
217 <para>
|
|
218 Based on ConnectBot provided under the Apache License,
|
|
219 Version 2.0. Copyright (C) 2007-2008 Kenny Root
|
|
220 http://the-b.org and Jeffrey Sharkey http://jsharkey.org
|
|
221 </para>
|
|
222 <para>
|
|
223 Based on the Trilead SSH2 client provided
|
|
224 under a BSD-style license. Copyright (C) 2007 Trilead
|
|
225 AG. http://www.trilead.com
|
|
226 </para>
|
|
227 <para>
|
|
228 Based on JTA Telnet/SSH client provided under the
|
|
229 GPLv2 license. Copyright (C) 1996-2005 Matthias L. Jugel and
|
|
230 Marcus Meiner. http://www.javassh.org
|
|
231 </para>
|
|
232 <para>
|
|
233 Includes the JSOCKS library, provided
|
|
234 under the GNU LGPL license. http://jsocks.sourceforge.net
|
|
235 </para>
|
|
236 <para>
|
|
237 Includes JZlib provided under a BSD-style
|
|
238 license. Copyright (C) 2000-2004 JCraft, Inc.
|
|
239 http://www.jcraft.com
|
|
240 </para>
|
|
241 <para>
|
|
242 Includes the ssh-agent service developed by Roberto
|
|
243 Tyley https://github.com/rtyley
|
|
244 </para>
|
|
245 <para>
|
|
246 SCP file transfer support is based on
|
|
247 https://github.com/staktrace/connectbot/commits/filetransfer
|
|
248 modifications by Kartikaya Gupta.
|
|
249 </para>
|
|
250 </refsect1>
|
|
251
|
|
252 <refsect1 id='version.1'>
|
|
253 <title>Version</title>
|
|
254 <para>
|
|
255 @VERSION@
|
|
256 </para>
|
|
257 </refsect1>
|
|
258 </refentry>
|
|
259
|
|
260 </reference>
|