home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / DOS / HYDRACOM.ARJ / HYDRACOM.DOC < prev    next >
Encoding:
Text File  |  1996-09-05  |  67.1 KB  |  2,078 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.                          HydraCom Version 1.00
  21.  
  22.                     A sample implementation of the
  23.               HYDRA Bi-Directional File Transfer Protocol
  24.  
  25.                         HydraCom was written by
  26.               Arjen G. Lentz, LENTZ SOFTWARE-DEVELOPMENT
  27.              COPYRIGHT (C) 1991-1993; ALL RIGHTS RESERVED
  28.  
  29.                   The HYDRA protocol was designed by
  30.             Arjen G. Lentz, LENTZ SOFTWARE-DEVELOPMENT and
  31.                         Joaquim H. Homrighausen
  32.              COPYRIGHT (C) 1991-1993; ALL RIGHTS RESERVED
  33.  
  34.  
  35.  
  36.  
  37.  
  38. Blank page                                                     HydraCom
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96. Blank page                                                     HydraCom
  97.  
  98.  
  99.  
  100.  
  101.  
  102. HydraCom                   Table of contents                     Page i
  103.  
  104.  
  105. 1   General Information   . . . . . . . . . . . . . . . . . . . .     1
  106.     1.1     Protocol information  . . . . . . . . . . . . . . . .     1
  107.     1.2     Program description   . . . . . . . . . . . . . . . .     1
  108.     1.3     Program features  . . . . . . . . . . . . . . . . . .     2
  109.     1.4     System hard- and software requirements  . . . . . . .     2
  110.     1.5     Disclaimer  . . . . . . . . . . . . . . . . . . . . .     2
  111.     1.6     HydraCom / source license   . . . . . . . . . . . . .     3
  112.     1.7     Hydra protocol license  . . . . . . . . . . . . . . .     4
  113.     1.8     Credits   . . . . . . . . . . . . . . . . . . . . . .     5
  114.     1.9     Acknowledgements  . . . . . . . . . . . . . . . . . .     5
  115.     1.10    Hydra in other software (also FidoNet mailers!)   . .     5
  116.     1.11    Other environments/operating systems  . . . . . . . .     5
  117.     1.12    Where to send your spare funds  . . . . . . . . . . .     6
  118.     1.13    Support and contact addresses . . . . . . . . . . . .     6
  119.  
  120. 2   Description of specific features  . . . . . . . . . . . . . .     7
  121.     2.1     Split screen chat during a Hydra session  . . . . . .     7
  122.     2.2     Resuming aborted transfers  . . . . . . . . . . . . .     7
  123.     2.3     Networks and Multitaskers   . . . . . . . . . . . . .     7
  124.     2.4     Using a FOSSIL driver   . . . . . . . . . . . . . . .     9
  125.     2.5     Using a Video FOSSIL  . . . . . . . . . . . . . . . .     9
  126.     2.6     AutoStart Hydra transfers   . . . . . . . . . . . . .    10
  127.     2.7     Aborting a Hydra transfer   . . . . . . . . . . . . .    10
  128.     2.8     Configuration utility HydraCfg  . . . . . . . . . . .    10
  129.     2.9     Reliability   . . . . . . . . . . . . . . . . . . . .    11
  130.     2.10    Protocol performance  . . . . . . . . . . . . . . . .    11
  131.     2.11    HST and other half-duplex links   . . . . . . . . . .    12
  132.  
  133. 3   Commands and Options  . . . . . . . . . . . . . . . . . . . .    13
  134.     3.1 Options   . . . . . . . . . . . . . . . . . . . . . . . .    14
  135.         3.1.1   port N  . . . . . . . . . . . . . . . . . . . . .    14
  136.         3.1.2   speed N   . . . . . . . . . . . . . . . . . . . .    14
  137.         3.1.3   line N  . . . . . . . . . . . . . . . . . . . . .    14
  138.         3.1.4   parity  . . . . . . . . . . . . . . . . . . . . .    15
  139.         3.1.5   dropdtr   . . . . . . . . . . . . . . . . . . . .    15
  140.         3.1.6   nocarrier   . . . . . . . . . . . . . . . . . . .    15
  141.         3.1.7   noinit  . . . . . . . . . . . . . . . . . . . . .    15
  142.         3.1.8   handshake <flg>   . . . . . . . . . . . . . . . .    15
  143.         3.1.9   log <file>  . . . . . . . . . . . . . . . . . . .    15
  144.         3.1.10  level <loglevel>  . . . . . . . . . . . . . . . .    16
  145.         3.1.11  result <filename> (DSZ logfile)   . . . . . . . .    16
  146.         3.1.12  noresume  . . . . . . . . . . . . . . . . . . . .    16
  147.         3.1.13  nostamp   . . . . . . . . . . . . . . . . . . . .    17
  148.         3.1.14  receive <path>  . . . . . . . . . . . . . . . . .    17
  149.         3.1.15  nobell  . . . . . . . . . . . . . . . . . . . . .    17
  150.         3.1.16  mailer  . . . . . . . . . . . . . . . . . . . . .    17
  151.         3.1.17  nooriginator  . . . . . . . . . . . . . . . . . .    17
  152.         3.1.18  hdxlink   . . . . . . . . . . . . . . . . . . . .    17
  153.         3.1.19  txwindow N  . . . . . . . . . . . . . . . . . . .    18
  154.         3.1.20  rxwindow N  . . . . . . . . . . . . . . . . . . .    18
  155.         3.1.21  link options  . . . . . . . . . . . . . . . . . .    18
  156.     3.2 Commands  . . . . . . . . . . . . . . . . . . . . . . . .    19
  157.         3.2.1   send [<filespec> ...] [@<ctlfile> ...]  . . . . .    19
  158.  
  159.  
  160. HydraCom                                                         Page i
  161.  
  162.  
  163.  
  164.  
  165.  
  166. Page ii              Table of contents (continued)             HydraCom
  167.  
  168.         3.2.2   get [<path>[<name>]]  . . . . . . . . . . . . . .    20
  169.         3.2.3   term  . . . . . . . . . . . . . . . . . . . . . .    20
  170.     3.3 Default configuration file  . . . . . . . . . . . . . . .    21
  171.  
  172. 4   Using HydraCom as an external protocol  . . . . . . . . . . .    22
  173.     4.1 Interface methods   . . . . . . . . . . . . . . . . . . .    22
  174.         4.1.1   Opus-style external protocol interface  . . . . .    22
  175.         4.1.2   DSZ-style external protocol interface   . . . . .    23
  176.         4.1.3   Exit codes (errorlevels)  . . . . . . . . . . . .    23
  177.     4.2 Using HydraCom with terminal programs   . . . . . . . . .    24
  178.         4.2.1   Telix   . . . . . . . . . . . . . . . . . . . . .    24
  179.         4.2.2   Communique    . . . . . . . . . . . . . . . . . .    24
  180.         4.2.3   Commo   . . . . . . . . . . . . . . . . . . . . .    25
  181.         4.2.4   Procomm Plus  . . . . . . . . . . . . . . . . . .    25
  182.         4.2.5   TeleMate  . . . . . . . . . . . . . . . . . . . .    26
  183.         4.2.6   Boyan   . . . . . . . . . . . . . . . . . . . . .    26
  184.         4.2.7   Qmodem  . . . . . . . . . . . . . . . . . . . . .    27
  185.     4.3 Using HydraCom with BBS software  . . . . . . . . . . . .    28
  186.         4.3.1   Maximus   . . . . . . . . . . . . . . . . . . . .    28
  187.         4.3.2   Opus  . . . . . . . . . . . . . . . . . . . . . .    28
  188.         4.3.3   QuickBBS and RemoteAccess (FileDoor)  . . . . . .    29
  189.         4.3.4   RBBS-PC   . . . . . . . . . . . . . . . . . . . .    29
  190.         4.3.5   Wildcat!  . . . . . . . . . . . . . . . . . . . .    29
  191.         4.3.6   XBBS  . . . . . . . . . . . . . . . . . . . . . .    31
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224. Page ii                                                        HydraCom
  225.  
  226.  
  227.  
  228.  
  229.  
  230. HydraCom                                                         Page 1
  231.  
  232. 1   General Information 
  233.  
  234.  
  235. 1.1     Protocol information 
  236.  
  237. Full specifications of the Hydra protocol as well as the HydraCom
  238. sources (in C) are freely available. Developers may use either or both
  239. to implement Hydra into their own software, port Hydra to other
  240. machines and operating environments, etc.
  241. The packages containing these files have been widely distributed, but
  242. will always be available from the authors' own systems.
  243. Please refer to the license and other important information further
  244. along this document.
  245.  
  246.  
  247. 1.2     Program description  
  248.  
  249. HydraCom is a stand-alone driver which implements the Hydra
  250. bidirectional file transfer protocol developed by Arjen Lentz and
  251. Joaquim Homrighausen.
  252.  
  253. HydraCom provides a service for communications programs which do not
  254. (yet) have with Hydra support internally. HydraCom can be installed as
  255. an external transfer protocol driver like other external drivers.
  256. HydraCom also provides a simple terminal function.
  257. Because HydraCom's sources are available, they can also serve as a
  258. sample implementation of the Hydra protocol for other developers to
  259. take a look at.
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288. HydraCom                                                         Page 1
  289.  
  290.  
  291.  
  292.  
  293.  
  294. Page 2                                                         HydraCom
  295.  
  296. 1.3     Program features 
  297.  
  298.  -  Simultanous bidirectional file transfer
  299.  -  Split screen chat during Hydra session, without line noise
  300.  -  Comprehensive manual for installation and advanced features
  301.  -  Program source code and protocol specification freely available
  302.  -  Stand alone or external call from any BBS or terminal software
  303.  -  Compatible with both Opus and DSZ style interfacing
  304.  -  Hydra (and HydraCom) can be used in FidoNet Technology Mailers
  305.  -  Userfriendly full-screen setup utility HydraCfg, mouse supported
  306.  -  Good stability on bad connections, speedy error recovery
  307.  -  Safe protocol, no deadlocks or misunderstandings
  308.  -  Tolerance towards network and satellite delays
  309.  -  Handles 7-bit or even less transparent connections
  310.  -  Seperate escaping options for Telenet, XON/XOFF, 7bit, etc
  311.  -  Maximum performance without ever compromising reliability
  312.  -  All packets (including chat packets) protected by CCITT CRC-32
  313.  -  Retain file's original size and date/time
  314.  -  Automatic startup with special character sequence (AutoStart)
  315.  -  Resume aborted transfers without unfinished files floating about
  316.  -  Numerous transfer options for sysop and users
  317.  -  Supports FOSSIL and VideoFOSSIL
  318.  -  Internal communication routines supporting 16550 UART
  319.  -  Hardware and software flow control
  320.  -  Shared file open for network operation
  321.  -  Internal small terminal with ANSI/VT100 emulation and AutoStart
  322.  -  Fast screen writes, DESQview aware
  323.  -  Releases spare CPU time to DESQview or DOS
  324.  
  325.  
  326. 1.4     System hard- and software requirements 
  327.  
  328.  -  IBM XT, XT286, AT286, 386, 486, PS/2 or clone/compatible
  329.     computers.
  330.  -  MS, PC or compatible DOS version 3.00 or higher.
  331.  -  About 128K of free memory space.
  332.  -  HydraCom is able to operate with certain non IBM-compatible serial
  333.     hardware, provided a suitable FOSSIL and perhaps video FOSSIL
  334.     driver is installed. There are various FOSSIL drivers available
  335.     for true compatibles, like Opus!Comm, X00 and BNU, but also for
  336.     the Tandy 2000, Heath Zenith, DEC Rainbow, Philips :YES and many
  337.     others. Some of those are implemented as TSR (Terminate and Stay
  338.     Resident) programs, others (like X00.SYS and BNU.SYS) as device
  339.     drivers.In addition, use of a Video FOSSIL is supported.
  340.  
  341.  
  342. 1.5     Disclaimer 
  343.  
  344. This program is provided "as is" and comes with no warranties of any
  345. kind, either expressed or implied. In no event shall the authors be
  346. liable to you or anyone else for any damages, including any lost
  347. profits, lost savings or other incidental or consequential damages
  348. arising out of the use or inability to use this software.
  349.  
  350.  
  351.  
  352. Page 2                                                         HydraCom
  353.  
  354.  
  355.  
  356.  
  357.  
  358. HydraCom                                                         Page 3
  359.  
  360.  
  361. 1.6     HydraCom / source license 
  362.  
  363. HydraCom, its associated utilities (HydraCfg) and the HydraCom
  364. sourcecode may be freely distributed, copied and used, no fee charged.
  365. All files, executables and sourcecode remain the copyrighted property
  366. of Arjen G. Lentz and LENTZ SOFTWARE-DEVELOPMENT.
  367. The distribution archives should remain intact with no files removed
  368. or modified. For special purposes, it is allowed to repack the
  369. archives using a different compression system.
  370.  
  371. HydraCom may be bundled up with for instance terminal or BBS packages,
  372. even commercial ones, provided the buyer/user is clearly informed
  373. about the fact that Hydra and HydraCom are free, not owned by the
  374. distributor/retailer in question, and is not included in any possible
  375. charge regarding the rest of the package. This documentation must also
  376. be present so the user can inform himself about Hydra and HydraCom.
  377. The same rules apply to inclusion in shareware and CD-ROM libraries.
  378. In all cases, the author of HydraCom must be given credit in any
  379. informational screens and literature that contain such information.
  380.  
  381. The Hydra/HydraCom sourcecode may also be freely used and integrated
  382. into other software or library, provided this is clearly stated in any
  383. informational screens and literature pertaining to this program, and
  384. credit is given to the original author. If the sourcecode of that
  385. program or library is released or otherwise published, the notices
  386. present at the top of every Hydra/HydraCom source file must be
  387. retained in their original unmodified form.
  388.  
  389. In addition to the above license, everyone using any part of the
  390. sourcecode, programs or files is fully bound by the general license of
  391. the Hydra protocol as present in the Hydra protocol description
  392. document. For easy reference, the paragraph in question is reprinted
  393. below.
  394.  
  395. Any use of, or operation on (including copying/distributing) any of
  396. the above mentioned files implies full and unconditional acceptance of
  397. this license and disclaimer.
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416. HydraCom                                                         Page 3
  417.  
  418.  
  419.  
  420.  
  421.  
  422. Page 4                                                         HydraCom
  423.  
  424. 1.7     Hydra protocol license 
  425.  
  426. You are granted a license to implement the HYDRA file transfer
  427. protocol, HYDRA hereafter, in your own programs and/or use the sample
  428. source code and adapt these to your particular situation and needs;
  429. subject to the following conditions:
  430.  
  431.  -  You must refer to it as the HYDRA file transfer protocol, and you
  432.     must give credit to the authors of HYDRA in any information
  433.     screens or literature pertaining to your programs that contains
  434.     other such information (credits, your own copyrights, etc.).
  435.  
  436.  -  HYDRA will always remain backwards compatible with previous
  437.     revisions. HYDRA allows for expansion of its features without
  438.     interfering with previous revisions. It is, however, important
  439.     that different people do not expand the protocol in different
  440.     directions. We therefore ask you to contact us if you have any
  441.     needs/ideas regarding HYDRA, so development can be synchronized
  442.     and beneficial to all.
  443.  
  444.  -  If your implementation cannot converse with past or future
  445.     revisions as supplied by us, then you must refer to it as "HYDRA
  446.     derived", or as "a variation of HYDRA", or words to that effect.
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480. Page 4                                                         HydraCom
  481.  
  482.  
  483.  
  484.  
  485.  
  486. HydraCom                                                         Page 5
  487.  
  488. 1.8     Credits 
  489.  
  490. Zygimantas Cepaitis, Jan Stozek, Jac Kersing, Joaquim Homrighausen,
  491. Jeroen van Drie, Martin Cleaver, Henk Wevers, Jan Bredenbeek, Ron van
  492. der Nagel, and all other equally friendly creatures of the universe
  493. and cyberspace are hereby saluted in gratitude for their diverse
  494. efforts regarding the Hydra protocol and this software.
  495.  
  496. HYDRA was designed by Arjen G. Lentz, LENTZ SOFTWARE-DEVELOPMENT, and
  497. Joaquim H. Homrighausen.
  498.  
  499.  
  500. 1.9     Acknowledgements 
  501.  
  502.  -  IBM PC, XT, AT, PS/2 and PC-DOS are trademarks of International
  503.     Business Machines Inc.
  504.  -  MS-DOS is a registered trademark of Microsoft Corporation.
  505.  -  All other brand and product names are trademarks or registered
  506.     trademarks of their respective holders.
  507.  
  508.  
  509. 1.10    Hydra in other software (also FidoNet mailers!) 
  510.  
  511. It's simple, nag the author of that software and give him this package
  512. with all the information. There is not a single reason for the
  513. developer in question not to integrate the Hydra protocol in his/her
  514. software. It will even add to its value. And if they don't do it now,
  515. they'll have to later after the competition has done it...
  516. A number of FidoNet technology mailers offer Hydra as their primary
  517. protocol. Please refer to the HYDRA specifications for detailed
  518. information about HYDRA in FTS-0006 (YooHoo) and EMSI mailsessions.
  519.  
  520.  
  521. 1.11    Other environments/operating systems 
  522.  
  523. Ports of a Hydra source (or a new implementation) to other platforms
  524. and operating systems are strongly encouraged. Because of the
  525. protocol's extreme flexibility Hydra may run on machines with the most
  526. severe restrictions where other protocols could never work.
  527. Please send us a note if you've implemented or ported Hydra, so we can
  528. keep track of its progress accross the different platforms in
  529. cyberspace. If you can send us sources or executables, even better.
  530. We will try to maintain a library of all this stuff.
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544. HydraCom                                                         Page 5
  545.  
  546.  
  547.  
  548.  
  549.  
  550. Page 6                                                         HydraCom
  551.  
  552. 1.12    Where to send your spare funds 
  553.  
  554. The HydraCom executable and full sourcecode have been made available
  555. free of charge in order to aid rapid distribution, acceptance and
  556. integration of this new protocol in existing and new libraries,
  557. terminal, BBS and other software, and the like.
  558. However, a donation recognizing my work would be very much
  559. appreciated, especially if you are making money of it yourself.
  560. Such donations will be used specifically on small practical
  561. datacommunications projects and investments in Eastern Europe I am
  562. involved in, at this moment particularly in Lithuania.
  563. Unless you don't want it, your name will be listed in a support file.
  564. If you contact me at the address below before sending a donation, I
  565. may be able to provide you with an address or account number in your
  566. vicinity rather than having you waste time, effort and money on
  567. international transfers.
  568. Any donation, however small, will thus be used purposefully for the
  569. good of communications in general.
  570. If because of Hydra you are making a lot of money off your Bulletin
  571. Board, library, software or distribution business, you may want to
  572. consider a larger or periodical donation.
  573. Thanks for your support! Arjen Lentz.
  574.  
  575.  
  576. 1.13    Support and contact addresses
  577.  
  578. This software being free, there is no real support it. However, I will
  579. try to help you solving any problems if you ask nicely, and perhaps
  580. other users can be of assistance too.
  581. In FidoNet a HYDRA conference may be available near you for discussing
  582. the protocol and its implementations.
  583.  
  584. Hydra and HydraCom were designed and written by:
  585.  
  586.     Arjen G. Lentz, LENTZ SOFTWARE-DEVELOPMENT
  587.     Langegracht 7B, 3811 BT  Amersfoort, The Netherlands
  588.     AINEX-BBS +31-33-633916 (V.32BIS/V.42BIS/HST14k4)
  589.     FidoNet node 2:283/512 (Arjen Lentz)
  590.     Internet: arjen_lentz@f512.n283.z2.fidonet.org
  591.  
  592. Hydra was designed in cooperation with:
  593.  
  594.     Joaquim H. Homrighausen
  595.     389, route d'Arlon
  596.     L-8011 Strassen
  597.     Luxembourg
  598.     FidoNet 2:270/17
  599.     joho@ae.lu
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608. Page 6                                                         HydraCom
  609.  
  610.  
  611.  
  612.  
  613.  
  614. HydraCom                                                         Page 7
  615.  
  616. 2   Description of specific features 
  617.  
  618.  
  619. 2.1     Split screen chat during a Hydra session 
  620.  
  621. During a Hydra transfer you can chat with someone on the other side,
  622. and without that dreaded line noise! Just like all other packets, chat
  623. data is protected by CRC-32 and retransmitted when it doesn't come
  624. accross unscaved.
  625. Once a Hydra session is past the init state, you can start chat chat
  626. mode on your side by pressing Alt-C. A message is sent to the remote
  627. informing about this fact. You type in the bottom window, and any text
  628. from the remote appears in the upper window (split screen). Meanwhile
  629. you can still keep track of the file transfer progress at the op of
  630. the screen.
  631. The chat option does not effect protocol reliability. A Hydra session
  632. is prolonged even after all files have been sent/received, but only so
  633. long as both sides are active in chat mode. If one side quits, the
  634. session is then immediately finished.
  635. You can end chat mode on your side by pressing Alt-C again.
  636. If you type nothing in 60 seconds, chat mode is automatically ended.
  637. Hydra will inform you in your local window at what point it iss
  638. possible to start a chat mode. Similarly, informative messages about
  639. the chat facilities on the other side will appear in your remote
  640. window.
  641. During file transfer, chat text will appear in chunks. A smooth chat
  642. would serously degrade performance of the file transfers!
  643. Bulletin Board sysops may want to disable the bell noise of the chat
  644. facility with the 'nobell' option. Chat will still be available then,
  645. but without unwanted noise from the remote.
  646.  
  647.  
  648. 2.2     Resuming aborted transfers 
  649.  
  650. HydraCom does not allow such uncompleted files to float around on your
  651. disk, but rather renames the file to a unique file name and keeps a
  652. log with the original file-information of all interrupted transfers in
  653. that directory; this is an especially useful feature for BBS, because
  654. you can now enable bad-transfer recovery on upload without having to
  655. keep track of incomplete files. And for users it saves time because
  656. they do not have to transfer the complete file allover again, but only
  657. the part which was not yet transferred.
  658. This feature may be disabled with the 'noresume' option.
  659.  
  660.  
  661. 2.3     Networks and Multitaskers 
  662.  
  663. HydraCom opens files in shared mode so that it may be used in a
  664. multiline environment on LANs and under multitaskers such as DESQview.
  665. You just need to make sure any control files have different names
  666. (correct task number, in case of the Opus-interface).
  667.  
  668.  
  669.  
  670.  
  671.  
  672. HydraCom                                                         Page 7
  673.  
  674.  
  675.  
  676.  
  677.  
  678. Page 8                                                         HydraCom
  679.  
  680. 2.4     Using a FOSSIL driver 
  681.  
  682. In addition to the internal serial communication routines the program
  683. can also make use of the popular FOSSIL interface, which enables less-
  684. compatible MS-DOS machines to run the same software without special
  685. modifications, just after loading another FOSSIL driver designed for
  686. that machine.
  687. The internal communication routines automatically detect and use FIFOs
  688. in the the 16550 UART, providing better throughput at high speed. A
  689. 16550 also decreases the chance of bytes getting lost (overrun).
  690. Also on some fully compatible machines a FOSSIL driver may give better
  691. results than the internal routines. Most BBS and point systems will
  692. usually already have a FOSSIL driver resident.
  693. For best results, set the FOSSIL receive and transmit buffers to at
  694. least 4KB (4096 bytes). HydraCom will complain if either or both are
  695. smaller, but the program will still function. Smaller buffers may
  696. cause more CPU time to be used, a lower transfer performance, and
  697. bytes may be lost causing transmission errors.
  698.  
  699.  
  700. 2.5     Using a Video FOSSIL 
  701.  
  702. The distributed executable HydraCom.EXE uses a windowing library which
  703. features fast direct screen access (DESQview aware), internal extended
  704. ANSI/VT-100 emulation for the terminal, and the capability to use a
  705. Video FOSSIL (like the VFOS_IBM/VFOS_BIO BinkleyTerm screen drivers by
  706. Bob Hartman).
  707. If you use a Video FOSSIL with HydraCom, make sure you have very
  708. recent version!  Old versions of VFOS_IBM and VFOS_BIO have a bug in a
  709. couple of functions that the windowing library uses. BinkleyTerm does
  710. not use these functions, so you may not have noticed this problem
  711. before. Contact me for patched versions, or the corrected Video FOSSIL
  712. source files.
  713. All information HAS been forwarded to Bob Hartman.
  714.  
  715. Note: when compiling the HydraCom sources yourself without
  716. modification, console I/O functions are used because the windowing
  717. library is not freely available. Contact me if you are interested in
  718. purchasing this library anyway (includes the complete sources in C and
  719. inline assembler).
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.  
  736. Page 8                                                         HydraCom
  737.  
  738.  
  739.  
  740.  
  741.  
  742. HydraCom                                                         Page 9
  743.  
  744. 2.6     AutoStart Hydra transfers 
  745.  
  746. A Hydra session can be started automatically upon receipt of a special
  747. AutoStart sequence:
  748.  
  749.     ASCII:    24    99  65  92 102  53  92  97  51    24    97
  750.     Chars:  Ctrl-X   c   A   \   f   5   \   a   3  Ctrl-X   a
  751.  
  752. This is the Hydra START packet, which is always hex-encoded for clear
  753. passage through even the most restricted links.
  754. Before the START packet Hydra also transmits the letters 'hydra' in
  755. lowercase followed by a CR (ASCII 13), to start the Hydra protocol
  756. from for instance a Unix command line.
  757. To be certain the string is detected, strip the 8th bit of all
  758. incoming bytes and then ignore all ASCII characters 0-31 and 127
  759. except ASCII 24 before comparing it to the next character in the
  760. autostart string.
  761.  
  762.  
  763. 2.7     Aborting a Hydra transfer 
  764.  
  765. A Hydra session may be aborted at any moment by pressing the Escape
  766. key.
  767. When your end is not engaged in a Hydra session but the other side is,
  768. typing at least 5 consequtive Ctrl-X will abort the remote Hydra.
  769.  
  770.  
  771. 2.8     Configuration utility HydraCfg 
  772.  
  773. To create and edit the default configuration of HydraCom, a utility
  774. HydraCfg is provided where all options and settings can be changed and
  775. checked in a user friendly full screen windowed environment.
  776. If a mouse driver is present, it may be used to move the cursor around
  777. and select options.
  778.  
  779. When HydraCfg is called without commandline parameters, it searches
  780. for HydraCom.EXE first in the current then in all the directories
  781. listed in the DOS PATH. If found, and a file HydraCom.CFG is also
  782. present in that directory, that is the file that will be read and
  783. edited. If HydraCom.CFG doesn't yet exist, HydraCfg asks if you want
  784. to create it.
  785. If HydraCom.EXE is not found, a HydraCom.CFG may be created/edited in
  786. the current directory.
  787. You may also specify a full path/filename of a HydraCom.CFG style file
  788. on the HydraCfg command line, in which case no search is done.
  789. See the section about the default configuration file for more
  790. information.
  791. HydraCfg can provide additional information about options on the
  792. bottom line of the screen, if the file HydraCfg.HTX (helptext) is
  793. present in the same directory where HydraCom.EXE is located.
  794.  
  795.  
  796.  
  797.  
  798.  
  799.  
  800. HydraCom                                                         Page 9
  801.  
  802.  
  803.  
  804.  
  805.  
  806. Page 10                                                        HydraCom
  807.  
  808. 2.9     Reliability 
  809.  
  810. A remote machine may crash, jump out of a batch file or otherwise die
  811. on you while you are on-line. Hydra maintains a special braindead
  812. timer, aborting a session when there has been no REAL progress for two
  813. minutes.
  814. This may save you a lot of money when using Hydra in an automated
  815. environment, especially on international phonecalls!
  816. Other protocols have been known to keep a transatlantic line open for
  817. more than 6 hours with nothing happening.... big auch.
  818.  
  819. The Hydra protocol has been designed in such a way that deadlocks or
  820. misunderstandings between the two sides cannot occur.
  821.  
  822. Hydra is extremely tolerant towards network and satellite delays.
  823.  
  824. If Hydra reports a 'timeout' or 'retry', this does not necessarily
  825. mean something terrible is happening. The protocol has a different
  826. design and therefore behaves differently from what you will be used
  827. to.
  828. If things go really wrong the transfer will be aborted anyway so there
  829. is no need to worry, the messages are just so you have some
  830. information about what is going on.
  831. For example, Hydra sometimes re-transmits a packet after a number of
  832. seconds, just in case the other side has missed it previously. Because
  833. of line delay the acknowledgement to the original packet may already
  834. be under way. In this case the duplicate packet is ignored, so the
  835. transfer is not delayed. If a packet does get lost, this alternative
  836. tactic speeds up recovery.
  837.  
  838.  
  839. 2.10    Protocol performance 
  840.  
  841. Contrary to the hype surrounding other protocols, Hydra does not
  842. pretend to be the fastest file transfer protocol in cyberspace.
  843. In general it is about as fast as the other top protocols, giving you
  844. a choice on grounds of reliability and versatility rather than
  845. outragious claims.
  846.  
  847. Every protocol has a certain amount of overhead because of error
  848. detection and other facilities; this overhead has of course been
  849. minimized, but Hydra will not provide the user with options to
  850. increase performance in such a way that reliability is affected.
  851. This is what other protocols sometimes do, and often don't tell the
  852. user about it (nor of the consequences). Even so called 'errorfree
  853. connections' such as MNP and V.42 links are NOT 100% errorfree. Some
  854. errors slip through, and sometimes a byte gets lost or mangled between
  855. the modem and the computer or the communications routines.
  856. And to be fair, the actual gain in performance is always minimal; in
  857. rounded percentage terms it sounds appealing but in effect most claims
  858. amount to no more than about 10 seconds on a transfer of more than 10
  859. minutes. Hardly worth it, wouldn't you agree?
  860.  
  861.  
  862.  
  863.  
  864. Page 10                                                        HydraCom
  865.  
  866.  
  867.  
  868.  
  869.  
  870. HydraCom                                                        Page 11
  871.  
  872. Some other bidirectional protocols add up the performance of the two
  873. directions, of course giving nice figures when comparing to
  874. unidirectional protocols. But this is really unfair.
  875. Hydra reports separate figures for each file transfered, and stays on
  876. the conservative side. You should not trust the performance ratings
  877. for transfers which last less than a minute!
  878.  
  879. Okay.. you don't have to believe all this: ignore the numbers reported
  880. by the various protocols, and time a transfer yourself.
  881. Make sure you use a file large enough for at least 5 to 10 minutes
  882. transfertime, otherwise the results will not be reliable for
  883. comparison.
  884. And watch the behaviour of a protocol on for instance a bad
  885. connection; will it choke and abort or handle the situation well?
  886.  
  887.  
  888. 2.11    HST and other half-duplex links 
  889.  
  890. Hydra can also handle HST and similar links that have one high-speed
  891. channel and only a low-speed backchannel. Simultanous bidirectional
  892. transfer is not effective in this case, causing continuous line
  893. turnarounds and slowing down transmission dramatically.
  894. If you are a user, want call a BBS at HST speed, and upload and
  895. download in the same session, use the 'nooriginator' and 'hdxlink'
  896. options together. HydraCom will then first receive all files, then
  897. transmit.
  898. If you set the options even for other real full duplex connections
  899. like V.22(BIS) and V.32(BIS), HydraCom will not use its bidirectional
  900. capability then either. So use this only when required by the specific
  901. modem connect.
  902. In practise, it is easier if you just upload and download in a
  903. seperate Hydra session if you have an HST connect. Then there is no
  904. need to use these options at all.
  905. Bulletin Board sysops should NEVER set these options at all!
  906. The Hydra protocol is protected against deadlock; if both sides are in
  907. one-way transfer mode, this will be detected and one-way mode switched
  908. off.
  909. Of course, if you can choose between for instance an HST and a real
  910. full duplex connect, the choice is easy... full duplex every time!
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928. HydraCom                                                        Page 11
  929.  
  930.  
  931.  
  932.  
  933.  
  934. Page 12                                                        HydraCom
  935.  
  936. 3   Commands and Options 
  937.  
  938. Usage:
  939. HydraCom [port N] [speed N] [<options> ...] <command> [<parms> ...] 
  940.  
  941. General:
  942. options:
  943.     port N          Comport [1..16] (default COM1)
  944.     speed N         Com-speed [300..57600] (default current speed)
  945.     line N          Actual line speed (use 'speed' to set comport)
  946.     parity          Set 7E1 instead of 8N1 (forces option highbit)
  947.     dropdtr         Drop DTR if carrier is lost
  948.     nocarrier       Disable carrier detection
  949.     noinit          Don't init/deinit FOSSIL driver
  950.     handshake <flg> Enable soft (XON/XOFF), hard (RTS/CTS) or both
  951.     log <file>      Logfile to log the goings on
  952.     level N         Level of logging, 0=max, 6=min (default=2)
  953.     result <file>   Log transfer info to DSZ compatible logfile
  954.     noresume        Disable receive bad-transfer recovery
  955.     nostamp         Don't stamp with original but current filetime
  956.     receive <path>  Path to store any received files
  957.     nobell          Disable bell noise in Hydra session chat feature
  958. link options:
  959.     mailer          Mailer mode, used by Dutchie (see documentation)
  960.     nooriginator    Not originator, fallback to one-way transfer
  961.                     allowed
  962.     hdxlink         Force one-way transfer mode (only with
  963.                     nooriginator)
  964.     xwindow N       Transmitter window size (default 0=full streaming)
  965.     rxwindow N      Receiver window size (default 0=full streaming)
  966.     option xonxoff  Escape/strip XON/XOFF characters
  967.     option telenet  Escape/strip Telenet escape
  968.     option ctlchrs  Escape/strip ASCII 0-31 and 127
  969.     option highctl  Apply above three also for 8th bit
  970.     option highbit  Encode for 7 bit, strip 8th bit 
  971. commands:
  972.     send [<fspec> ...]      Send <fspec>/@<ctlfile>/nothing + receive
  973.     get [<path>[<name>]]    Only get file(s), if name is specified, get
  974.                             first file (name override) and skip all
  975.                             others
  976.     term                    Small terminal + send & AutoStart
  977.                             capability
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992. Page 12                                                        HydraCom
  993.  
  994.  
  995.  
  996.  
  997.  
  998. HydraCom                                                        Page 13
  999.  
  1000. 3.1 Options 
  1001.  
  1002. An option modifies the default settings of HydraCom, like the
  1003. communications port number and speed of the communications port.
  1004. Each option consists of a keyword, sometimes followed by a string or
  1005. number. Keywords may be abbreviated to their first three letters.
  1006. For example: POR 2 means that HydraCom should use com port 2.
  1007. This is not true for any parameters following an option, these should
  1008. all be fully spelled out.
  1009. Case is not important. Invalid options and parameters are ignored.
  1010.  
  1011.  
  1012. 3.1.1   port N 
  1013.  
  1014. Select the comport HydraCom will use, in the range of 1 to 16. The
  1015. default value is COM1.  The internal communication routines can only
  1016. handle port COM1 to COM4 (3F8/IRQ4, 2F8/IRQ3, 3E8/IRQ4, 2E8/IRQ3).
  1017.  
  1018.  
  1019. 3.1.2   speed N 
  1020.  
  1021. When using a FOSSIL driver, valid communication speeds are 300, 1200,
  1022. 2400, 4800, 9600, 19200 and 38400 bits per second.  With the internal
  1023. async routines, any speed between 300 and 57600 BPS may be given.
  1024. If the SPEED option is not specified, HydraCom will use the current
  1025. speed of the port. Locking of the speed should be done in the FOSSIL
  1026. setup, not in HydraCom.
  1027. If the FOSSIL is locked the speed statement does not have any effect.
  1028.  
  1029.  
  1030. 3.1.3   line N 
  1031.  
  1032. For high-speed modems, the SPEED option determines the speed of the
  1033. comport while LINE determines the speed that will used for efficiency
  1034. calculations, data packet size and timeouts.
  1035. It is absolutely vital that HydraCom knows what speed the line has,
  1036. and the program has no way of knowing unless you inform it!
  1037. If the FOSSIL is not locked and the speed option is present, the line
  1038. option need not be specified as well.
  1039. The thresholds for data packet size and timeouts are at 1200, 2400,
  1040. and 4800 bps. Ie. if speed is set to 38400 but the actual link speed
  1041. is 14400, there's no need to use the line option as for HydraCom there
  1042. is no practical difference between 14400 and 38400 when calculating
  1043. the necessary figures.
  1044. But if the comport is locked at 9600 or 38400 and the line speed is
  1045. 2400 or even lower,  you'll have problems if you don't specify the
  1046. correct line speed here.
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056. HydraCom                                                        Page 13
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062. Page 14                                                        HydraCom
  1063.  
  1064. 3.1.4   parity 
  1065.  
  1066. The parity option selects 7 databits, even parity (7E1) instead of the
  1067. default 8 databits no parity (8N1), also forcing 'option highbit' so
  1068. the Hydra protocol makes the necessary arrangements for a 7-bit
  1069. connection.
  1070.  
  1071.  
  1072. 3.1.5   dropdtr 
  1073.  
  1074. This option will probably only be useful for BBS with modems set to
  1075. auto-answer. If specified, HydraCom will lower the DTR (Data Terminal
  1076. Ready) line on the serial port. For HAYES-compatible modems with a
  1077. set-up of S0=1 or something similar, this will cause the modem NOT to
  1078. answer the phone while the DTR remains low. The BBS then has time to
  1079. recycle and raise the DTR again when ready for the next call.
  1080.  
  1081.  
  1082. 3.1.6   nocarrier 
  1083.  
  1084. Mostly of use with certain null-modem cables or stand-alone operations
  1085. within the HydraCom terminal function, this option configures HydraCom
  1086. so it will not check the DCD (Data Carrier Detect) line on the serial
  1087. port. Normally, HydraCom will abort upon loss of carrier.
  1088.  
  1089.  
  1090. 3.1.7   noinit 
  1091.  
  1092. Do not initialise the FOSSIL on startup. Running under some software
  1093. like the mailer program Dutchie, HydraCom is not required nor supposed
  1094. to initialise the resident FOSSIL driver. This option will make sure
  1095. HydraCom will refrain from attempts at initialisation.
  1096.  
  1097.  
  1098. 3.1.8   handshake <flg> 
  1099.  
  1100. This option allows the enabling of various types of flow control.
  1101. SOFT enables xon/xoff handshaking, HARD enables rts/cts handshaking,
  1102. and BOTH obviously enables both software and hardware flow control.
  1103. FOSSIL drivers force RTS/CTS handshaking for a locked communications
  1104. port.
  1105. The internal communications routines (ie. the one used when there is
  1106. no FOSSIL driver present) do not support XON/XOFF handshaking, nor do
  1107. they apply RTS flow control (modem->computer). CTS flow (computer-
  1108. >modem) is supported.
  1109. Setting software flow control automatically forces on 'option xonxoff'
  1110. to make sure Hydra escapes these characters in its packets.
  1111.  
  1112.  
  1113. 3.1.9   log <file> 
  1114.  
  1115. If specified, HydraCom will log messages to this file as well as
  1116. printing them on the screen. The output is similar to the format used
  1117. by programs like Dutchie, The-Box, BinkleyTerm, Opus and Maximus.
  1118.  
  1119.  
  1120. Page 14                                                        HydraCom
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126. HydraCom                                                        Page 15
  1127.  
  1128.  
  1129.  
  1130. 3.1.10  level <loglevel> 
  1131.  
  1132. This option is only really useful if LOG is also specified. Loglevel
  1133. may be anything from 0 to 6. Level 0 logs anything up to Hydra packet
  1134. control data. Level 6 logs only severe or fatal errors. The default
  1135. loglevel is 2.
  1136.  
  1137.  
  1138. 3.1.11  result <filename> (DSZ logfile) 
  1139.  
  1140. This option will create or append a DSZ (by Omen Technology)
  1141. compatible log file, which some programs (such as the RBBS-PC or XBBS
  1142. BBS) use to determine the outcome of a transfer.
  1143. The format is as follows:
  1144.  
  1145. <res> <byts> <bps> bps <cps> cps <err> errors <flow> <last> <fname>
  1146. <sn>
  1147.  
  1148. <res>       H = file is sent, R = file is received. 
  1149. <byts>      Actual number of bytes transferred.
  1150. <bps>       Line communication speed in bits per second.
  1151. <cps>       Protocol performance in characters per second. For very
  1152.             short transfers a rating of 9999 cps is given.
  1153. <flow>      Number of transmission errors occurred (0).
  1154. <err>       Number of flow control stoppages (0).
  1155. <last>      Size which was used for the last block in the transfer
  1156.             (1024).
  1157. <fname>     Full path and file name.
  1158. <sn>        Serial number of the program on the other side (0).
  1159.  
  1160. HydraCom will not write a result line for aborted transfers, but the
  1161. result file itself will always be created (empty).
  1162.  
  1163. Prior to processing any other options the DSZLOG environment variable
  1164. is checked and (if present) copied to the RESULT option file name.
  1165.  
  1166.  
  1167. 3.1.12  noresume 
  1168.  
  1169. By default, HydraCom uses an internal mechanism to keep track of
  1170. interrupted transfers: It keeps unfinished received files BAD-XFER.???
  1171. where ??? is a counter from 000 to 999 used to create a unique file
  1172. name. The original file name, date/time and size of the file are
  1173. logged to a file called BAD-XFER.LOG. Both files reside in the
  1174. directory where files are received. With NORESUME, HydraCom will not
  1175. keep/log unfinished downloads but instead deletes the partial file.
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184. HydraCom                                                        Page 15
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190. Page 16                                                        HydraCom
  1191.  
  1192. 3.1.13  nostamp 
  1193.  
  1194. Don't retain the original file date/time information which was
  1195. transmitted, but stamp received files with the current date/time.
  1196. Some BBS software requires this to be able to scan for new files.
  1197.  
  1198.  
  1199. 3.1.14  receive <path> 
  1200.  
  1201. Files received through HydraCom will be stored in directory <path> if
  1202. this option is used. Otherwise files will accumulate in the current
  1203. directory.
  1204.  
  1205.  
  1206. 3.1.15  nobell 
  1207.  
  1208. Normally, the BEL character (Ctrl-G) will cause the remote system to
  1209. give a short beep. This may not be desired if HydraCom is for instance
  1210. used under a BBS, so with this option you can disable the beep. It
  1211. only applies to the chat mode during a Hydra tranfer session.
  1212.  
  1213.  
  1214. 3.1.16  mailer 
  1215.  
  1216. Selects mailer mode, changing HydraCom's behaviour slightly as
  1217. required by the Dutchie mailer which uses it as an external protocol
  1218. for FidoNet technology mail sessions.
  1219.  
  1220.  
  1221. 3.1.17  nooriginator 
  1222.  
  1223. Instructs HydraCom to NOT act as the 'originator' side in case of
  1224. trouble during a transfer. The 'answer' side will switch to one-way
  1225. transfer mode under certain conditions (equivalent to the hdxlink
  1226. option).
  1227. Normally you won't need this option yourself, its main use is for
  1228. programs like Dutchie in combination with the 'mailer' and 'hdxlink'
  1229. options.
  1230. Refer to the section about HST and other half-duplex modems earlier in
  1231. this document for a more complete description of these options.
  1232.  
  1233.  
  1234. 3.1.18  hdxlink 
  1235.  
  1236. Forces one-way transfer mode (half duplex Hydra, disables bi-
  1237. directional transfers). This option only works if nooriginator is
  1238. enabled as well. This option is meant for use on HST and similar
  1239. asymmetrical connections.  Refer to the section about the
  1240. 'nooriginator' option above for more information.
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248. Page 16                                                        HydraCom
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254. HydraCom                                                        Page 17
  1255.  
  1256. 3.1.19  txwindow N  
  1257.  
  1258. The number of bytes to send before remote acknowledgement of reception
  1259. should be received. If it's set to 0 (default) HydraCom won't wait for
  1260. acks and use continuous streaming.
  1261. In severe situations, this option may be necessary for links via
  1262. packet switched networks and sattelites to prevent runahaid (windowed
  1263. streaming).
  1264. Primarily, this option is used when the machine on the other side
  1265. cannot handle simultanous serial and disk I/O (segmented streaming).
  1266. The exact receive and transmit window sizes are negotiated
  1267. individually by the two sides at the start of a Hydra session, so if
  1268. the other side has set a more limited value, that is the window size
  1269. that will be used for that direction.
  1270.  
  1271.  
  1272. 3.1.20  rxwindow N 
  1273.  
  1274. The number of bytes to receive before acknowledgement (ACK) should be
  1275. returned to the sender (default 0=none). Refer to the description of
  1276. the 'txwindow' option above for more information about windowed
  1277. transmission.
  1278.  
  1279.  
  1280. 3.1.21  link options 
  1281.  
  1282. Link options are used to send data over nondefault lines (such as 7-
  1283. bit links, and such). Hydra will encode all data to a suitable format,
  1284. send it, and the receptor will decode the data back to it's original
  1285. format.
  1286. option xonxoff  Escape/strip XON/XOFF characters. (ASCII 17 and 19)
  1287. option telenet  Escape/strip telenet escape sequence CR-@-CR (ASCII
  1288.                 13,64,13)
  1289. option ctlchrs  Escape/strip ASCII characters 0 to 31 and 127.
  1290. option highctl  Makes xonxoff/telenet/ctlchrs also escape/strip their
  1291.                 respective characters if the high bit.
  1292. option highbit  Encode for 7 bit transfers. (encodes 8 bit to 7 bit)
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312. HydraCom                                                        Page 17
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318. Page 18                                                        HydraCom
  1319.  
  1320. 3.2 Commands 
  1321.  
  1322. HydraCom expects a command at the end of the command line (ie after
  1323. all options). There are three possible commands: send, get and term.
  1324. Send is for sending files, get is to just receive files without
  1325. sending any, and term is the mini terminal.
  1326. All commands normally abort upon loss of carrier unless the
  1327. 'NOCarrier' option is used.
  1328.  
  1329.  
  1330. 3.2.1   send [<filespec> ...] [@<ctlfile> ...] 
  1331.  
  1332. The send command causes HydraCom to send <filespec.ext>.
  1333. If no file specification is given, this command will just act like a
  1334. get and just receive files.
  1335.  
  1336. @<listname.ext> will cause HydraCom to read a file called
  1337. <listname.ext> in [<drive:\path>] and send the files specified in that
  1338. text file. Each entry in that file should be placed on one line eg,
  1339. when you want to send TEST.*, NEWHYD?.ARJ and PAL_112.C, you could
  1340. place them in SEND.TXT, which could contain:
  1341. C:\MAIL\FILE\TEST.*
  1342. C:\DOCS\NEWHYD?.ARJ
  1343. E:\C\DEVLP\PAL_112.C
  1344.  
  1345. Normal file specifications and multiple @ctlfiles may be used on one
  1346. commandline, and you can specify paths and the usual DOS wildcards *
  1347. and ? (which are expanded to the file names which match the
  1348. specification).
  1349.  
  1350. In @ctlfiles aliasing and transfer options may be used.
  1351. Aliasing means that HydraCom will send a file with an alias name,
  1352. specified after that name, so if your @-file contain a line
  1353. C:\DOCS\ANY.TXT 01A551FC.A0D
  1354. then HydraCom will send the file ANY.TXT as 01A551FC.A0D.
  1355. A '#' sign as the first character on a line will cause HydraCom to
  1356. truncate the file(s) to zero length after succesful transfer. A caret
  1357. (^) tells HydraCom to delete that file after it has been sent.
  1358.  
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376. Page 18                                                        HydraCom
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382. HydraCom                                                        Page 19
  1383.  
  1384. 3.2.2   get [<path>[<name>]] 
  1385.  
  1386. The get command may be used if there are no files to be sent, just
  1387. received.
  1388. With no parameter, get will put received files into either the current
  1389. directory or the directory specified in the 'receive' option.
  1390. If a path specification follows the get command, this overrides the
  1391. 'receive' option. A get path specification MUST have a trailing
  1392. backslash!
  1393. If a filename specified, HydraCom will receive just one file, store it
  1394. with the specified name, and refuse any other files the remote wants
  1395. to send. This 'feature' is provided because some software cannot
  1396. handle batch uploads and wants to know the name of the single file
  1397. before the transfer.
  1398.  
  1399.  
  1400. 3.2.3   term 
  1401.  
  1402. This activates HydraCom little built-in dumb terminal.
  1403. HCOM_DOS has ANSI emulation if you have ANSI.SYS loaded; HCOM_GEN has
  1404. an extended ANSI/VT-100 emulator in its windowing library.
  1405. Downloading in the HydraCom terminal is fully automatic, HydraCom
  1406. detects the remote has intiated a Hydra session (AutoStart). Any files
  1407. in the upload queue will also be transmitted.
  1408.  
  1409. There are several options and commands in the terminal mode:
  1410.  
  1411. PgUp:   Enter/edit file upload queue; HydraCom asks for file
  1412.         specification(s), wildcards are allowed. You may NOT specify a
  1413.         @ctlfile. No upload is started with this command, the specified
  1414.         files will be sent when either the remote initiates a session
  1415.         or when you press PgDn.
  1416. PgDn:   Download; HydraCom initiates a Hydra session and waits for
  1417.         incoming files/packets. Any files selected with PgUp will be
  1418.         sent. You cannot select files for download within HydraCom, you
  1419.         must do this within the BBS you're calling; ie. you can not
  1420.         just 'request' files from the remote during a Hydra session.
  1421. Alt-X:  Exit the terminal and HydraCom.
  1422. Alt-C:  Clears the screen and puts the cursor in the upper left corner.
  1423. Alt-H:  Hangup (on hook), this command drops the DTR line and causes an
  1424.         immediate log-off (BBS do have a G)oodbye command.. use it!).
  1425. Alt-E:  Toggle duplex, this command toggles the local echo mode.
  1426. Alt-B:  Toggle stripping the 8th bit of all incoming characters. This
  1427.         toggle is forced on if the 'parity' commandline option has been
  1428.         specified.
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440. HydraCom                                                        Page 19
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446. Page 20                                                        HydraCom
  1447.  
  1448. 3.3 Default configuration file 
  1449.  
  1450. At start-up, HydraCom will check whether a file named <exename>.CFG
  1451. exists in the directory where the HydraCom executable resides, and if
  1452. it does, scan it for options. This is always done first, regardless of
  1453. what interface method is used to pass other commands and options. By
  1454. <exename>.CFG we mean that, if for instance the HydraCom executable is
  1455. named HydraCom.EXE, the name of the configuration file checked for
  1456. would be HydraCom.CFG. C:\WORK\HC.EXE will search for C:\WORK\HC.CFG.
  1457. Each line in the configuration file may contain an option and possible
  1458. parameters. Everything after a semicolon (;) will be ignored
  1459. (comments).
  1460.  
  1461. ;----------[ sample terminal configuration file ]----------
  1462. port 2
  1463. speed 38400
  1464. receive c:\comms\download\
  1465. nocarrier
  1466. log c:\bbs\hydracom.log
  1467. level 4
  1468.  
  1469. The configuration file may not contain a command (send, get or term).
  1470. Statements on the command-line override those in the configuration
  1471. file.
  1472.  
  1473. You can use the utility HydraCfg to create and edit a default
  1474. configuration file for HydraCom in a more userfriendly environment
  1475. (full-screen windowed, mouse support, information and help texts).
  1476.  
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504. Page 20                                                        HydraCom
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510. HydraCom                                                        Page 21
  1511.  
  1512. 4   Using HydraCom as an external protocol 
  1513.  
  1514. HydraCom can be used within a lot of, if not all, communication
  1515. programs which support intelligent DOS access like errorlevels,
  1516. shelling to batch files, spawning, etc. Most programs have external
  1517. protocol support themselves, but HydraCom can also work with programs
  1518. which can use only external view or edit programs. In that case you
  1519. can call exactly the same batch file as described for Procomm Plus.
  1520. You could for example put the upload batch file instead of a view
  1521. utility and fill in the download batch file instead of the editor
  1522. utility. When you are asked what file to view, you'd fill in the
  1523. filename(s) to be uploaded.
  1524.  
  1525.  
  1526. 4.1 Interface methods 
  1527.  
  1528.  
  1529. 4.1.1   Opus-style external protocol interface 
  1530.  
  1531. HydraCom can operate as an Opus external protocol driver, as used in
  1532. the Opus bulletin board system and various mailer, BBS and terminal
  1533. packages which utilize the Opus method of calling external protocol
  1534. drivers.
  1535.  
  1536. Upon exit to the external protocol writes an Opus-style control file,
  1537. the name of which depends on the file name of the executable HydraCom.
  1538. If, in your case, HydraCom is called HydraCom.EXE, then Opus will
  1539. write a file called HydraCom.CTL to the drive/path where HydraCom.EXE
  1540. resides, from which HydraCom will read all necessary information about
  1541. the transfer.
  1542. Hydra will create a special Opus-format logfile HydraCom.LOG (in the
  1543. same directory where HydraCom.CTL was stored) which provides the BBS
  1544. software with a list of files that were sent/received.
  1545.  
  1546. The Opus 1.0x method is quite similar to the way Opus 1.10 and later
  1547. versions call external file transfer protocols. HydraCom handles both
  1548. methods. The Opus-protocol interface mechanism is automatically used
  1549. if a .CTL control file is found. If a task number (-tN where N is the
  1550. task number) is specified on the HydraCom commandline, the new method
  1551. is used which merges a task number into the filename of the control
  1552. and log files for multi-line operation. A control file for task 3 when
  1553. calling HydraCom.EXE would be named HydraC03.CTL.
  1554. Note: any commandline parameters after the -tN option are ignored,
  1555. HydraCom immediately proceeds with processing the .CTL file.
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568. HydraCom                                                        Page 21
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574. Page 22                                                        HydraCom
  1575.  
  1576. HydraCom uses the -pN (port number, 0 based) and -bN (speed) from the
  1577. commandline, other Opus-style parameters are ignored.
  1578. In the .CTL file the following Opus-style options and commands are
  1579. used and fully implemented in HydraCom:
  1580.  
  1581.     port    Com port, identical to the 'port' commandline option.
  1582.     baud    Com speed, like the 'speed' commandline option.
  1583.     modem   Extended modem information like real line speed, handshake
  1584.             options, carrier mask.
  1585.     log     Log file, identical to the 'log' commandline option.
  1586.     upload  Where received files are to be stored; like the 'receive'
  1587.             commandline option.
  1588.     send    Specification of file(s) to be sent; DOS wildcards are
  1589.             allowed, as well as the special transfer options. If the
  1590.             file specification is preceded by a # character, the
  1591.             specified files will be truncated to zero-length after
  1592.             successful transmission. A ^ character has the files
  1593.             deleted after successful transmission. If another name is
  1594.             specified on the same line (no path), this name is given to
  1595.             the remote instead of the real name (aliasing).
  1596.     get     As Hydra is a full duplex protocol, this command is
  1597.             completely ignored.  A receive path should be specified
  1598.             using the 'upload' or 'receive' option.
  1599.  
  1600. Other (unknown to HydraCom) Opus-style commands are just ignored.
  1601. All HydraCom commandline options (not commands!) be also be present in
  1602. a .CTL file.
  1603. Take care that all options are listed in the .CTL before the first
  1604. 'send' line, otherwise those options will not have been read yet.
  1605.  
  1606.  
  1607. 4.1.2   DSZ-style external protocol interface 
  1608.  
  1609. HydraCom can be called by any program using the DSZ style of passing
  1610. options/commands; of course the options and commands differ from DSZ,
  1611. but the basic mechanism is the same with support for @ctlfiles and
  1612. usage of the DSZLOG environment variable. For more information on the
  1613. format of the DSZ result logfile, see the section about the 'result'
  1614. option.
  1615.  
  1616.  
  1617. 4.1.3   Exit codes (errorlevels) 
  1618.  
  1619. Some programs check error codes to decide whether a transfer has been
  1620. completed successfully or not. HydraCom uses the following
  1621. errorlevels:
  1622.  
  1623.       0 Normal termination
  1624.       1 Transfer aborted, carrier lost, etc.
  1625.     255 System error: not enough memory, etc.
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632. Page 22                                                        HydraCom
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638. HydraCom                                                        Page 23
  1639.  
  1640. 4.2 Using HydraCom with terminal programs 
  1641.  
  1642.  
  1643. 4.2.1   Telix 
  1644.  
  1645. Telix 3.15 supports up to 4 external protocols, 3.20 supports 5.
  1646. You need to create a single batchfile (HYDRAUP.BAT) with one line:
  1647.  
  1648. HYDRACOM port %2 speed %1 uploads D:\DL\ send %3 %4 %5 %6 %7 %8 %9
  1649. (change D:\DL\ to the path of your own download directory)
  1650.  
  1651. Start Telix, and from the main terminal window press Alt-O (Configure
  1652. Telix), select option P (Protocol options) and select a free protocol
  1653. line (A-D/E) (or replace an unused protocol):
  1654.  
  1655.         Key                     H
  1656.         Protocol name           Hydra
  1657.         Upload filename         HYDRAUP
  1658.         Download filename       HYDRAUP
  1659.         BAT or script           Batch
  1660.         DL name                 NO
  1661.         Autodownload string    (press ctrl-X)cA\f5\
  1662.         (autodownload string only available in Telix 3.20)
  1663.  
  1664. Now press ENTER (returns to configure Telix) and select option W
  1665. (Write setup to disk). Telix will automatically return to the main
  1666. terminal window.
  1667.  
  1668.  
  1669. 4.2.2   Communique  
  1670.  
  1671. HydraCom batchfile that can be used for Communique:
  1672.  
  1673. @echo off
  1674. rem HydraCom installation under Communique 1.0x
  1675. rem -------------------------------------------
  1676. rem Name    : Hydra
  1677. rem Key     : 1
  1678. rem Upload  : CU_Hydra.BAT *C *B *D *U *G
  1679. rem Download: CU_Hydra.BAT *C *B *D *U
  1680. cls
  1681. HydraCom port %1 speed %2 nocarrier handshake receive %3 send %5
  1682.  
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696. HydraCom                                                        Page 23
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702. Page 24                                                        HydraCom
  1703.  
  1704. 4.2.3   Commo 
  1705.  
  1706. Add the following to your COMMO.MAC file in the appropriate places:
  1707.  
  1708.  (the upload protocol menu)
  1709.    HydraCom       using HYDRACOM.EXE              {goto phyd}
  1710.  (the download protocol menu)
  1711.    HydraCom       using HYDRACOM.EXE              {goto phyd}
  1712.  (no download macro, just uses uploade macro)
  1713.  (upload macros)
  1714.    HydraCom    {:phyd} {call gfnu}
  1715.                        {exec-a HYDRACOM por %_por spe %_spe han
  1716.                        hard rec %uldir sen %file} {}  HYDRACOM.EXE
  1717.  
  1718. And the following line to your COMMO.SET file:
  1719.     {aut=phyd,^XcA\f5\a3^Xa}      Auto Receive, HydraCom
  1720.  
  1721.  
  1722. 4.2.4   Procomm Plus 
  1723.  
  1724. This has been tried and found to work with the Procomm+ TestDrive
  1725. version. For use with Procomm Plus, you need to create one batch file
  1726. which calls HydraCom:
  1727.  
  1728. HydraCom port 1 line 2400 receive D:\DL\ send %1 %2 %3 %4 %5 %6
  1729. (change D:\DL\ to the path of your own download directory)
  1730.  
  1731. Procomm+ does not provide the line speed, comport number or the path
  1732. to store received files; you should fill them in yourself.
  1733. It's not terribly user-friendly and it may cause you trouble. But
  1734. there's not much you can do about it except get different terminal
  1735. software.
  1736.  
  1737. You should specify the batch file in the Procomm Plus protocol set-up
  1738. menu. From the Procomm Plus main menu, press Alt-S (Setup Utility),
  1739. then choose PROTOCOL OPTIONS and take an empty pair of entries, either
  1740. A-B, C-D or E-F, if you would choose A-B, then press A, fill in the
  1741. HydraCom upload batchfilename (HPCU) without extention, and press
  1742. ENTER. Then press B, fill in HPCD and press ENTER. Then press escape,
  1743. select the SAVE SETUP option, and press escape again.
  1744.  
  1745.  
  1746.  
  1747.  
  1748.  
  1749.  
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760. Page 24                                                        HydraCom
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766. HydraCom                                                        Page 25
  1767.  
  1768. 4.2.5   TeleMate 
  1769.  
  1770. Create a batchfile, to be placed in the TM home directory:
  1771.  
  1772. HydraCom.EXE port %2 speed %1 receive D:\DL\ send %3
  1773. (change D:\DL\ to the path of your own download directory)
  1774.  
  1775. Now start TeleMate and from within the TeleMate main terminal window,
  1776. press Alt-O (Options).
  1777. Select option P (Protocol). Select a free protocol line, or replace an
  1778. unused protocol:
  1779.  
  1780.         Name                    Hydra
  1781.         Key                     H
  1782.         Upload batch            HYDRAUP
  1783.         Download batch          HYDRAUP
  1784.         Prompt for dl name      NO 
  1785.  
  1786.  
  1787. Exit the protocol window with the OK selection (returns to 'Options'
  1788. window), select option S (Save options) and press ESC (back to main
  1789. terminal window).
  1790.  
  1791.  
  1792. 4.2.6   Boyan 
  1793.  
  1794. To use HydraCom with this program, run Boyan and press Atl-C
  1795. (Configure BOYAN) from the main terminal window. After this, select
  1796. option D (Disk, directory, files) and then option H (Path for external
  1797. protocols)
  1798. Now enter the drive and path where HydraCom.EXE can be found, don't
  1799. forget the trailing backslash '\'. Then press ENTER (finish entry). 
  1800. Press ESC (returns to 'configure BOYAN' screen), select option X
  1801. (External transfer protocols) and select a free protocol line entry
  1802. (0-9).
  1803.  
  1804. Protocol name           Hydra
  1805. Menu letter             H
  1806. External file           HydraCom
  1807. Prompt for DL-name?     NO
  1808. Upload      \DC-[%P:HydraCom port %MD speed %MS rec dl>\ send %TF]
  1809. Download    \DC-[%P:HydraCom port %MD speed %MS rec dl>\ get]
  1810.  
  1811. (Don't forget to specify the downloadpath including the trailing '\')
  1812. Press ENTER (finish entry). Then press ESC (returns to 'configure
  1813. BOYAN' screen) and, again, press ESC (back to main terminal window)
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.  
  1823.  
  1824. HydraCom                                                        Page 25
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830. Page 26                                                        HydraCom
  1831.  
  1832. 4.2.7   Qmodem 
  1833.  
  1834. To use HydraCom with the Qmodem communications package, enter Qmodem,
  1835. and from the main terminal window, press Alt-N (Configure Qmodem) Then
  1836. select option P (Protocols) and select a free protocol line entry
  1837. (0-9).
  1838.  
  1839.         Select character        H
  1840.         Protocol                Hydra 
  1841.         Upload BAT              HYDRAUP.BAT
  1842.         Download BAT            HYDRAUP.BAT
  1843.         Filename Prompt         N
  1844.  
  1845. Finished? press ESC (returns to 'Protocols' window) and again, press
  1846. ESC (returns to 'Configure Qmodem' window), select option E (Exit) and
  1847. select option S (Save Changes) Qmodem will then automatically return
  1848. to the main terminal window.
  1849.  
  1850. The batchfile (placed in the Qmodem home directory):
  1851.  
  1852. HydraCom port %2 speed %1 receive D:\DL\ send %3 %4 %5 %6 %7 %8 %9
  1853. (change D:\DL\ to the path of your own download directory)
  1854.  
  1855.  
  1856.  
  1857.  
  1858.  
  1859.  
  1860.  
  1861.  
  1862.  
  1863.  
  1864.  
  1865.  
  1866.  
  1867.  
  1868.  
  1869.  
  1870.  
  1871.  
  1872.  
  1873.  
  1874.  
  1875.  
  1876.  
  1877.  
  1878.  
  1879.  
  1880.  
  1881.  
  1882.  
  1883.  
  1884.  
  1885.  
  1886.  
  1887.  
  1888. Page 26                                                        HydraCom
  1889.  
  1890.  
  1891.  
  1892.  
  1893.  
  1894. HydraCom                                                        Page 27
  1895.  
  1896. 4.3 Using HydraCom with BBS software 
  1897.  
  1898.  
  1899. 4.3.1   Maximus 
  1900.  
  1901. Protocol Hydra
  1902.     Type            Batch
  1903.     Type            Bi
  1904.  
  1905.     LogFile         Hydra%K.Log
  1906.     ControlFile     Hydra%K.Ctl
  1907. ; Put in NOS (nostamp) to not retain date/time on received files
  1908.     DownloadCmd     HydraCom.Exe por %P spe %W lin %b dro nor nob res
  1909. %x:Hydra%K.Log rec %v sen @%x:Hydra%K.Ctl
  1910.     UploadCmd       HydraCom.Exe por %P spe %W lin %b dro nor nob res
  1911. %x:Hydra%K.Log rec %v get
  1912.     DownloadString  %s
  1913.     UploadString
  1914.     DownloadKeyword H
  1915.     UploadKeyword   R
  1916.     FilenameWord    10
  1917.     DescriptWord    0
  1918. End Protocol
  1919.  
  1920. Note that the DownloadCmd and UploadCmd lines are both a bit long and
  1921. therefore wrapped in this document.
  1922.  
  1923. Maximus would also be capable of using the Opus mechanism instead of
  1924. using DSZ-style, but Maximus 2.00 and 2.01wb have a bug in that code
  1925. which causes it to pass invalid data in the controlfile.
  1926.  
  1927.  
  1928. 4.3.2   Opus 
  1929.  
  1930. Opus expects you to specify the path and file name of HydraCom in your
  1931. Opus control file. Usually, you would want the user to invoke Hydra
  1932. with the H keystroke, so the name of the HydraCom executable should
  1933. start with a H, like HydraCom.EXE. In this case, you should add an
  1934. external file transfer protocol line to your Opus control file which
  1935. (in case HydraCom.EXE resides in the c:\opus directory) reads:
  1936.  
  1937. External_file_protocol C:\OPUS\HydraCom.EXE
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951.  
  1952. HydraCom                                                        Page 27
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958. Page 28                                                        HydraCom
  1959.  
  1960. 4.3.3   QuickBBS and RemoteAccess (FileDoor) 
  1961.  
  1962. You can offer HydraCom from QuickBBS, RemoteAccess and similar
  1963. packages with the FileDoor program. For that, you would have to add
  1964. the specifications for HydraCom to your filedoor configuration file:
  1965.  
  1966. Protocol 96 T U 20 0 Hydra
  1967. Usage 0 0 N Y 38400
  1968. BiDSZ HYDRACOM.EXE por $1 spe 38400 lin $2 nob rec $8 sen $3 $M
  1969.  
  1970. Protocol 96 T D 20 0 Hydra
  1971. Usage 0 0 N Y 38400
  1972. BiDSZ HYDRACOM.EXE por $1 spe 38400 lin $2 nob rec $8 sen $3 $M
  1973.  
  1974. These settings only apply if you use a modem locked at 38400.
  1975. For information about which settings to change for your modem, please
  1976. refer to the FileDoor documentation and config comments.
  1977.  
  1978.  
  1979. 4.3.4   RBBS-PC 
  1980.  
  1981. RBBS-PC uses a file called PROTO.DEF to define the external protocols.
  1982. Here is a sample PROTO.DEF. Please refer to the RBBS-PC documentation
  1983. for information concerning the syntax. 
  1984.  
  1985. "H)ydra
  1986. ",0,S,8,,B,1024,,0.96,,1=E,"D:HydraCom.EXE port [PORT#] speed [BAUD]
  1987. dropdtr result D:XFER-[NODE].DEF send [FILE]","D:HydraCom.EXE port
  1988. [PORT#] speed [BAUD] dropdtr result D:XFER-[NODE].DEF get [FILE]"
  1989.  
  1990. It is one physical line which should not have any CR/LF in the middle.
  1991.  
  1992.  
  1993. 4.3.5   Wildcat! 
  1994.  
  1995. Wildcat! is a commercial Bulletin Board package, this paragraph will
  1996. cover the implementation of HydraCom within the Testdrive version. You
  1997. should create a path to your external protocols, like C:\WILDCAT\EP,
  1998. where you should store all files related to external file transfers.
  1999. Wildcat! will also temporarily store the sent and received files
  2000. there. You should also specify this path in the Wildcat! set-up
  2001. program, (MakeWild) and don't forget to add to the number of external
  2002. transfer protocols, also in the set-up program. After that, you should
  2003. define HydraCom within the external protocol definition part of the
  2004. set-up. LTR defines the key which a user should press in order to
  2005. invoke the transfer batch file. At the Up.BAT position, you should
  2006. define the HydraCom upload batch file and at the Dn.BAT you should
  2007. define the HydraCom download batch file. Setting the Batch field to
  2008. Y(es) will allow a batch (multiple files) of files for up- or
  2009. downloading, this is recommended, though the test-drive version does
  2010. not support batch uploads. Please note that users cannot invoke
  2011. external protocols during the period between an event and two hours
  2012. before the start of that event.
  2013.  
  2014.  
  2015.  
  2016. Page 28                                                        HydraCom
  2017.  
  2018.  
  2019.  
  2020.  
  2021.  
  2022. HydraCom                                                        Page 29
  2023.  
  2024. Wildcat! spawns to dos upon exit to HydraCom and will assign the baud
  2025. rate to DOS variable %1, the communications port is assigned to
  2026. variable %2 and the file name(s) (without path) are assigned from
  2027. variable %3 to variable %9. The batch files must be located in the
  2028. external protocol directory. Your download batch file would be:
  2029.  
  2030. CD \WILDCAT\EP
  2031. HydraCom.EXE port %2 speed %1 sz %3 %4 %5 %6 %7 %8 %9
  2032. CD \WILDCAT
  2033.  
  2034. and your upload batch file could, for example, become:
  2035.  
  2036. CD \WILDCAT\EP
  2037. HydraCom.EXE port %2 speed %1 rz [%3] 
  2038. COPY %3 [%5]%4
  2039. DEL %3
  2040.  
  2041. where the %3 variable denominates the file which is to be received,
  2042. but this does not need to be specified to make HydraCom receive a
  2043. file. Variable %4 contains the path to an upload directory which has
  2044. been specified by the user and variable %5 contains the full drive,
  2045. path and file name. The latter two variables can be useful in the
  2046. batch file which calls HydraCom, for example to move files directly to
  2047. an upload area. These batch files should be named according to the
  2048. batch file names which you filled in under Up.BAT and Dn.bat in the
  2049. MakeWild set-up program. To allow as many (seven, %3 to %9) files to
  2050. be downloaded in one batch as possible, Wildcat! does not use a path,
  2051. but only uses the external protocol directory. Wildcat! will copy
  2052. files which are to be sent to this directory (and delete them after
  2053. the transfer) and will receive files into this directory, a DOS
  2054. command line is limited to 128 characters, so this saves a path
  2055. denomination before each file.
  2056.  
  2057. You can edit PROTOCOL.HLP and add information about HydraCom to it for
  2058. your users.
  2059.  
  2060.  
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074.  
  2075.  
  2076.  
  2077.  
  2078.  
  2079.  
  2080. HydraCom                                                        Page 29
  2081.  
  2082.  
  2083.  
  2084.  
  2085.  
  2086. Page 30                                                        HydraCom
  2087.  
  2088. 4.3.6   XBBS 
  2089.  
  2090. The internal XBBS version 1.06 method:
  2091. XBBS needs a PROTOCOL.TXT, which is made into PROTOCOL.CTL by
  2092. XPROTO.COM. You could add the next lines to PROTOCOL.TXT in order to
  2093. install HydraCom in your XBBS.
  2094.  
  2095. ;sample PROTOCOL.TXT for HydraCom
  2096. Hydra                                      ;Protocol label
  2097. H                                          ;Key to select protocol
  2098. 96                                         ;Protocol efficiency
  2099. C:\XBBS\HydraCom.EXE PORT *p SPEED *B send *F;Download string
  2100. C:\XBBS\HydraCom.EXE PORT *p SPEED *B get   ;Upload string
  2101. type a dozen CTRL-X's                      ;Abort string
  2102. Y                                          ;Wildcards?
  2103. Y                                          ;Multiple file names?
  2104. Y                                          ;Simultaneous U/D?
  2105. Y                                          ;use @listfile?
  2106. Y                                          ;remote filename?
  2107. Y                                          ;Use DSZlog?
  2108. N                                          ;not yet used
  2109. N                                          ;not yet used
  2110.  
  2111. Please refer to the XBBS documentations for the exact meaning of the
  2112. PROTOCOL.TXT statements.
  2113. Then run XPROTO PROTOCOL.TXT in the XBBS home directory and you got
  2114. yourself a PROTOCOL.CTL with HydraCom.
  2115.  
  2116.  
  2117.  
  2118.  
  2119.  
  2120.  
  2121.  
  2122.  
  2123.  
  2124.  
  2125.  
  2126.  
  2127.  
  2128.  
  2129.  
  2130.  
  2131.  
  2132.  
  2133.  
  2134.  
  2135.  
  2136.  
  2137.  
  2138.  
  2139.  
  2140.  
  2141.  
  2142.  
  2143.  
  2144. Page 30                                                        HydraCom
  2145.  
  2146.