home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 11 Util / 11-Util.zip / lpt197.zip / lptool.doc < prev    next >
Text File  |  1998-08-04  |  27KB  |  649 lines

  1.  
  2.   LPTool filetransfer & rexec; version 1.97 01-08-98 (c) 1996-98; Jan van Wijk
  3.  ════════════════════════════[ www.fsys.demon.nl ]═════════════════════════════
  4.  
  5.  
  6. CONTENTS
  7. --------
  8.  Introduction, purpose of the program                                   1
  9.  Status of the program                                                  1
  10.  Installation                                                           2
  11.  Summary of commands                                                    2
  12.  Command reference                                                      3
  13.  Examples of LPT usage                                                  7
  14.  Known limitations                                                      8
  15.  Considered improvements                                                8
  16.  
  17.  
  18. Introduction, purpose of the program
  19. ------------------------------------
  20.  LPTool enables file transfer and remote execution via a "laplink" cable
  21.  connection between parallel ports of two machines running OS/2 3.0 or
  22.  greater.
  23.  
  24.  Features include the ability to create directories on the remote
  25.  machine, copy of complete directory-trees including EAs (S option), and
  26.  replace locked (in use) OS/2 DLLs or EXEs at the receiver side.
  27.  
  28.  LPTool works using a daemon in a text-window, accessible either directly or
  29.  through other programs with the help of LPTQ.EXE, enabling REXX and batchfile
  30.  automation and integration with file-managers.
  31.  
  32.  Two warnings!  LPTool will overwrite directories and files without
  33.  warning, so make very certain you know where your files are headed
  34.  before you begin a transfer.  And, LPTool comes with no guarantee of any
  35.  nature.  But so far it seems to work quite well.
  36.  
  37.  
  38. Availability
  39. ------------
  40.  
  41.  1) My Homepage:  http://www.fsys.demon.nl      (Follow shareware, lpt)
  42.  
  43.  2) HOBBES (WWW): ftp://hobbes.nmsu.edu/pub/os2/util/diskutil/LPTxxx.ZIP
  44.  
  45.  On special request an OS/2 2.x version is available.
  46.  
  47. Status of the program
  48. ---------------------
  49.  
  50.  LPTOOL.EXE (version 1.97) is the latest version and includes LZW compression
  51.  
  52.  This version of the program is free for anyone to use, it was written
  53.  in my own time using my own equipment. However, I would very much
  54.  appreciate any feedback by e-mail or a simple postcard to:
  55.  
  56.                       ┌───────────────────┐
  57.                       │  Jan van Wijk     │
  58.                       │  Blekerstraat 83  │
  59.                       │  1315 AC  Almere  │
  60.                       │  Netherlands      │
  61.                       └───────────────────┘
  62.  
  63.  Further development depends on my own needs and feedback I receive from
  64.  other users, al work has to be done on spare time...
  65.  
  66.  You can reach me through the Internet: lpt@fsys.demon.nl       (preferred)
  67.                                     or: jan.van.wijk@cmg.nl
  68.                                                                               
  69. Change History
  70. --------------
  71. 1.00  27-01-96     Initial version, communicate with the device-driver
  72. 1.16  22-02-96     First BETA; with some known bugs
  73. 1.26  06-03-96     GAMMA version, including REXEC and performance statistics
  74. 1.30  14-03-96     First production version, including REXX; no internal trace
  75.                    CRC-32 checking is being done on file-transfer
  76. 1.34  10-04-96     Added extra file-spec evaluation for include/exclude [x]
  77. 1.35  14-04-96     Auto exit feature; Replace of locked EXE's or DLL's
  78. 1.42  12-05-96     Command-queueing, other programs can supply cmds (LPTQ.EXE)
  79. 1.50  27-05-96     Final version using command-queueing, WARP EXEPACK:2
  80. 1.56  16-06-96     First version using multi-threaded read/write port/disk
  81. 1.65  27-01-97     Dynamic loading of REXX support; fixed thread priorities
  82. 1.69  06-02-97     filetree and drivemap commands added for GUI interface
  83. 1.70  08-02-97     -c option (clean) and daemon command added for LPTGUI
  84. 1.71  12-02-97     P option on send, no peer-prompting and stat; *cmd pilot
  85. 1.75  17-02-97     *send reliable (but slow); lpts.cmd for synchronizing dirs
  86. 1.76  23-02-97     New cmd "qscreen" on/off, new cmd "say"; @ for no echo
  87. 1.81  13-07-97     New filetree / tstree commands; bug-fixes
  88. 1.83  26-04-98     Multiple-cmd using # separators; cosmetic fixes; WEB info
  89. 1.84  04-05-98     Accept \pipe\xxx as source and \pipe\ as destination stream
  90. 1.86  09-05-98     Fixed 'sound asleep' priority problem for daemon thread
  91. 1.87  15-05-98     Fixed some more dead-lock possibilities in agent thread
  92. 1.90  07-06-98     Made size-param obsolete on \pipe\, prepare for LZW compres
  93. 1.92  15-06-98     First release with LZW compression on file-transfer
  94. 1.95  21-06-98     Rename to LPTool, display changes + fixes for compress bugs
  95. 1.96  23-06-98     High-res icons, fix for 'overwriting dir' trap; diplay fixes
  96. 1.97  01-08-98     Added support for LPT2, BETA, not properly tested yet :-(
  97.  
  98.  
  99.  
  100.  
  101.  
  102. Special thanks to:
  103.  
  104. Ray Tennenbaum     for his contribution to this documentation
  105. Aglaja Przyborski  for the nice icons she created for the tool
  106.  
  107.                                                                               
  108. Installation
  109. ------------
  110.  
  111. Only two files are required to operate LPTool, LPTDD.SYS, the device
  112. driver, and LPTOOL.EXE, the actual LPTool.
  113.  
  114. 1) Unzip the files into a directory.  Next, add to your config.sys:
  115.  
  116.    DEVICE=[drive]:\[path]\LPTDD.SYS
  117.  
  118. Note: LPTDD.SYS can take two optional parameters:
  119.   "-T:ss" specifying the timeout value on send/receive (default 10 seconds).
  120.   If using slow media (diskette) increase this for reliable operation, e.g.
  121.  
  122.    DEVICE=[drive]:\[path]\LPTDD.SYS -T:20
  123.  
  124.   "-P:n" specifying the LPT port to use (default is 1 for using LPT1).
  125.  
  126.    DEVICE=[drive]:\[path]\LPTDD.SYS -P:2
  127.  
  128. 2) To use LPTOOL.EXE, either copy it to a directory in your path
  129.    (recommended) or simply start it in its own directory.  You may then
  130.    issue commands like the ones below.  LPTool supports REXX.
  131.  
  132. * LPTRACE.EXE is the LPTool with trace and debug code
  133.   -- it also runs on OS/2 2.11.
  134.  
  135. * LPTQ.EXE is a simple text front-end to pass LPTool commands to LPT.EXE
  136.   -- very useful for batchfile transfers of files and directories.
  137.  
  138. * LPTS.CMD is an LPTool REXX script to synchronize a local directory with
  139.   a remote directory, based on date- and time-info.
  140.  
  141. * LPTD.CMD is a simple command to start LPTool as dedicated daemon.
  142.  
  143. For best results, all these should be in your PATH.
  144.  
  145. Summary of commands
  146. -------------------
  147.  LPTool takes commands as a command-line argument or from the keyboard and
  148.  displays the results to the screen, scrolling text upward.
  149.  Results can also be copied to a file for later analysis.
  150.  
  151.  When a command is passed from the command-line, LPTool will quit automatically
  152.  after execution of the command. This makes is easier to call LPTool functions
  153.  from other tools, like file-managers.  The commands are single words.
  154.  Most commands have one or more parameters of wich some are optional.
  155.  
  156.  An overview of the available commands is given below, it can also be
  157.  referenced from within the program using the '?' command.
  158.  
  159.  ping [ + | - ]          = Check if other station is connected and ready
  160.  find [s][c][o][a][n][x] = Find files, display info; optional cmd [c])
  161.  show [s][d][o][a][n][x] = Show source & target filespec for a send
  162.  send [s][d][o][a][n][x] = Send files to connected peer machine
  163.  
  164.       s = source specification, optional absolute or relative path
  165.       d = destination: path or, '*' = current dir, '=' = same path
  166.       o = options: S=subdirectories, F=Files, D=Dirs, I=Include, A=async
  167.       x = exclude/include file-spec(s), wildcards * and ? allowed
  168.       a = Attributes to match for source selection
  169.       n = Attributes to set/reset afterwards on source
  170.             A = Archive, R = Read-only, S = System, H = Hidden
  171.                 Prefix each with '+' for set and '-' for reset
  172.  
  173.  command-string        = Execute an LPTool or OS/2 command here
  174.  .command-string       = Execute an LPTool command at the other side
  175.  r command-string      = Remote exec command, redirect output back
  176.  run lpt-macro[.cmd]   = Run REXX macro in LPTool ADDRESS-environment
  177.  ?                     = Give (this) helptext
  178.  q, quit, exit         = Exit LPTool; 1.97 01-08-98  (c) 1996-98; Jan van Wijk
  179.  
  180.  
  181.  EXTERNALS   Any command not recognized as a valid LPTool internal command
  182.              will be passed to the default command-processor (COMSPEC).
  183.              Usefull commands: DIR, DEL, ...
  184.                                                                                
  185. Command reference
  186.  
  187.  send [source-files] [destination] [options] [attrib] [new-attr] [excludes]
  188.  
  189.  Purpose:       Send one or more files from HERE to PEER
  190.  
  191.  Parameters:    source-files    source specification, default '*'
  192.                                 may include absolute or relative path, can
  193.                                 also be a named pipe: "\pipe\pipename" where
  194.                                 pipename will be used as destination filename
  195.  
  196.                 dest            destination path, default current dir
  197.                                 '*'    = current dir (placeholder),
  198.                                 '='    = same path as source
  199.                                 \pipe\ = Named pipe "\pipe\src-fname" where
  200.                                          src-fname is the filename part of
  201.                                          the source specification (no path)
  202.  
  203.                 options         options for file selection, default 'B'
  204.                                 R = Reportback RC of file-transfer to sender
  205.                                 S = subdirectories included
  206.                                 F = Files only
  207.                                 D = Directories only
  208.                                 B = Both files and directories
  209.                                 I = Use additional Filespecs [x] as INCLUDE
  210.                                     selection, not Exclude. (default exclude)
  211.  
  212.                                 may be prefixed with '+', '-' or '/'
  213.  
  214.                 attrib          Attributes for selection, default none
  215.  
  216.                                 A = Archive
  217.                                 R = Read-only
  218.                                 S = System
  219.                                 H = Hidden
  220.                                 D = Directory
  221.  
  222.                                 When specified, each attribute must be
  223.                                 prefixed with:
  224.  
  225.                                 '+'  attribute set
  226.                                 '-'  attribute clear
  227.                                 '*'  attribute don't care
  228.  
  229.                 new-attr        Attributes to set/reset afterwards on
  230.                                 each selected source file/directory.
  231.  
  232.                                 A = Archive             H = Hidden
  233.                                 R = Read-only           D = Directory
  234.                                 S = System
  235.  
  236.                                 When specified, prefix each attribute with:
  237.  
  238.                                 '+'  attribute set      '*'  attribute keep
  239.                                 '-'  attribute clear
  240.  
  241.                 excludes        Upto 9 seperate file-specs to be excluded or
  242.                                 specifically included.
  243.                                 Multiple wildcards * and ? allowed.
  244.                                                                                
  245.  
  246.  Output:        One line for each file/directory sent to PEER, with:
  247.  
  248.                   filesize  EA-size  attributes  filename   progress
  249.  
  250.                 Some lines with a summary of the number of files,
  251.                 directories, read-only files etcetera that were found.
  252.                 Also a performance indication in Kb/second is given,
  253.                 the actual amount sent and the compression ratio.
  254.  
  255.  
  256.  show [source-files] [destination] [options] [attrib] [new-attr] [excludes]
  257.  
  258.  Purpose:       Show wich files will be sent from HERE to PEER if the
  259.                 same parameters are used on the SEND command
  260.  
  261.  Parameters     see SEND command
  262.  
  263.  Output:        One line for each file/directory sent to PEER with:
  264.  
  265.                   source-filespec  => target-filespec
  266.  
  267.  
  268.  find [source-files] [os2-command] [options] [attrib] [new-attr] [excludes]
  269.  
  270.  Parameters     see SEND command, except for [c] parameter
  271.  
  272.                 os2-command     Command to execute on each file found, the
  273.                                 full path and filename will be passed as
  274.                                 argument to the specified command.
  275.                                 Note: DO NOT INCLUDE ANY SPACES IN THE COMMAND
  276.  
  277.  Purpose:       Find files using same syntax as send/show
  278.  
  279.  Output:        One line for each file/directory found with:
  280.  
  281.                   filesize  EA-size  attributes  filename
  282.  
  283.                 Some lines with a summary of the number of files,
  284.                 directories, read-only files etcetera that were found.
  285.  
  286.  
  287.  filetree [source-files] [dest] [options] [attrib] [new-attr] [excludes]
  288.  
  289.  Purpose:       Find files, display in REXX SysFileTree format
  290.  
  291.  Parameters     see SEND command, [dest] parameter is ignored
  292.  
  293.  Purpose:       Find and list files using REXX SysFileTree output syntax
  294.  
  295.  Output:        One line for each file/directory found with:
  296.  
  297.                   dd/mm/yy hh:mm filesize  attributes  full-filename
  298.  
  299.  
  300.  fstree   [source-files] [dest] [options] [attrib] [new-attr] [excludes]
  301.  
  302.  Purpose:       Find files, display in date-sortable format
  303.  
  304.  Parameters     see SEND command, including [dest] parameter (destination)
  305.  
  306.  Purpose:       Find and list files using a date sortable output format
  307.  
  308.  Output:        One line for each file/directory found with:
  309.  
  310.                   yymmddhhmm full-filename » destination-path
  311.                                                                                
  312.  
  313.  .command-string         = Execute an LPTool command at the other side
  314.  
  315.  Purpose:       Execute an LPTool command at the PEER
  316.  
  317.  Parameters:    As required by the LPTool command
  318.  
  319.  
  320.  *command-string         = Execute an LPTool command at the other side, watch
  321.  
  322.  Purpose:       Execute an LPTool command at the PEER, stay watching output for
  323.                 a short while (usefull from LPTQ to get AGENT output back)
  324.                 Also see the 'WATCH' command
  325.  
  326.  Parameters:    As required by the LPTool command
  327.  
  328.  
  329.  r command-string        = Remote exec command, redirect output back
  330.  
  331.  Purpose:       Execute an OS/2 command at the PEER and get output HERE
  332.  
  333.  Parameters:    As required by the OS/2 command
  334.  
  335.  Output:        All standard-output (STDOUT, filehandle 1) and all
  336.                 standard-error (STDERR, filehandle 2) will be intercepted
  337.                 at the PEER, send back to the local machine, and is displayed
  338.                 using standard LPTool mechanisms. This includes a local log-file.
  339.  
  340.  
  341.  set var [value]         = Set/show an LPTool system variable value
  342.  
  343.  Purpose:       Set an LPTool system variable to a specific value and/or
  344.                 show the actual value of a variable
  345.  
  346.  Parameters:    var  [value]    name and optional value for a variable
  347.  
  348.                      - prompt   prompting level   0  no automatic prompting
  349.                                                   1  just a command-prompt
  350.                                                   2  full menu at auto prompt
  351.                                                   4  Daemon usage auto prompt
  352.  
  353.                      - compress compression level 0  no compression
  354.                                                   10 .. 13 LZW variants
  355.                                                   14 LZW 14-bit (default)
  356.  
  357.  Output:        Value of the system-variable, after optional value assignment
  358.  
  359.                                                                                
  360.  watch [time-out] [idle-time]
  361.  
  362.  Purpose:       Keep watching, and redirecting, screenouput to be able to
  363.                 see it from an attached LPTQ or in the logfile
  364.  
  365.  Parameters:    time-out        Timeout for first-output line in seconds,
  366.                                 if no ouput after (to) then command ends
  367.  
  368.                 idle-time       Timeout after first output is seen in seconds,
  369.                                 if no more ouput is seen for (it) seconds the
  370.                                 command (and redirection) will end
  371.  
  372.  Output:        All standard-output (STDOUT, filehandle 1) and all
  373.                 standard-error (STDERR, filehandle 2) will be intercepted
  374.                 at the PEER, send back to the local machine, and is displayed
  375.                 using standard LPTool mechanisms. This includes a local log-file.
  376.  
  377.                                                                                
  378.  l [file]                = Log to 'file' ('l' = stop log)
  379.  
  380.  Purpose:       Close current LOG, open new and capture LPTool output in it
  381.  
  382.  Parameters:    File specification
  383.                 If no parameter is specified, logging is stopped.
  384.  
  385.  Output:        Concatenated output of LPTool commands given after the
  386.                 'l' command, upto next 'l' or 'q' command.
  387.                 ANSI control characters for colors and cursor-positioning
  388.                 are not written to the logfile.
  389.  
  390.  Remarks:       There is no check on available space on the destination
  391.                 drive, file may end up empty if disk(ette) is full.
  392.  
  393.                 The same logfile specification can be used more than once,
  394.                 output will be concatenated.
  395.  
  396.                 On each 'l' command the current logfile will be closed.
  397.  
  398.  
  399.  trace [level]           = Set trace level for LPTool internal functions
  400.  
  401.  Purpose:       Investigate unexpected behaviour and debug LPTool
  402.  
  403.  Parameters:    level   optional   Trace level; 0 = no trace
  404.  
  405.  Output:        The resulting trace-level, after this the output will be
  406.                 normal output mixed with extra trace information showing
  407.                 API return-codes and LPTool internal variables
  408.  
  409.  Remarks        Use with care, tracing will delay processing wich might
  410.                 cause additional problems like LPTDD$ timeouts.
  411.  
  412.                 This function might be left out of production versions of
  413.                 the tool to get maximum performance.
  414.  
  415.  
  416.  q, quit, exit         = Exit LPTool; 1.97 01-08-98  (c) 1996-98; Jan van Wijk
  417.  
  418.  Purpose:       Exit LPTool program
  419.  
  420.  Parameters:    none
  421.  
  422.  Output:        none
  423.  
  424.  Remarks:       LPTDD$ and logfile will be closed on exit
  425.                 Asynchronious running threads will be aborted.
  426.  
  427.                 When given from clients like LPTQ, the daemon can be stopped
  428.                 as well by executing the 'QQ' command.
  429.  
  430.  
  431.  lpt                     = Identify currently running LPTool (daemon) version
  432.  
  433.  Purpose:       Show version of connected LPTool daemon, useful from clients
  434.  
  435.  Parameters:    none
  436.  
  437.  Output:        Version info
  438.  
  439.  
  440.  device [device-name]    = Identify or set the LPT device to use
  441.  
  442.  Purpose:       Show attached device-driver name, or optionaly set and re-open
  443.                 with a different name (allowing use of LPT2 for instance)
  444.  
  445.  Parameters:    device-name     The device-driver name to open, any valid OS/2
  446.                                 device will do, but only the ones created by
  447.                                 LPTDD.SYS or LPTIO.SYS will actualy work :-)
  448.                                 The device names when are:
  449.                                 "LPTDD1$"  for the LPT1 port
  450.                                 "LPTDD2$"  for the LPT2 port
  451.                                 "LPTIO1$"  for the LPT1 port using LPTIO.SYS
  452.                                 "LPTIO2$"  for the LPT2 port using LPTIO.SYS
  453.  
  454.  Output:        Either the name of the currently attached device name, or
  455.                 a message indicating success or failure opening the device, and
  456.                 possible warnings if the device is not a proper LPTool device.
  457.  
  458.  Remarks:       On startup LPTool automaticaly will try to open each of the above
  459.                 mentioned devices, until it finds on present.
  460.                 This will usualy be the "LPTDD1$" device.
  461.  
  462.                 For use of another port, like LPT2 the "-P:n" switch is needed
  463.                 on the device statement in config.sys for LPTDD.SYS
  464.                                                                                
  465.  
  466.  cd [path]    = Change current Directory
  467.  
  468.  Purpose:       Change both the current directory and the current drive
  469.  
  470.  Parameters:    path    optional   Absolute or relative path specification
  471.  
  472.  Output:        The resulting current drive and directory
  473.  
  474.  Remarks:       '.' and '..' can be used in the relative path specification
  475.  
  476.  
  477.  
  478.  d:           = Change current Drive
  479.  
  480.  Purpose:       Change the current drive, without changing current directory
  481.  
  482.  Parameters:    none
  483.  
  484.  Output:        The resulting current drive and directory
  485.  
  486.  
  487.  
  488.  
  489.  screen [arg] = Switch output to the screen on or off
  490.  
  491.  Purpose:       Allow output to logfile only
  492.  
  493.  Parameters:    arg     optional   'on' or 'off' to switch mode
  494.  
  495.  Output:        none
  496.  
  497.  Remarks:       The returncode (rc from REXX) will indicate the setting for
  498.                 screen output: 0 indicates screen switched on
  499.                                1 indicates screen switched off
  500.  
  501.  
  502.  
  503.  run mf [arg] = Run a REXX macro from LPT
  504.  
  505.  Purpose:       Execute a REXX script using the 'LPT' environment
  506.  
  507.  Parameters:    mf      mandatory  Macro file specification
  508.  
  509.                 arg     optional   Arguments to the REXX macro
  510.  
  511.  Output:        Any output from the REXX macro including (OS/2) commands
  512.                 executed from the macro.
  513.                 There is no redirection of any output to the LPTool logfile.
  514.  
  515.  Remarks:       LPTool commands can be issued from within the macro, this
  516.                 is the default environment (Address LPT).
  517.                 Command for CMD.EXE must be addressed explicitly using
  518.                 an 'Address Cmd'
  519.  
  520.                 The following REXX variables will be available after
  521.                 each executed LPTool command from a macro:
  522.  
  523.                 rc            The returncode from the LPTool command
  524.  
  525.                 REXX is dynamically loaded, when the run-command is exectuted
  526.                 It requires REXX.DLL and REXXAPI.DLL in the libpath.
  527.                                                                                
  528.  filetree [s][d][o][a][n][x] = Find files, output in SysFileTree format
  529.  
  530.  Purpose:       Show wich files exist for a given filespec and attributes
  531.                 usefull for a GUI interface remote query (".filetree")
  532.  
  533.  Parameters     see SEND command
  534.  
  535.  Output:        One line for each file/directory in SysFileTree format
  536.  
  537.  
  538.  drivemap [d]                  Show wich logical drives exist
  539.  
  540.  Purpose:       Show wich drive-letters exist at the LPT-deamon
  541.                 usefull for a GUI interface remote query (".drivemap")
  542.  
  543.  Parameters     d       optional   Output-format / level of detail
  544.  
  545.  Output:        default:    One line of drives, example: "C: D: E: R: Z:"
  546.                 '-'    :    One line for each drive-letter, just the drive
  547.                 '+'    :    One line for each drive-letter, with drive and
  548.                             additional filesystem information
  549.  
  550.  
  551.  EXTERNALS      Any command not recognized as a valid LPTool internal command
  552.                 will be passed to the default command-processor (COMSPEC).
  553.  
  554.  Purpose:       Allow execution of external commands like CHKDSK, DIR etc.
  555.  
  556.  Parameters:    As required by the external command
  557.  
  558.  Output:        Any output by the command
  559.  
  560.  
  561.  
  562. Examples of LPTool usage
  563. -----------------------
  564.  -  Send all files in current directory to PEER's current directory
  565.     SEND
  566.  
  567.  -  Send a single file to a specific directory
  568.     SEND s:\some\source\path\somefile.ext d:\some\destination\path
  569.  
  570.  -  Send a complete tree of files to a specific destination directory
  571.     SEND s:\some\source\path\* d:\some\destination\path s
  572.  
  573.  -  Send all modified (archive-bit set) file in a directory tree to
  574.     exactly the same path on the PEER side and reset archive-bit on source
  575.     SEND * = s +a -a
  576.  
  577.  -  Show wich files will be sent for the previous example
  578.     SHOW * = s +a
  579.  
  580.     Note that the '-a' option is NOT SPECIFIED to prevent the archive-bit
  581.     to be reset just by showing (we want that to happen on SEND).
  582.  
  583.  -  Send a product-development tree except objects and executables:
  584.     SEND d:\project\* . s * * *.OBj *.EXE
  585.  
  586.  -  Send an installed OS/2 version to a different destionation-drive and
  587.     exclude the OS/2 ini-files, swapper end desktop-directory
  588.     SEND c:\* e:\ s * * *os2*.ini *swapper.dat c:\desktop*
  589.                                                                                
  590.  -  Send all .C and .H files, from a tree, that have changed (archive bit)
  591.     SEND d:\project\test\* . si +a * *.c *.h
  592.  
  593.  -  Find all files on the C: drive that are read-only
  594.     FIND C:\* s +r
  595.  
  596.  -  Show drives available at the remote machine:
  597.     REXEC DRIVEMAP
  598.  
  599.  -  Show new (archive attribute) files at remote machine in filetree format:
  600.     REXEC FILETREE C:\* s +a
  601.  
  602.  -  Show new (archive attribute) files at local machine in filetree format:
  603.     FILETREE C:\* s +a
  604.  
  605.  -  Send a file using a named-pipe as source (as called from DFSee "sim"):
  606.     SEND \pipe\bootsect.img d:\tmp
  607.  
  608.  -  Receive a file using a named-pipe as destination (as with DFSee "wrim"):
  609.     .SEND d:\tmp\bootsect.img \pipe\
  610.  
  611.  
  612. Known limitations and bugs
  613. --------------------------
  614.  Error recovery
  615.  
  616.      Error recovery is limitted to reporting the error-code and for most
  617.      common errors als a short description of the error. Usualy this will
  618.      be shown both HERE and at the PEER station.
  619.  
  620.  
  621.  REXEC redirection of STDIN
  622.  
  623.      No redirection for a remote program's standard-input is possible yet.
  624.  
  625.  
  626.  Canceling functions
  627.  
  628.  Interrupting the program using Ctrl-C will exit completely, there is
  629.  currently no 'smooth' way to cancel an operation.
  630.  
  631.  Redirection sometimes causes keyboard-in-use errors (rc 447)
  632.  I noticed this on the 'find' command.
  633.  
  634.  
  635.  
  636. Considered improvements
  637. -----------------------
  638.  
  639.  - Limited retries on failing block-transfers (CRC error, timeout etc)
  640.  
  641.  - Redirect STDIN for remote executed commands from PEER to HERE
  642.  
  643.  - A PM frontend (LPTQPM.EXE) to supply LPTool command with a graphical
  644.    user-interface for both input and output.
  645.  
  646.  - A text-mode frontend (LPTQVIO.EXE) to supply LPTool command with a
  647.    user-interface for both input and output.
  648.  
  649.