comparison xml/510connectbot.in @ 0:0ce5cc452d02

initial version
author Carl Byington <carl@five-ten-sg.com>
date Thu, 22 May 2014 10:41:19 -0700
parents
children accf93be8c12
comparison
equal deleted inserted replaced
-1:000000000000 0:0ce5cc452d02
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 &lt;carl@five-ten-sg.com&gt;
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>