home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / MODEM / UWPC201.ZIP / UW.DOC < prev    next >
Encoding:
Text File  |  1991-11-15  |  33.8 KB  |  721 lines

  1.                 UW/PC Version 2.01
  2.  
  3.                  Rhys Weatherley
  4.  
  5.                     March 1991
  6.  
  7. 1. INTRODUCTION
  8.  
  9. This is version 2.01 of UW/PC, a multiple-window interface to UNIX for
  10. IBM-PC's and compatible computers.  This program is based on a program
  11. written for the Macintosh by John Bruner.  It provides up to seven
  12. separate login sessions on the remote UNIX machine, and requires the
  13. UW server to be running on the UNIX host.  Before UW/PC can be used in
  14. a multiple session mode, the server must be compiled and installed on
  15. the UNIX machine.
  16.  
  17. The source code for the server, together with the Macintosh program
  18. binaries can be found on many ftp archive sites.  The standard server
  19. distribution is available in the directory "info-mac/unix" on
  20. "sumex-aim.standford.edu" [36.44.0.6].  The files are named 
  21. "uw-42-part1.shar" ... "uw-42-part8.shar".  In Australia, the UW server
  22. can be found in the directory "info-mac/unix" on "ditmela.mel.dit.csiro.au"
  23. [128.250.90.81].  A copy of the server source code without the Macintosh
  24. program binaries is included in this release.  For those of you who have
  25. previously compiled the server, there has been no change at all to the
  26. server code.
  27.  
  28. Version 2.01 of UW/PC is a total rewrite of the previous public release
  29. (1.05) in C++ to give a better program structure for the upcoming enhancements
  30. to UW/PC.  Comments are invited to the author.  This version implements the
  31. Unix Windows protocols 0 and 1.  Protocol 2 (with more control over window
  32. management) is going to be supported in an upcoming Windows 3.0 version,
  33. however some small parts of Protocol 2 are present in this version which make
  34. Protocol 1 start faster.  Protocol 2 is not fully supported in the DOS
  35. versions because of the complexity of the windowing code that is necessary.
  36.  
  37. There are now many more configuration options, so even if you have used UW/PC
  38. before, I suggest that you read the section "CONFIGURING UW/PC" later in this
  39. documentation.  If you wish to use the new ANSI terminal emulation option,
  40. then you should read the discussion on terminal types in the section "USING
  41. UW/PC" below.  This version includes a terminal emulation compiler for
  42. creating new terminal types using a small assembly-code like language.  It
  43. is described in the file TERMCC.DOC, but will not be required for most users -
  44. just those who want to write their own terminal types.
  45.  
  46. UW/PC is distributed under the terms of the GNU General Public License
  47. (version 1), a copy of which is included.  Note however that the server
  48. is NOT covered under this license and comes under the terms and conditions
  49. contained within its documentation.  Also, please note that I am not
  50. affiliated with the Free Software Foundation in any way, and that further
  51. releases of this program may not have source code included or be distributed
  52. under the GNU General Public License, but probably will.
  53.  
  54. Comments about UW/PC can be sent to the author at one of the following
  55. addresses:
  56.  
  57.     AARNet/Internet: rhys@cs.uq.oz.au
  58.  
  59.     Aust. Post:     Rhys Weatherley
  60.              5 Horizon Drive
  61.              Jamboree Heights  QLD  4074
  62.              Australia
  63.  
  64. Comments about the UW server for UNIX hosts should be sent to John Bruner:
  65.  
  66.     ARPANET/MILNET:     jdb@mordor.s1.gov
  67.  
  68.     UUCP:         {lll-crg,decwrl,caip}!mordor!jdb
  69.  
  70.     U.S. Mail:     John Bruner
  71.              Lawrence Livermore National Laboratory
  72.              P.O. Box 5503, L-276
  73.              Livermore, CA  94550
  74.  
  75. 2. FILES
  76.  
  77. The following files should be present in the UW/PC distribution:
  78.  
  79.     COPYING        A copy of the GNU General Public License.
  80.     UW.EXE        The actual UW/PC program itself.
  81.     UW.DOC        This documentation file.
  82.     UWEG.CFG    An example configuration file - rename to
  83.             UW.CFG to use this file.
  84.     TERMCC.EXE    A compiler for creating new terminal types.
  85.     TERMCC.DOC    Documentation for TERMCC.EXE.
  86.     SETMODE.COM    A useful screen mode setting utility.
  87.     HISTORY        History of UW/PC versions.
  88.     UW-SRC.ZIP    The source code for UW/PC and TERMCC.
  89.     UWSERVER.TAR    The source code for the UNIX server.
  90.  
  91. SETMODE was included to assist with configuration of the screen colours
  92. (see "CONFIGURING UW/PC" later).  The Macintosh binaries have been stripped
  93. from the server, and can be obtained from one of the FTP sites mentioned
  94. above if desired.  The source code in UWSERVER.TAR should be compiled on
  95. the UNIX host to allow the full multi-window potential of UW/PC to be used.
  96.  
  97. 3. READ THIS IF YOU ARE HAVING TROUBLE
  98.  
  99. If you are having trouble getting UW/PC to go, especially with the UW server
  100. program, then exit UW/PC and start it again with the "-debug" option.
  101. i.e. "uw -debug".  Then, every character that is sent from the remote machine
  102. will be placed into the file "UWDEBUG.OUT" in the current directory.  Upload
  103. this file to the UNIX machine in binary mode (in some way), uuencode it and
  104. send it to me via e-mail.  This will help me to know EXACTLY what you are
  105. doing, and so I may be able to find the bugs more easily.
  106.  
  107. On some systems, the server will abort when it is started with a message like
  108. "no ttys".  If this happens, recompile the server after modifying the
  109. Makefile to compile using BSD4.2 instead of BSD4.3 and play with the
  110. compilation options.  This is discussed in the Makefile for the server.
  111.  
  112. 4. USING UW/PC
  113.  
  114. When UW/PC starts, it initialises the screen and serial port, and then
  115. enters "Protocol 0", which is equivalent to the dumb terminal emulations
  116. available in conventional communications programs.  The default emulation
  117. is ADM31, but VT52 and ANSI emulations are also available.  A number of
  118. special keystrokes are defined in protocol 0:
  119.  
  120.     ALT-B - Send a line break over the serial link.  CTRL-BREAK and
  121.         CTRL-END will also send a line break.
  122.     ALT-C - Start a "cut" operation.  You can select a region in
  123.         the current window to cut and place in the clipboard.
  124.         Press RETURN at each corner and ESC to quit.  You can
  125.         also use the mouse to select a region of the current
  126.         window.  Press down and hold the left mouse button at
  127.         one corner of the region and release it at the other
  128.         corner.  This will only work if the mouse is enabled.
  129.         See "CONFIGURING UW/PC" below.
  130.     ALT-D - Send the string defined by the "dial" configuration
  131.         variable to the modem.  See "CONFIGURING UW/PC" below.
  132.     ALT-H - Hangup the modem, by first dropping the DTR signal,
  133.         and then sending the hangup string if the carrier
  134.         signal is still present.
  135.     ALT-I - Send the modem initialisation string, even if a
  136.         carrier signal is present.
  137.     ALT-J - Jump to a DOS shell.  Type "EXIT" at the DOS prompt to
  138.         return to UW/PC.
  139.     ALT-L - Start and stop an ASCII capture.  You will be prompted
  140.         for a file name to store all data coming from the remote
  141.         host in until you press ALT-L again.  If you have the
  142.         status line set to display the terminal type then it
  143.         will change to "CAP" while the capture is in effect.
  144.     ALT-P - Paste the contents of the clipboard into the current
  145.         window.  If a paste is currently active in another
  146.         window then the paste will be ignored.  After every line
  147.         is sent to the remote host a 10ms pause will be made
  148.         to allow the remote host to catch up.  You can also press
  149.         the right mouse button to start a paste if the mouse
  150.         is enabled.
  151.     ALT-R - Receive a file from the remote host.  See UPLOADS AND
  152.         DOWNLOADS below.
  153.     ALT-S - Send the contents of a file to the remote host.  See
  154.         UPLOADS AND DOWNLOADS below.
  155.     ALT-T - Send a string of the form "stty rows N columns M" to the
  156.         remote host.  This is useful for resetting the remote
  157.         host's idea of what the current window size is.  Sometimes
  158.         Unix systems get confused as to the size of a terminal
  159.         type (usually 80x24 in UW/PC), and so this command will
  160.         send an "stty" command-line to correct it.
  161.     ALT-U - Send the string defined by the "uw" configuration
  162.         variable.  This is useful once connected to start the
  163.         UW server on the UNIX host.  See "CONFIGURING UW/PC"
  164.         below.
  165.     ALT-X - Exit the program.  If any windows are present, they
  166.         will be destroyed.  This function does NOT hangup
  167.         the modem before exiting, so UW/PC can be restarted
  168.         in protocol 0 and connected to the remote host if required.
  169.     ALT-Q - Quit the program: same as ALT-X.
  170.     ALT-Z - Popup a small box containing descriptions of the
  171.         special keystrokes.  Press any key to resume.
  172.  
  173. Protocol 0 exists to allow you to connect to the UNIX host in whatever
  174. way the host requires.  When you are ready to use the multi-window mode
  175. of UW/PC, execute the UW server on the remote host by typing its command
  176. name, or by pressing ALT-U if the "uw" configuration variable has been
  177. set correctly (see below).  Note that the server must be compiled and
  178. accessible for you to do this.
  179.  
  180. The UW server sends a special control sequence which UW/PC interprets
  181. and then automatically starts the multi-window session.  By default the
  182. server will also create a terminal window.  See the documentation that
  183. accompanies the server for information on modifying its startup behaviour.
  184. Once UW/PC has entered the multi-window session (protocol 1), up to 7
  185. windows can be created, ALT-U no longer has any effect, and the following
  186. additional special keystrokes are defined:
  187.  
  188.     ALT-E - Exit the UW session and return to protocol 0.
  189.         A "kill window" request will be sent for all currently
  190.         active windows.
  191.     ALT-K - Kill the current window.
  192.     ALT-N - Create a new window if possible.  Up to 7 windows
  193.         may be created and used.  The status line will indicate
  194.         which windows are currently active if you have set it
  195.         correctly.  (See "CONFIGURING UW/PC" below).
  196.     ALT-W - Cycle to the next window.  e.g. if you are in window 3,
  197.         then you will cycle to the next highest numbered window,
  198.         cycling back to 1 if necessary.  This is useful to quickly
  199.         switch between windows.  ALT-0 may also be used for this.
  200.     ALT-n - "n" is a digit between 1 and 7.  These keystrokes
  201.         direct UW/PC to "jump" to the nominated window.
  202.  
  203. Usually, if you exit a UNIX shell in a window, that window will be killed
  204. automatically, and when all windows have been killed, the UW session will
  205. terminate, returning you to protocol 0.  If protocol 1 does not exit, then
  206. you can try some of the procedures given in the "LIMITATIONS" section
  207. later in this document.
  208.  
  209. The UW server usually defaults to using ADM31 emulation whenever it creates
  210. a new window.  You may need to manually modify the UNIX terminal type in the
  211. windows to get the correct screen behaviour if you have set your default
  212. emulation type to something other than ADM31 in the configuration file.
  213. If you are using the Korn shell "ksh", you can add the following lines to
  214. your ".kshrc" file to automatically change the terminal type to XXX, where
  215. XXX is your preferred terminal type.
  216.  
  217.         case $TERM in
  218.           adm31) TERM=XXX export TERM ;;
  219.           *) ;;
  220.         esac
  221.  
  222. Some UNIX termcap entries do not have the entry for the ADM31 terminal type,
  223. and so some UNIX programs may not have the correct screen behaviour.  The
  224. UW server will set the TERMCAP environment variable within a UW session
  225. window, but in protocol 0 this environment variable is not set automatically.
  226. To use ADM31 emulation in protocol 0 on machines without the correct termcap
  227. entry, set the TERMCAP environment variable to the following string (newlines
  228. are for layout only, and shouldn't appear in the actual value):
  229.  
  230.     adm31:cr=^M:do=^J:nl=^J:al=\EE:am:le=^H:bs:ce=\ET:
  231.     cm=\E=%+ %+ :cl=^Z:cd=\EY:co#80:dc=\EW:dl=\ER:
  232.     ei=\Er:ho=^^:im=\Eq:li#24:mi:nd=^L:up=^K:MT:km:so=\EG1:se=\EG0:
  233.  
  234. Alternatively, setting the "emul0" configuration variable to "vt52" or "ansi"
  235. will allow you to use VT52 or ANSI emulation in protocol 0, which are usually
  236. defined in all termcap and terminfo entries.  ADM31 emulation will still be
  237. used for UW session windows if the "emul" variable is set to "adm31".  ADM31
  238. emulation is much "smarter" than VT52, so you will probably want to use
  239. it wherever possible.  ANSI emulation is also available and this is much
  240. smarter than ADM31, but because the UW server defaults to ADM31, you
  241. may still want to use it instead of ANSI.
  242.  
  243. If you do want to use the ANSI emulation mode and the "ansi" termcap on your
  244. Unix host is "brain-dead" (i.e. it doesn't support very much), then you
  245. can set the TERMCAP variable to the following value to get a smarter ANSI
  246. emulation:
  247.  
  248.     ansi:am:bs:pt:co#80:li#24:kn#3:
  249.             :AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:
  250.             :RI=\E[%dC:UP=\E[%dA:al=\E[L:bt=\E[Z:cd=\E[J:ce=\E[K:
  251.             :cl=\E[H\E[J:cm=\E[%i%d;%dH:ct=\E[2g:
  252.             :dc=\E[P:dl=\E[M:ho=\E[H:ic=\E[@:kb=\b:kd=\E[B:
  253.             :kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:nd=\E[C:
  254.             :se=\E[m:so=\E[7m:st=\EH:ue=\E[m:up=\E[A:us=\E[4m:
  255.             :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:
  256.  
  257. To find out if the "ansi" termcap on your computer is "brain-dead", search
  258. the file "/etc/termcap" on the Unix host for the string "|ansi|" and if it
  259. only has a couple of lines listed before the next entry, then it is
  260. "brain-dead".  If there are 5 or more lines, then most likely your "ansi"
  261. termcap is OK.  Ask a local guru if you are unsure.  TERMCAP and TERMINFO
  262. gurus may want to play around with the various ANSI, VT100 and VT102
  263. compatible terminal types, etc to try and find something that has lots of
  264. features for working with editors such as emacs, etc.  See the ANSI.CAP file
  265. in the source archive and the documentation for TERMCC for more information
  266. on the capabilities of UW/PC's ANSI emulation.  Any suggestions (no matter
  267. how nasty :-) on the ANSI emulation are welcome.
  268.  
  269. Adding the following lines to your ".kshrc" file is the best way to make sure
  270. that ANSI emulation is always correctly used in Protocol 1.  You can also use
  271. ANSI emulation in Protocol 0 if you desire.
  272.  
  273.   case $TERM in
  274.     adm31) TERM=ansi export TERM ;;
  275.     *) ;;
  276.   esac
  277.   TERMCAP='ansi:  *** the ANSI string given above ***  ' export TERMCAP
  278.  
  279. All of the special protocol 0 keystrokes except ALT-U also work in protocol
  280. 1, but it is inadvisable to use ALT-I during a UW session.  ALT-H will still
  281. hangup the modem, after exiting the UW session.  ALT-B will first exit
  282. any active UW session before sending the BREAK pulse.  This avoids some
  283. strange things that may occur with network terminal servers and the like.
  284. ALT-X will also terminate a UW session before exiting UW/PC.
  285.  
  286. 5. UPLOADS AND DOWNLOADS
  287.  
  288. UW/PC has ASCII and XMODEM file transfers built-in and it can also use the
  289. program DSZ (which you need to obtain separately) to perform ZMODEM transfers.
  290. ZMODEM file transfers are disabled in protocol 1 (the multi-window mode)
  291. because DSZ is incompatible with the UW protocol.  It should be noted however,
  292. that because of deficencies in the UW server, you probably won't be able to
  293. run more than one XMODEM transfer at the same time.  This stems from the
  294. fact that if a lot of input or output is appearing in one window then all
  295. other windows will grind to a halt.  Except in the case of a ZMODEM receive,
  296. you will be prompted for the filename of the file to be transfered.  To use
  297. DSZ for ZMODEM transfers, you will need to have DSZ.COM somewhere in your
  298. PATH for it to be accessible.  Note that the DSZ command "ALT-N" will allow
  299. you to "nuke" a transfer and return to UW/PC if something goes wrong.
  300.  
  301. ASCII uploads will the send the contents of the text file to the remote
  302. machine, pausing 10 milliseconds between lines to allow the remote machine
  303. to catch up.  You need to make provisions for capturing the data at the
  304. other end.  Usually you can do this by executing the UNIX command
  305. "cat >filename" before you start the transfer, where "filename" is the
  306. file you want the data to end up in.  Once the transfer is complete, you
  307. can press CTRL-D to end the "cat" command's processing.  Pressing ESC will
  308. abort the transfer - all other keys will be processed as normal.
  309.  
  310. ASCII downloads consist of placing all incoming data from the remote host
  311. into the nominated file.  Pressing ESC will abort the transfer, and all
  312. other keys are processed as normal.  Usually you type in "cat filename" at
  313. the UNIX command line (but don't press RETURN yet), start the ASCII download,
  314. and then press RETURN to start it going.  Once it has finished you press
  315. ESC to abort the reception of characters.  ASCII capture (ALT-L) is similar
  316. to ASCII download, except ALT-L is used to abort the transfer.
  317.  
  318. For XMODEM and ZMODEM transfers, you will need the "sx", "rx", "sz" and "rz"
  319. programs for UNIX compiled and available.  Read the manuals for these programs
  320. to get more information on their options.  For downloads, start the "sx" or
  321. "sz" programs on the remote machine and then press "ALT-R" to start the
  322. reception of the files.  Note that unlike some other communications programs,
  323. the ZMODEM "auto-download-start" command sequence is not recognised, and
  324. so you need to manually start the download.  For uploads, start the "rx" or
  325. "rz" programs on the remote machine and then press "ALT-S" to the start
  326. sending the nominated files.
  327.  
  328. In the near future, UW/PC will be upgraded with a mini-FTP protocol that will
  329. allow you to transfer files between the remote machine and your PC using
  330. FTP-like commands.  This protocol will be more "aware" of the problems of
  331. performing multiple transfers when more than one window is active and will
  332. get around some other problems with transmission mediums that do not accept
  333. some characters.
  334.  
  335. 6. USING UW/PC WITH OTHER PROGRAMS
  336.  
  337. UW/PC can be used as a stand-alone communciations program, or in
  338. conjunction with some other communciations program.  If you have a
  339. faviourite communications program (e.g. Telix, Procomm, MS-Kermit, etc),
  340. and have extensive "scripts", etc to connect you to a UNIX host, and
  341. still want to use these functions, you can still do so.  Once connected
  342. to the UNIX host (or whenever you are ready), you can shell out to a DOS
  343. shell (a function available in most programs), and execute UW/PC to
  344. handle the UW sessions.  Note that you must execute the UW server from
  345. within the control of UW/PC otherwise the startup control sequence that
  346. the server sends to UW/PC may be missed.  You can exit UW/PC at any time to
  347. return to the other program.  It may also be possible for your program's
  348. scripting language to automatically execute the UW/PC program once a
  349. UNIX host connection has been made.
  350.  
  351. 7. CONFIGURING UW/PC
  352.  
  353. When UW/PC starts up, it first inspects the file "UW.CFG" in the current
  354. directory, and if that doesn't exist, the file "UW.CFG" in the directory
  355. the program was loaded from.  This plain ASCII text file is expected to
  356. contain configuration parameters for UW/PC.  If it is not found, defaults
  357. will be chosen for all parameters.  An example configuration file is
  358. distributed with UW/PC.  Each line of the file is of the form "name=arg"
  359. where "name" is the name of the configurable parameter, and "arg" is its
  360. argument.  Comments may be introduced starting with "#", but may not
  361. appear within commands.  The configurable parameters, which are all
  362. optional, and their defaults follow:
  363.  
  364.     address (defaults are the normal COM port addresses)
  365.  
  366.         This option allows you to change the hardware port address
  367.         to use for communication on the port specified by the "port"
  368.         configuration option.  This option's value can be specified
  369.         in decimal, octal (prefixed with '0') or hexadecimal (prefixed
  370.         with '0x') and should appear after the "port" option if that
  371.         is supplied.  The defaults for each of the four COM ports
  372.         are 0x3F8, 0x2F8, 0x3E8 and 0x2E8 respectively.
  373.  
  374.     baud (default 2400)
  375.  
  376.         The baud rate to use for transmission.  This can be
  377.         one of 110, 150, 300, 600, 1200, 2400, 4800, 9600,
  378.         19200, 38400 or 57600.
  379.  
  380.     beep (default on)
  381.  
  382.         Enable or disable the terminal beep.  This can be either
  383.         on or off.
  384.  
  385.     bits (default 8)
  386.  
  387.         The number of data bits (7 or 8) to use for transmission.
  388.  
  389.     cinit (default yes)
  390.  
  391.         Indicates whether or not the initialisation string should
  392.         be sent if the carrier already exists.  This can be either
  393.         yes or no.  When using UW/PC with other programs (see
  394.         above), it is useful to set this to "no" to prevent the
  395.         initialisation string being sent to the UNIX host once
  396.         connected.
  397.  
  398.     colhighlight (default is screen mode dependent)
  399.  
  400.         This numeric option specifies the screen attribute to
  401.         use for the highlighted printing characters (e.g. bold).
  402.         Setting this to 0 will make UW/PC use the default attribute
  403.         which depends on the screen mode in use.
  404.  
  405.     colhighstatus (default is screen mode dependent)
  406.  
  407.         This numeric option specifies the screen attribute to
  408.         use for the highlighted printing characters on the status line.
  409.         Setting this to 0 will make UW/PC use the default attribute
  410.         which depends on the screen mode in use.
  411.  
  412.     colinverse (default is screen mode dependent)
  413.  
  414.         This numeric option specifies the screen attribute to
  415.         use for the inverse printing characters.  Setting this to
  416.         0 will make UW/PC use the default attribute which depends
  417.         on the screen mode in use.
  418.  
  419.     colnormal (default is screen mode dependent)
  420.  
  421.         This numeric option specifies the screen attribute to
  422.         use for the normal printing characters.  Setting this to
  423.         0 will make UW/PC use the default attribute which depends
  424.         on the screen mode in use.
  425.  
  426.     colstatus (default is screen mode dependent)
  427.  
  428.         This numeric option specifies the screen attribute to
  429.         use for the normal printing characters on the status line.
  430.         Setting this to 0 will make UW/PC use the default attribute
  431.         which depends on the screen mode in use.
  432.  
  433.     cursor (default is underline)
  434.  
  435.         This option specifies the shape of the cursor to be used on
  436.         the screen.  It can be underline, halfheight or fullheight.
  437.         This is very useful if you run UW/PC in a DOS window in
  438.         Windows 3.0 386 enhanced mode because the underline cursor
  439.         is very hard to see.
  440.  
  441.     dial (default "ATDT")
  442.  
  443.         This string is sent to the modem when ALT-D is pressed,
  444.         as a shortcut for dialing.  You can modify this string to
  445.         contain a phone number if you wish.  e.g. "ATDP1234567^M"
  446.         will dial the number 1234567 using pulse dialing on a
  447.         Hayes compatible modem when ALT-D is pressed.  The string
  448.         cannot be longer than 100 characters in length.
  449.  
  450.     disable (default no)
  451.  
  452.         This option allows you to completely turn off the handling
  453.         of the special UW server codes that UW/PC processes.  This
  454.         allows you to use UW/PC as a completely stand-alone comms
  455.         program with no interference from the UW protocol.  This
  456.         option can be either yes or no.  Note that you cannot use
  457.         the multi-window mode of UW/PC if this is set to 'yes'.
  458.  
  459.     emul (default adm31)
  460.  
  461.         The default terminal emulation type to use for windows.
  462.         When a new window is created, it will use this emulation
  463.         type.  This can be one of adm31, vt52, or ansi or a string
  464.         (e.g. "vt102"), signifying a currently loaded terminal
  465.         description that will be searched for to become the
  466.         default emulation.  The double quotes are optional.
  467.         When the terminal description is searched for, case is
  468.         ignored during compares.
  469.  
  470.     emul0 (defaults to whatever emul is set to)
  471.  
  472.         Set the terminal emulation type for protocol 0.  This is
  473.         to rectify some problems with UNIX termcap entries that
  474.         are missing the entry for ADM31 terminals, as discussed 
  475.         above under "USING UW/PC".  It can be one of adm31, vt52
  476.         or ansi or a string specifying a terminal type loaded
  477.         with the "terminal" configuration option.
  478.  
  479.     F1 - F10 (default undefined)
  480.  
  481.         These ten configuration variables allow you to define
  482.         the function keys to any strings you desire.  If you do
  483.         not define a function key, it will have its default setting
  484.         as defined by the terminal emulation in use.  The character
  485.         "^" is a control code prefix.  e.g. "^M" corresponds to
  486.         the CTRL-M character.  "~" indicates a 1/2 second pause and
  487.         "#" outputs the next character directly, so that "#^" is
  488.         the character "^" ("#~" and "##" are similar), EXCEPT when
  489.         the next character is alphabetic.  In that case, if the
  490.         character is "x", then ALT-x is taken as the next character.
  491.         In this way, you could define F10 to "#Xy" to always exit
  492.         UW/PC without needing to answer the Yes/No question.  Defining
  493.         a function key to an empty string will also cause the
  494.         default behaviour to be taken.  The strings cannot be
  495.         longer than 100 characters in length.
  496.  
  497.     font (default "System")
  498.  
  499.         Set the font facename to be used in the Windows 3.0 version
  500.         of UW/PC.  This can be up to 15 characters in length.
  501.  
  502.     fontsize (default 8)
  503.  
  504.         Set the size of the font to be used in the Windows 3.0 version.
  505.  
  506.     init (default "ATZ^M~~~AT S7=45 S0=0 V1 X1^M~")
  507.  
  508.         The modem initialisation string, delimited by double
  509.         quote characters.  The strings are the same as for
  510.         function keys, except that ALT sequences are ignored.
  511.         The string cannot be longer than 100 characters in length.
  512.  
  513.     hangup (default "~~~+++~~~ATH0^M")
  514.  
  515.         The modem hangup string to use if after dropping the
  516.         DTR signal, the carrier is still present.  The string
  517.         cannot be longer than 100 characters in length.
  518.  
  519.     mouse (default on)
  520.  
  521.         If this configuration option is on then the mouse will
  522.         be enabled for use by the internal routines.  In particular,
  523.         cutting and pasting can be done using the mouse (as well
  524.         as the keyboard).  This option has no effect if no mouse
  525.         was found attached to the computer or it could not be
  526.         initialised properly.  Only Microsoft-compatible mice are
  527.         supported by UW/PC.  You may want to set this to "off" even
  528.         if you have a mouse because the mouse processing can slow
  529.         down UW/PC's screen updating considerably.
  530.  
  531.     parity (default none)
  532.  
  533.         The parity to use for transmission.  This can be one
  534.         of none, even or odd.
  535.  
  536.     popup (default is off)
  537.  
  538.         This option specifies whether or not windows created by
  539.         the remote host should automatically popup to be the top-most
  540.         window when they are created, so that they can then be used
  541.         straight away without you needing to determine their window
  542.         numbers.  This option can be either on or off.
  543.  
  544.     port (default 1)
  545.  
  546.         The serial port to be used for communications.  This can
  547.         be one of 1,2,3 or 4.
  548.  
  549.     sformat (default " ALT-Z for Help %v %e %v %p %v %u %v Windows: %a")
  550.  
  551.         Set the format of the status line when it is enabled by
  552.         the "status" configuration option.  This string cannot
  553.         be longer than 100 characters in length.  The string
  554.         can contain "printf"-style commands to make various types
  555.         of information appear in the line.  When the status line
  556.         is displyed on the screen, it is truncated to the screen
  557.         width.  The commands are summarised below:
  558.  
  559.             %% - The character "%" itself.
  560.             %a - Expands to all currently active window numbers
  561.                  separated by spaces.  This will always occupy
  562.                  14 characters, padded with spaces.  The current
  563.                  window is highlighted.
  564.             %e - Terminal type of the current window, padded
  565.                  to fill 5 characters with spaces.
  566.             %h - Turn highlighting on (alternate attribute).
  567.             %i - Turn highlighting off (normal attribute).
  568.             %n - Expands to the highest numbered window in use
  569.                  at present ('0' if in Protocol 0).
  570.             %o - Expands to "Online " or "Offline" depending on
  571.                  the current communications carrier status.
  572.             %p - The current serial communications parameters.
  573.                  e.g. "COM1 2400 N-8-1".
  574.             %s - Current system time in 24-hour format (HH:MM).
  575.             %t - Elapsed time since logon in hours and minutes,
  576.                  or 5 spaces if no carrier is present.
  577.             %u - In protocol 0, gives two spaces and in protocol
  578.                  1, gives the string "UW".
  579.             %v - Draw a vertical line in the status line.
  580.             %w - Current window number ('0' if in protocol 0).
  581.             %0-%9 - These are used internally by UW/PC for
  582.                  showing block counts on file transfers, etc.
  583.                  If you use them in your status line, they will
  584.                  expand out to the string "0".
  585.  
  586.     sposn (default left)
  587.  
  588.         This option specifies where the status line specified by
  589.         the "sformat" option is to appear on the bottom line of
  590.         the screen.  This can be one of left, right, center, centre,
  591.         leftsquash, rightsquash, centersquash or centresquash.  The
  592.         values that specify squashing will make the line appear in
  593.         the given position using up only as many character positions
  594.         as necessary.  The rest of the line will be set to black
  595.         and white.  This is useful for very small status lines -
  596.         they can be squashed into a corner of the screen and
  597.         effectively ignored.
  598.  
  599.     status (default on)
  600.  
  601.         Enable or disable the status line on the bottom of the
  602.         screen.  This can be either on or off.
  603.  
  604.     stop (default 1)
  605.  
  606.         The number of stop bits (1 or 2) to use for transmission.
  607.  
  608.     strip (default off)
  609.  
  610.         Enable or disable the stripping of the most significant
  611.         bit of received characters.  This can be either on or off.
  612.         This is provided to strip unwanted parities on some systems.
  613.         If seven bit transmission is in use, this option will be
  614.         ignored and the most significant bit will always be stripped.
  615.  
  616.     swapbs (default off)
  617.  
  618.         Enable or disable the swapping of the backspace and delete
  619.         keys.  Some people like to have this swap in place.  This
  620.         can be either on or off.
  621.  
  622.     terminal (no default)
  623.  
  624.         This can appear up to five times in the configuration file
  625.         and each occurrence will load a terminal description into
  626.         memory.  It's string value specifies a filename for a
  627.         compiled terminal description.  The full pathname should be
  628.         supplied.  For example, the following line could be added to
  629.         the configuration file to add a "VT102" terminal emulation:
  630.  
  631.             terminal="c:\uw\vt102.trm"
  632.  
  633.         The standard VT52, ADM31 and ANSI terminal types can be
  634.         replaced with new terminal descriptions by loading new
  635.         files that have the VT52, ADM31 or ANSI terminal type
  636.         specified.
  637.  
  638.     uw (default "uw^M")
  639.  
  640.         This string is sent to the UNIX host in protocol 0 when
  641.         the ALT-U key is pressed.  Its purpose is to send the
  642.         name of the UW server program to the host to start the
  643.         server, and thus is a shortcut to typing the name in by
  644.         hand.  The characters "^" and "~" have the same meaning
  645.         as for the modem control strings.  The string cannot be
  646.         longer than 100 characters in length.
  647.  
  648.     xonxoff (default encoded)
  649.  
  650.         This configuration variable specifies whether or not
  651.         the XON (CTRL-Q) and XOFF (CTRL-S) keys should be encoded
  652.         for transmission to a UW session, or sent direct without
  653.         any encoding.  This can be one of direct or encoded.  On
  654.         some systems, the modem connection is routed through a
  655.         "terminal server" which exists on the UNIX host's network.
  656.         Some of these terminal servers provide independent XON/XOFF
  657.         flow control, and process the XON and XOFF characters
  658.         themselves.  When the XON and XOFF characters are encoded
  659.         however, they are passed through to the actual UW session,
  660.         but because of the high level of buffering within the UW
  661.         server, they are practically useless to stop and start
  662.         the display.  By setting this variable to "direct", the
  663.         terminal server will receive the XON and XOFF characters,
  664.         giving better control over scrolling displays.
  665.  
  666.     zmodem (default "DSZ")
  667.  
  668.         This configuration variable specifies the name of the
  669.         program to run to perform ZModem file transfers.  Normally
  670.         the full path is searched for "DSZ" but you can specify
  671.         a more fuller path in this variable (e.g. "c:\bin\dsz")
  672.         if you wish.  It is assumed that the program indicated
  673.         by this variable has the same command-line syntax as the
  674.         DSZ program from Omen Technology Inc.  Strange things
  675.         may occur if the command-line syntax is not identical.
  676.         This string may be up to 100 characters in length.
  677.  
  678. On startup, UW/PC makes a choice of screen colours based on the current
  679. screen mode.  If the current mode is 0 (40x25 CGA mono), 2 (80x25 CGA mono)
  680. or 7 (80x25 MDA mono), a monochrome scheme will be chosen.  Otherwise,
  681. a colour scheme will be chosen.  These colours are overridden by the settings
  682. of the "colXXXXX" configuration options in the configuration file.  The
  683. utility program SETMODE.COM is provided to help out with setting screen
  684. modes and the default colours.  It takes a one-character argument
  685. corresponding to the mode to set.  e.g. "SETMODE 3" or "SETMODE 2".
  686. There must only be ONE space between the command-name and the one-character
  687. argument, since the command is very primitive, but effective.  An 80x25
  688. screen mode will always be used regardless of the current screen size.
  689.  
  690. 8. LIMITATIONS
  691.  
  692. UW/PC and the UW server have a number of limitations.  Primarily, if
  693. a large amount of output is appearing in one window, the UW server will
  694. be slow to process input and output in another.  This is a limitation
  695. of the UW server, and not UW/PC.  The second limitation is unavoidable.
  696. With all serial communciations over telephone and other serial links,
  697. errors in transmission are likely to occur.  The UW protocols have no
  698. provision for error-free transmission of information, and especially
  699. the special UW commands that are sent back and forth between UW/PC and
  700. the UW server are not sent using an error-free transmission.  If errors
  701. occur in the transmission of these commands, strange things like output
  702. appearing in the wrong windows may result.  Since the UW commands are
  703. fairly rare (usually only when swapping windows for input or output), and
  704. the chances of normal data being corrupted into legal UW commands are
  705. very small, very few problems should result on reasonably clean modem
  706. connections.  As a last resort, you can press ALT-E to return to protocol
  707. 0, and if the UW server hasn't exited (because the exit command was
  708. corrupted), you can press (while in protocol 0, not protocol 1) "CTRL-A"
  709. followed by the "Delete" key (or the backspace key if the "swapbs"
  710. configuration option is set to "on"), which corresponds to the UW exit
  711. command, which should abort the UW server.
  712.  
  713. 9. FUTURE WORK
  714.  
  715. In future, UW/PC will be extended with the following capabilities: A
  716. mini-FTP protocol, scroll-back buffers, Ymodem file transfers in any
  717. window (and also protocol 0), XON/XOFF flow control and support for a
  718. subset of the UW protocol 2 features which gives more control over
  719. window management.  Comments and suggestions are very welcome.  A major
  720. project that is underway is a port to Windows 3.0.
  721.