home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1992 September / Simtel20_Sept92.cdr / msdos / qbasic / fossc004.arc / FOSSCOMM.TXT < prev    next >
Text File  |  1988-10-31  |  31KB  |  1,292 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.                                        
  7.                                        
  8.                                        
  9.                                        
  10.                                        
  11.                                        
  12.                                        
  13.                                        
  14.                                        
  15.                                        
  16.                                        
  17.                                        
  18.                                        
  19.                                        
  20.                    FossComm
  21.                                        
  22.                                  version 0.04
  23.                                        
  24.                                        
  25.                                 August 22, 1988
  26.                                        
  27.                                        
  28.                              Program Documentation
  29.                                        
  30.                                        
  31.                                        
  32.                                        
  33.                                        
  34.                     Copyright (C) 1988  Daan van der Weide
  35.                               All rights reserved
  36.                                        
  37.  
  38.  
  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.            FosComm is an  interface between a  compiled BASIC  program
  81.          and a so-called FOSSIL  driver. It enables  the user to  take
  82.          advantage of all  the functions  regarding the  communication
  83.          ports, from a BASIC  program. In this way  it is possible  to
  84.          avoid the problems/shortcomings  of the BASIC  communications
  85.          handler.
  86.  
  87.            FossComm is based on  the document 'Fundamentals of  FOSSIL
  88.          implementation and use, draft  version 5, February 11,  1988'
  89.          by Rick Moor. Please make sure that your fossil driver  meets
  90.          this draft.
  91.  
  92.  
  93.            FossComm can be used with any of the following compilers :
  94.  
  95.                 MicroSoft Quickbasic 1.00, 2.00, 3.00 and 4.00, 6.00
  96.                 IBM BasCom           1.00, 2.00
  97.  
  98.  
  99.          LICENSE AND REGISTRATION
  100.          ------------------------
  101.  
  102.            FossComm is distributed  as a  'shareware' program.  Please
  103.          help me get it known by giving away unmodified copies of  the
  104.          program and documentation to other people, either by  copying
  105.          the disk  or making  it available  for downloading  on a  BBS
  106.          system.
  107.  
  108.            FossComm is copyright (C) 1988 by Daan van der Weide. It is
  109.          not public domain or free software. Non-registered users  are
  110.          granted a limited license  to use FossComm  on a trial  basis
  111.          for determining  whether  or not  it  is suitable  for  their
  112.          needs. Registration allows  the use of  FossComm in  programs
  113.          for sale and/or distribution.
  114.  
  115.            The registration fee is 50 guilders (25 US$). Users who pay
  116.          the registration  fee will  be sent  a disk  woth the  latest
  117.          version and documentation ans some example programs.
  118.  
  119.            It  is  also  possible  to  obtain  the  source  codes  for
  120.          FossComm. In that case the  registration fee is 100  guilders
  121.          (50 US$).
  122.  
  123.            Register your usage of FossComm by sending the registration
  124.          fee to :
  125.  
  126.                         Daan van der Weide
  127.                         Kastelenstraat 229-3
  128.                         1082 EG  Amsterdam
  129.                         the Netherlands
  130.  
  131.                         telephone : (0)20 463647
  132.  
  133.            Your  comments  regarding  the  FossComm  program  or   any
  134.          suggestions you  have for  extensions or  for other  programs
  135.          that would be useful to you are welcome.
  136.  
  137.          ------------------------------------------------------------
  138.          FossComm                   page 2                    FossComm
  139.          
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.            Daan van der Weide makes no warranties whatsoever regarding
  151.          the FossComm computer program or the documentation.
  152.  
  153.  
  154.          USING FOSSCOMM IN YOUR PROGRAMS
  155.          -------------------------------
  156.  
  157.            The FossComm  module contains  a number  of functions  that
  158.          handle the access of  RS232 communication boards as  provided
  159.          by a driver conform the FOSSIL standard.
  160.  
  161.            Below follows a  list of  the functions  supported and  the
  162.          parameters that should be specified, as well as the  eventual
  163.          return values. To incorporate the module within your compiled
  164.          program specify  the  name  FOSSCOMM.OBJ  when  linking  your
  165.          program. Example :
  166.  
  167.            LINK MYPROG+FOSSCOMM,MYPROG;
  168.  
  169.  
  170.          CREDITS
  171.          -------
  172.  
  173.            I would like to mention a few people who have supported and
  174.          still are supporting the development :
  175.  
  176.            Ronald Koridon who adapted RBBS 16.1a to run using FossComm
  177.          and who is my primary 'guinea-pig'; Arjen Lentz, John Janssen
  178.          sysops that are using the RBBS 16.1a FOSSIL version as  well.
  179.          the RBBS version as well  to run. (they've probably  upgraded
  180.          by now ...)
  181.  
  182.  
  183.          FEEDBACK
  184.          --------
  185.  
  186.            As you  may know,  any software  developer depends  on  his
  187.          users to  modify, adjust  and extend  his product.  Therefore
  188.          I'm very  interested  in  all  comments,  notes  and  critics
  189.          towards the  FossComm product.  I can  be reached  either  by
  190.          telephone or, better, at the RBBS system listed below.  Thank
  191.          you very much !
  192.  
  193.                               RBBS Gaasperdam (4 lines)
  194.                               sysop Ronald Koridon
  195.                               Amsterdam, the Netherlands
  196.  
  197.                               31  (0)20 978493  node 1
  198.                                         913890  node 2
  199.                                         974420  node 3
  200.                                         972763  node 4
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.          ------------------------------------------------------------
  210.          FossComm                   page 3                    FossComm
  211.          
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.          
  223.          Revision                                              history
  224.          ----------------
  225.  
  226.          v0.01
  227.  
  228.                 This is the first alpha-test version only released  to
  229.          people involved in testing.
  230.  
  231.  
  232.          v0.02
  233.  
  234.                 Extended FOSSIL calls  implemented to access  keyboard
  235.          and to do video I/O etc. Not released.
  236.  
  237.  
  238.          v0.03
  239.  
  240.                 Adaptions according  to  draft 5  are  made.  FOSSPEED
  241.          changed, so that parity, databits and the number of  stopbits
  242.          may be specified as well. The documentation is extended,  and
  243.          a number of functions was added.
  244.  
  245.          v0.04
  246.  
  247.                 I think  the product  is solid  enough to  release  it
  248.          generally, especially because there's 'official' RBBS support
  249.          for FossComm. A number of BBS  systems are running for a  few
  250.          months now without any problems.
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.          ------------------------------------------------------------
  282.          FossComm                   page 4                    FossComm
  283.          
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.          
  295.          -------------------------------------------------------------
  296.          FOSINIT
  297.          -------------------------------------------------------------
  298.  
  299.          PURPOSE :
  300.  
  301.            Initializes the  FOSSIL  driver,  and  checks  whether  the
  302.          FOSSIL driver is  installed. This function  should be  called
  303.          before any other FOS  calls are made. DTR  is raised by  this
  304.          call. The baudrate is NOT set by this call.
  305.  
  306.  
  307.          FORMAT  :
  308.  
  309.            FOSINIT(port%, result%)
  310.  
  311.  
  312.          RETURNS :
  313.  
  314.            0    no error, driver initialized
  315.           -1    error initializing driver
  316.  
  317.  
  318.          EXAMPLE :
  319.  
  320.            100 PORT% = 1
  321.            110 CALL FOSINIT(PORT%,RESULT%)
  322.            120 IF RESULT% = -1 THEN PRINT "ERROR INITIALIZING FOSSIL"
  323.  
  324.  
  325.          REMARKS :
  326.  
  327.            The number of the comport  that may be initialized  depends
  328.          on the particular  FOSSIL driver you're  using. Refer to  the
  329.          documentations of your driver for the values.
  330.  
  331.            Should a second call to  this function occur, all  buffers,
  332.          flow-contol parameters etc. are reset to their initial  state
  333.          and no error is returned.
  334.  
  335.  
  336.          -------------------------------------------------------------
  337.          FOSEXIT
  338.          -------------------------------------------------------------
  339.  
  340.          PURPOSE :
  341.  
  342.            This function should be called whenever the  communications
  343.          port in  no longer  needed. No  FOS calls  to the  particular
  344.          comport can be made anymore once this call has been made. DTR
  345.          is not affected by this call.
  346.  
  347.  
  348.          FORMAT  :
  349.  
  350.            FOSEXIT(COMPORT%)
  351.  
  352.  
  353.          ------------------------------------------------------------
  354.          FossComm                   page 5                    FossComm
  355.          
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.          -------------------------------------------------------------
  367.          FOSSPEED
  368.          -------------------------------------------------------------
  369.  
  370.          PURPOSE :
  371.  
  372.            Sets  the  baudrate   and  the   additional  line   control
  373.          parameters for  the communication  port. If  a  non-supported
  374.          baudrate is specified,  the baudrate variable  is set to  -1,
  375.          and no call to the FOSSIL drive is made.
  376.  
  377.  
  378.          FORMAT  :
  379.  
  380.            FOSSPEED(comport%, speed%, parity%, databits%, stopbits%)
  381.  
  382.            where speed% can be one of the following :
  383.  
  384.            300,600,1200,2400,4800,9600,19200,38400
  385.  
  386.            parity% can be :
  387.  
  388.            0  for    no parity
  389.            1  for   odd parity
  390.            2  for    no parity
  391.            3  for  even parity
  392.  
  393.            databits% can be :
  394.  
  395.            0  for     5 databits
  396.            1  for     6 databits
  397.            2  for     7 databits
  398.            3  for     8 databits
  399.  
  400.            stopbits% can be :
  401.  
  402.            0  for     1 stopbit
  403.            1  for    1½ stopbit if databits% = 0 i.e. 5 bits or
  404.                       2 stopbits for all other values for databits%.
  405.  
  406.  
  407.          RETURNS :
  408.  
  409.            speed% is set to -1  if an illegal baudrate was  specified,
  410.          otherwise speed% is not affected.
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.          ------------------------------------------------------------
  426.          FossComm                   page 6                    FossComm
  427.          
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.          -------------------------------------------------------------
  439.          FOSTXCHAR
  440.          -------------------------------------------------------------
  441.  
  442.          PURPOSE :
  443.  
  444.            Transmits a character using the specified port. If  there's
  445.          room in the  transmit buffer, the  return will be  immediate,
  446.          otherwise it  will wait  until  there is  room to  store  the
  447.          character in the transmit buffer.
  448.  
  449.  
  450.          FORMAT  :
  451.  
  452.            FOSTXCHAR(comport%, char%, result%)
  453.  
  454.  
  455.          REMARKS :
  456.  
  457.            For the values  of the result%  parameter, please refer  to
  458.          the description of the FOSSTATUS function.
  459.  
  460.  
  461.          -------------------------------------------------------------
  462.          FOSRXCHAR
  463.          -------------------------------------------------------------
  464.  
  465.          PURPOSE :
  466.  
  467.            If there's a character available in the receive buffer, the
  468.          character will be returned.  When no character is  available,
  469.          it will wait until one becomes available.
  470.  
  471.  
  472.          FORMAT  :
  473.  
  474.            FOSRXCHAR(comport%, char%, result%)
  475.  
  476.  
  477.          REMARKS :
  478.  
  479.            For the values  of the result%  parameter, please refer  to
  480.          the description of the FOSSTATUS function.
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.          ------------------------------------------------------------
  498.          FossComm                   page 7                    FossComm
  499.          
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.          -------------------------------------------------------------
  511.          FOSSTATUS
  512.          -------------------------------------------------------------
  513.  
  514.          PURPOSE :
  515.  
  516.            Requests status information about the state of the comport.
  517.  
  518.  
  519.          FORMAT  :
  520.  
  521.            FOSSTATUS(comport%, status%)
  522.  
  523.            status bits returned are :
  524.  
  525.            15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00      mask
  526.            -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  527.               XX XX          XX XX XX          XX
  528.                |  |           |  |  |           |
  529.                |  |           |  |  |           |
  530.                |  |           |  |  |           + bit is always set
  531.                |  |           |  |  |
  532.                |  |           |  |  +----- Carrier Detect       &H0080
  533.                |  |           |  |
  534.                |  |           |  +-------- Input data available &H0100
  535.                |  |           |
  536.                |  |           +----------- RX buffer overrun    &H0200
  537.                |  |
  538.                |  +----------------------- Room available       &H2000
  539.                |
  540.                +-------------------------- Output buffer empty  &H4000
  541.  
  542.  
  543.          -------------------------------------------------------------
  544.          FOSDTR
  545.          -------------------------------------------------------------
  546.  
  547.          PURPOSE :
  548.  
  549.            Raises or lowers the DTR signal on the specified comport.
  550.  
  551.  
  552.          FORMAT  :
  553.  
  554.            FOSDTR(comport%, state%)
  555.  
  556.            state% can be :
  557.  
  558.            0  to indicate that DTR should be lowered
  559.            1  to indicate that DTR should be raised
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.          ------------------------------------------------------------
  570.          FossComm                   page 8                    FossComm
  571.          
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.          -------------------------------------------------------------
  583.          FOSTXFLUSH
  584.          -------------------------------------------------------------
  585.  
  586.          PURPOSE :
  587.  
  588.            Forces the transmission  of all  characters that  currently
  589.          are in  the transmit  buffer. The  function does  not  return
  590.          until all characters are transmitted !!!
  591.  
  592.  
  593.          FORMAT  :
  594.  
  595.            FOSTXFLUSH(comport%)
  596.  
  597.  
  598.          -------------------------------------------------------------
  599.          FOSTXPURGE
  600.          -------------------------------------------------------------
  601.  
  602.          PURPOSE :
  603.  
  604.            This function purges all pending characters in the transmit
  605.          buffer. Any characters not transmitted are discarded.
  606.  
  607.  
  608.          FORMAT  :
  609.  
  610.            FOSTXPURGE(comport%)
  611.  
  612.  
  613.          -------------------------------------------------------------
  614.          FOSRXPURGE
  615.          -------------------------------------------------------------
  616.  
  617.          PURPOSE :
  618.  
  619.            Purges the receive  buffer. Any input  data in the  receive
  620.          buffer is discarded.
  621.  
  622.  
  623.          FORMAT  :
  624.  
  625.            FOSRXPURGE(comport%)
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.          ------------------------------------------------------------
  642.          FossComm                   page 9                    FossComm
  643.          
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.          -------------------------------------------------------------
  655.          FOSTXCHARNW
  656.          -------------------------------------------------------------
  657.  
  658.          PURPOSE :
  659.  
  660.            This function is similar to the FOSTXCHAR function,  except
  661.          that if  the  driver is  unable  to buffer  the  character  -
  662.          because the  transmit  buffer  is full  -  the  call  returns
  663.          immediately indicating the success of the call in the result%
  664.          parameter.
  665.  
  666.  
  667.          FORMAT  :
  668.  
  669.            FOSTXCHARNW(comport%, char%, result%)
  670.  
  671.            result% can be :
  672.  
  673.            0  if the character could *NOT* be transmitted
  674.            1  if the character was transmitted
  675.  
  676.  
  677.          -------------------------------------------------------------
  678.          FOSREADAHEAD
  679.          -------------------------------------------------------------
  680.  
  681.          PURPOSE :
  682.  
  683.            Peeks into  the receive  buffer and  returns the  character
  684.          that will  be  returned  upon the  next  FOSRXCHAR  call,  or
  685.          returns -1 if the receive buffer is empty.
  686.  
  687.  
  688.          FORMAT  :
  689.  
  690.            FOSREADAHEAD(comport%, char%)
  691.  
  692.            char% is -1  if the receive buffer is empty
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.          ------------------------------------------------------------
  714.          FossComm                   page 10                   FossComm
  715.          
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.          -------------------------------------------------------------
  727.          FOSFLOWCTL
  728.          -------------------------------------------------------------
  729.  
  730.          PURPOSE :
  731.  
  732.            Enables or disables the  flow control on the  transmission.
  733.          Two kinds of flow control are supported :
  734.  
  735.            15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
  736.            -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  737.                                    XX XX XX XX XX XX XX XX
  738.                                    FORCED HIGH  |  |  |  |
  739.                                                 |  |  |  |
  740.                                                 |  |  |  +-- Xon/Xoff
  741.                                                 |  |  |      on
  742.                                                 |  |  |      transmit
  743.                                                 |  |  |
  744.                                                 |  |  +----- CTS/RTS
  745.                                                 |  |
  746.                                                 |  +-------- DSR/DTR
  747.                                                 |
  748.                                                 +----------- Xon/Xoff
  749.                                                              on
  750.                                                              receive
  751.  
  752.            When the  corresponding  bit  is set,  that  type  of  flow
  753.          control is enabled.  Applications should set  the upper  four
  754.          bits in the lower nibble as well, i.e. bits 4, 5, 6 and 7.
  755.  
  756.            When the  bit is  cleared,  that type  of flow  control  is
  757.          disabled.
  758.  
  759.            Enabling Xon/Xoff on transmission will suspend transmission
  760.          upon receiving  an Xoff  character.  The FOSSIL  drives  will
  761.          resume transmission as soon as an Xon character is received.
  762.  
  763.            Enabling CTS/RTS,  will suspend  transmission when  CTS  is
  764.          lowered. As soon as CTS  is raised, transmission is  resumed.
  765.          The FOSSIL driver will drop RTS whenever a certain amount  of
  766.          the receive buffer is filled.  As soon as the receive  buffer
  767.          contains less characters  than the predetermined  percentage,
  768.          RTS is raised again.
  769.  
  770.            Enabling DSR/DTR,  will suspend  transmission when  DSR  is
  771.          lowered. As soon as DSR  is raised, transmission is  resumed.
  772.          The FOSSIL driver will drop DTR whenever a certain amount  of
  773.          the receive buffer is filled.  As soon as the receive  buffer
  774.          contains less characters  than the predetermined  percentage,
  775.          RTS is raised again.
  776.  
  777.            Enabling Xon/Xoff on receive, will cause the FOSSIL  driver
  778.          to send an Xoff  character whenever a  certain amount of  the
  779.          receive buffer is filled. An  Xon character will be sent,  as
  780.          soon as the receive buffer contains less characters than  the
  781.          predetermined percentage.
  782.  
  783.  
  784.  
  785.          ------------------------------------------------------------
  786.          FossComm                   page 11                   FossComm
  787.          
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.          FORMAT  :
  799.  
  800.            FOSFLOWCTL(comport%, state%)
  801.  
  802.  
  803.          EXAMPLES :
  804.  
  805.            state% is :
  806.  
  807.            &H00F0 to disable all flow control types
  808.            &H00F1 to enable Xon/Xoff on transmission
  809.            &H00F2 to enable CTS/RTS
  810.            &H00F4 to enable DSR/DTR
  811.            &H00F8 to enable Xon/Xoff on reception
  812.  
  813.  
  814.          -------------------------------------------------------------
  815.          FOSCTRLCK
  816.          -------------------------------------------------------------
  817.  
  818.          PURPOSE :
  819.  
  820.            Enables/disables extended  Ctrl-C/Ctrl-K  checking,  and/or
  821.          enables/disables the transmitter.
  822.  
  823.  
  824.            15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
  825.            -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  826.                                                      XX XX
  827.                                                       |  |
  828.                                                       |  +--- CtrlCK
  829.                                                       |
  830.                                                       +------ TX
  831.  
  832.            Bit 0 controls whether the extended Ctrl-K/Ctrl-C  checking
  833.          is enabled  (bit  set)  or  disabled (bit  not  set).  Bit  1
  834.          controls whether the  transmitter is  active or  not, in  the
  835.          same way Xon/Xoff characters do affect the transmitter.
  836.  
  837.            If the  extended  Ctrl-C/Ctrl-K checking  is  enabled,  any
  838.          subsequent call to this this routine will return an  internal
  839.          flag maintained by the FOSSIL driver, that indicates  whether
  840.          Ctrl-C/Ctrl-K has  been  pressed.  When  enabled,  the  Ctrl-
  841.          C/Ctrl-K character does *NOT* appear in the receive buffer.
  842.  
  843.  
  844.          FORMAT  :
  845.  
  846.            FOSCTRLCK(comport%, state%)
  847.  
  848.  
  849.          EXAMPLES :
  850.  
  851.            COMPORT% = 1
  852.            STATE% = &H0001
  853.            FOSCTRLCK(COMPORT%, STATE%)
  854.            IF STATE% AND &H0001 THEN PRINT "CTRL-C/CTRL-K RECEIVED"
  855.  
  856.  
  857.          ------------------------------------------------------------
  858.          FossComm                   page 12                   FossComm
  859.          
  860.  
  861.  
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.          -------------------------------------------------------------
  871.          FOSWDOG
  872.          -------------------------------------------------------------
  873.  
  874.          PURPOSE :
  875.  
  876.            Enables or disables 'watchdog' processing. When watchdog is
  877.          enabled, the state of  the carrier detect  (DCD) line on  the
  878.          particular comport is constantly monitored, and whenever  the
  879.          signal drops, i.e. the connection is terminated the system is
  880.          rebooted. This option is  typically used in combination  with
  881.          external  programs   shelled  from   a  main   program.   The
  882.          FOSINIT/FOSEXIT calls do *NOT* affect this monitoring.
  883.  
  884.          FORMAT  :
  885.  
  886.            FOSWDOG(comport%, state%)
  887.  
  888.            state% = 1 to enable the watchdog process
  889.            state% = 0 to disable the watchdog process
  890.  
  891.  
  892.          -------------------------------------------------------------
  893.          FOSBOOT
  894.          -------------------------------------------------------------
  895.  
  896.          PURPOSE :
  897.  
  898.            Boots the  system.  This  function  enables  a  program  to
  899.          perform either a soft- or a warmboot.
  900.  
  901.  
  902.          FORMAT  :
  903.  
  904.            FOSBOOT(type%)
  905.  
  906.            type% = 0  for a 'cold'start (incl. POST & memory tests)
  907.            type% = 1  for a 'warm'start (only DOS reboots)
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.          ------------------------------------------------------------
  930.          FossComm                   page 13                   FossComm
  931.          
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.          -------------------------------------------------------------
  943.          FOSREAD
  944.          -------------------------------------------------------------
  945.  
  946.          PURPOSE :
  947.  
  948.            Read a block of data from the receive buffer. The number of
  949.          characters  actually  transferred  is  put  into  the  BYTES%
  950.          variable after the call.
  951.  
  952.  
  953.          FORMAT  :
  954.  
  955.            FOSREAD(comport%, bytes%, buffer$)
  956.  
  957.  
  958.          EXAMPLE :
  959.  
  960.            '
  961.            'create a 32 byte buffer
  962.            '
  963.            BUF$="12345678901234567890123456789012"
  964.            '
  965.            PORT%  = 1
  966.            BYTES% = 32
  967.            '
  968.            CALL FOSREAD(PORT%, BYTES%, BUF$)
  969.            '
  970.            PRINT "BYTES READ : ";BYTES%
  971.            PRINT "DATA READ  : ";LEFT$(BUF$,BYTES%)
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.  
  999.  
  1000.  
  1001.          ------------------------------------------------------------
  1002.          FossComm                   page 14                   FossComm
  1003.          
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.          -------------------------------------------------------------
  1015.          FOSWRITE
  1016.          -------------------------------------------------------------
  1017.  
  1018.          PURPOSE :
  1019.  
  1020.            Write a block of data to the transmit buffer. The number of
  1021.          characters  actually  transferred  is  put  into  the  BYTES%
  1022.          variable after the call.
  1023.  
  1024.  
  1025.          FORMAT  :
  1026.  
  1027.            FOSWRITE(comport%, bytes%, buffer$)
  1028.  
  1029.  
  1030.          EXAMPLES :
  1031.  
  1032.            '
  1033.            'create some string
  1034.            '
  1035.            BUF$="Welcome to MailPro !"+CHR$(10)+CHR$(13)
  1036.            '
  1037.            PORT%  = 1
  1038.            BYTES% = LEN(BUF$)
  1039.            '
  1040.            CALL FOSWRITE(PORT%, BYTES%, BUF$)
  1041.            '
  1042.            PRINT "BYTES WRITTEN : ";BYTES%
  1043.  
  1044.  
  1045.          -------------------------------------------------------------
  1046.          FOSBREAK
  1047.          -------------------------------------------------------------
  1048.  
  1049.          PURPOSE :
  1050.  
  1051.            Starts or ends the transmission of a break state.
  1052.  
  1053.  
  1054.          FORMAT  :
  1055.  
  1056.            FOSBREAK(comport%, state%)
  1057.  
  1058.            state% = 1 to start a break
  1059.            state% = 0 to end a break
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066.  
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.  
  1073.          ------------------------------------------------------------
  1074.          FossComm                   page 15                   FossComm
  1075.          
  1076.  
  1077.  
  1078.  
  1079.  
  1080.  
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086.          -------------------------------------------------------------
  1087.          FOSTIMERTICK
  1088.          -------------------------------------------------------------
  1089.  
  1090.          PURPOSE :
  1091.  
  1092.            This function returns information  about the current  timer
  1093.          interrupt. It returns the interrupt number the timer is  tied
  1094.          to, the  number  of  ticks  per second,  and  the  number  of
  1095.          milliseconds per tick.
  1096.  
  1097.  
  1098.          FORMAT  :
  1099.  
  1100.            FOSTIMERTICK(Intno%, Ticks%, Msecs%)
  1101.  
  1102.  
  1103.          -------------------------------------------------------------
  1104.          FOSSCANKEY
  1105.          -------------------------------------------------------------
  1106.  
  1107.          PURPOSE :
  1108.  
  1109.            Scans the keyboard  and returns the  next character in  the
  1110.          keyboard buffer. If no characters are available a value of -1
  1111.          will be returned.
  1112.  
  1113.            The values returned will match the IBM-style of keycoding.
  1114.  
  1115.  
  1116.          FORMAT  :
  1117.  
  1118.            FOSSCANKEY(Key%)
  1119.  
  1120.  
  1121.          -------------------------------------------------------------
  1122.          FOSGETKEY
  1123.          -------------------------------------------------------------
  1124.  
  1125.          PURPOSE :
  1126.  
  1127.            Returns the next  character in the  keyboard buffer. If  no
  1128.          characters are available, the functions waits until a key  is
  1129.          pressed.
  1130.  
  1131.  
  1132.          FORMAT  :
  1133.  
  1134.            FOSGETKEY(Key%)
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140.  
  1141.  
  1142.  
  1143.  
  1144.  
  1145.          ------------------------------------------------------------
  1146.          FossComm                   page 16                   FossComm
  1147.          
  1148.  
  1149.  
  1150.  
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.          -------------------------------------------------------------
  1159.          FOSLOCATE
  1160.          -------------------------------------------------------------
  1161.  
  1162.          PURPOSE :
  1163.  
  1164.            Locates the cursor on the screen. The screen is treated  to
  1165.          have coördinates as follows :
  1166.  
  1167.          ( 0, 0)
  1168.                 +---------------------------------------------+
  1169.                 |                                             |
  1170.         |  Hello World, this is supposed to be a      |
  1171.         |  picture of a screen...              |
  1172.                 |                                             |
  1173.                 |                                             |
  1174.                 |                                             |
  1175.                 |                                             |
  1176.                 |                                             |
  1177.                 +---------------------------------------------+
  1178.                                                                (24,79)
  1179.  
  1180.          FORMAT  :
  1181.  
  1182.            FOSLOCATE(Row%, Col%)
  1183.  
  1184.  
  1185.          -------------------------------------------------------------
  1186.          FOSGETLOC
  1187.          -------------------------------------------------------------
  1188.  
  1189.          PURPOSE :
  1190.  
  1191.            Returns the current position of the cursor.
  1192.  
  1193.  
  1194.          FORMAT  :
  1195.  
  1196.            FOSGETLOC(Row%, Col%)
  1197.  
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.          ------------------------------------------------------------
  1218.          FossComm                   page 17                   FossComm
  1219.          
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.          -------------------------------------------------------------
  1231.          FOSDISPANSI
  1232.          -------------------------------------------------------------
  1233.  
  1234.          PURPOSE :
  1235.  
  1236.            Displays a character and  allows ANSI screen processing  to
  1237.          occur (if available). On DOS  machines the FOSSIL routine  to
  1238.          perform this function probably will call a DOS function to do
  1239.          the ANSI processing. Keep in  mind that DOS function are  not
  1240.          re-entrant. In such cases, this routine may not be assumed to
  1241.          be re-entrant either.
  1242.  
  1243.  
  1244.          FORMAT  :
  1245.  
  1246.            FOSDISPANSI(Char%)
  1247.  
  1248.  
  1249.          -------------------------------------------------------------
  1250.          FOSDISPBIOS
  1251.          -------------------------------------------------------------
  1252.  
  1253.          PURPOSE :
  1254.  
  1255.            Displays a charactes using the system BIOS. This means that
  1256.          DOS output redirection does not  work when this call is  used
  1257.          to produce screen output.
  1258.  
  1259.  
  1260.          FORMAT  :
  1261.  
  1262.            FOSDISPBIOS(Char%)
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.          ------------------------------------------------------------
  1290.          FossComm                   page 18                   FossComm
  1291.          
  1292.