# HG changeset patch # User Carl Byington # Date 1399325831 25200 # Node ID f12df02aa228f64fa1ac087d5bc1a89276f077f0 # Parent 5564580fe16003815b52b6248b12cfe1a7e40249 add docs diff -r 5564580fe160 -r f12df02aa228 AndroidManifest.xml --- a/AndroidManifest.xml Mon May 05 13:37:31 2014 -0700 +++ b/AndroidManifest.xml Mon May 05 14:37:11 2014 -0700 @@ -2,7 +2,7 @@ + android:versionName="1.0.0-1" > + @PACKAGE@ - Version @VERSION@ + + Packages + + The various source and binary packages are available at http://www.five-ten-sg.com/@PACKAGE@/packages/. + The most recent documentation is available at http://www.five-ten-sg.com/@PACKAGE@/. + + + A Mercurial source + code repository for this project is available at http://hg.five-ten-sg.com/@PACKAGE@/. + + + + + + + 2014-04-18 + + Carl + Byington + 510 Software Group + + + + + @PACKAGE@ + 1 + @PACKAGE@ @VERSION@ + + + + @PACKAGE@ + a monitoring package for the android terminal emulator + + + + Build method + + This is an android project with no native code, so + "android update project -p . -t android-16; ant debug" + should build cleanly. + + + + + Introduction + + This is a stub monitoring application for the related + 510 Connectbot android terminal emulator package. + + + + + Terminal Monitor + + For every terminal session (local, telnet, ssh or other), the + terminal emulator also makes a connection to a terminal monitor + process, which can see keystrokes and screen contents, and can + inject characters to send to the host. + + + + The terminal monitor is invoked by calling an android Intent + named "com.five_ten_sg.connectbot.monitor.MonitorService". That + ensures that the monitor process is running, and should then + be listening on TCP port 6000 for incoming connections. The terminal + emulator then connects to the terminal monitor on port 6000. + The native android Intent and Service communication mechanisms + are not used. + + + + The messages exchanged between the terminal emulator and the + terminal monitor are arrays of uint16 values in network byte + order. Each message starts with a uint16 message byte length, + followed by that many bytes of data. Note that the message length + will always be even. The next uint16 contains the message + command value, and the remaining uint16 values are the arguments + if any for that command. + + + + Any arguments that are keystrokes or characters are represented + as 16 bit unicode. Note that the first 256 such characters are + identical to the ISO-8859-1 latin character set. + + + + INIT = 0 (TE -> Monitor). The argument is a string of uint16 + characters. The meaning of these characters is defined by the + monitor. It might be a fully qualified path name, or some other + data used by the monitor to drive the monitoring of this + connection. + + + + ACTIVATE = 1 (TE -> Monitor). The first argument is the + number of lines. The second argument is the number of columns. + That is followed by lines*columns uint16 character codes. + This connection is now the active connection. It is the + topmost (or only) window visible to the user - typed keystrokes + will be sent to the host on the other end of this connection. + + + + HOSTDATA = 2 (TE -> Monitor). The argument is a single uint16 + value containing the 8 bit character that was sent to the host. + + + + CURSORMOVE = 3 (TE -> Monitor). + The first argument is the line number (0..23) + and the second argument is the column number (0..79). + + + + SCREENCHANGE = 4 (TE -> Monitor). The first argument is the + number of lines. The second argument is the number of columns. + That is followed by lines*columns uint16 character codes. + + + + FIELDVALUE = 5 (TE -> Monitor). + SETFIELD = 5 (Monitor -> TE). + The first argument is the line number (0..23) + and the second argument is the column number (0..79). + That is followed by the field value, a sequence of uint16 + character codes from the screen buffer. The field + covers N columns, where N = (message length - 4) / 2. + When sent from the monitor to the emulator, this causes + the emulator to send the field codes to the host. This is + also used as the reply message from the emulator to the + monitor for a previous GETFIELD from the monitor. + + + + GETFIELD = 6 (Monitor -> TE). + The first argument is the line number (0..23) + and the second argument is the starting column number (0..79), + and the third argument is the field length in columns. + This command causes the emulator to send a FIELDVALUE message + back to the monitor. + + + + SCREENWATCH = 7 (Monitor -> TE). + The first argument is the line number (0..23) + and the second argument is the starting column number (0..79), + and the third argument is the field length in columns. + This command causes the emulator to watch the specified + part of the screen for changes. When that part of the screen + changes, the emulator will send a SCREENCHANGE message back + to the monitor. + + + + + TODO + + Nothing. + + + + + Copyright + + Copyright (C) 2014 by 510 Software Group <carl@five-ten-sg.com> + + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 3, or (at your option) any + later version. + + + You should have received a copy of the GNU General Public License along + with this program; see the file COPYING. If not, please write to the + Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + + + + + Version + + @VERSION@ + + + + + diff -r 5564580fe160 -r f12df02aa228 xml/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xml/Makefile Mon May 05 14:37:11 2014 -0700 @@ -0,0 +1,12 @@ +ver:=$(shell grep versionName ../AndroidManifest.xml | cut -d'"' -f2) +pkg:=510ConnectbotMonitor + +all: + sed -e 's/@PACKAGE@/$(pkg)/g' -e 's/@VERSION@/$(ver)/g' <510connectbotmonitor.in >510connectbotmonitor + cat header.xml 510connectbotmonitor >510connectbotmonitor.xml + cat header.sgml 510connectbotmonitor >510connectbotmonitor.sgml + rm -f ../html/*html + rm -f ../html/*pdf + xmlto -o ../html xhtml 510connectbotmonitor.xml + xmlto -o ../html pdf 510connectbotmonitor.xml + rm -f 510connectbotmonitor.xml 510connectbotmonitor.sgml diff -r 5564580fe160 -r f12df02aa228 xml/header.sgml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xml/header.sgml Mon May 05 14:37:11 2014 -0700 @@ -0,0 +1,1 @@ + diff -r 5564580fe160 -r f12df02aa228 xml/header.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xml/header.xml Mon May 05 14:37:11 2014 -0700 @@ -0,0 +1,4 @@ + + +