home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol089 / syslib9.hlp < prev    next >
Encoding:
Text File  |  1985-02-10  |  6.9 KB  |  177 lines

  1. ZCPR2 Feature-Specific Utilities
  2. Initialization Routines
  3. ZCPRQ Status Routine
  4. Multiple Command Line Pointer Routine
  5. Path-Oriented File Search Routine
  6. File Status Routine
  7. :Introduction
  8.  
  9.      Thi≤ modulσ contain≤ ß serie≤ oµ routine≤ whicΦ arσ designeΣ ì
  10. t∩á allo≈ thσ programme≥ t∩ takσ advantagσ oµ ke∙ ZCPR▓á Feature≤ ì
  11. withou⌠ doinτ ß lo⌠ oµ programminτ fo≥ himself«á  Iεá particular¼ ì
  12. facilitie≤ sucΦ a≤ thσ followinτ arσ provided:
  13.  
  14.           «  Initializatioε -- Settinτ thσ locatioε oµ the
  15.                     multiple command line buffer
  16.           .  Initialization -- Defining the location of a command
  17.                     search path
  18.           .  Initialization -- Setting the current disk/user
  19.                     character definition
  20.           .  Initialization -- Setting all ZCPR2-Specific buffers
  21.                     from the standard utility buffers
  22.           .  Utility -- Returning a pointer to the first byte
  23.                     of the next command
  24.           .  Utility -- Searching for a file along the command
  25.                     search path
  26.           .  Utility -- Determining the attributes of a file
  27.  
  28. :Initialization Routines
  29.  
  30.      Routine Name:  ZINIMC
  31.      Function║
  32.           ZINIM├ define≤ thσ basσ addres≤ oµ thσ multiplσ commanΣ ì
  33. linσá buffe≥ fo≥ thσ ZCPR▓ system«á  Thσ initializatioε performeΣ ì
  34. b∙á thi≤á routinσá i≤ useΣ b∙ thσ ZMCPT╥ routinσá t∩á returεá thσ ì
  35. pointer to the first character of the next command.
  36.      Inputs:  HL = base address of multiple command line buffer
  37.      Outputs:  None
  38.      Registers Affected:  None
  39.      SYSLIB Routines Called:  None
  40.      Specia∞á Erro≥ Conditions║  None
  41.      Note║á  Iµá thi≤ routinσ i≤ no⌠ called¼á i⌠ i≤ assumeΣá tha⌠ ì
  42. multiple command lines are not supported.
  43.  
  44.  
  45.      Routine Name:  ZINIEXT
  46.      Function║
  47.           ZINIEX╘á define≤ thσ basσ addres≤ oµ ßá commanΣá searcΦ ì
  48. path«á  Thσá ZPFIN─á routinσ use≤ thi≤ basσ addres≤ t∩ star⌠á it≤ ì
  49. searcΦ fo≥ ß file«á  Notσ tha⌠ thi≤ provide≤ addeΣ flexibilit∙ iε ì
  50. tha⌠á thi≤ neeΣ no⌠ necessaril∙ bσ thσ basσ addres≤ oµ thσá ZCPR▓ ì
  51. Systeφ commanΣ searcΦ path¼ bu⌠ i⌠ ma∙ bσ thσ basσ addres≤ oµ an∙ ì
  52. path (such as a separate path to look for HLP files).
  53.      Inputs:  HL = base address of path
  54.      Outputs:  None
  55.      Registers Affected:  None
  56.      SYSLIB Routines Called:  None
  57.      Specia∞á Erro≥ Conditions║  None
  58.      Note║á  Iµá thi≤á routinσ i≤ no⌠ called¼á thσ externa∞á patΦ ì
  59. default≤ t∩ aε empt∙ path¼á s∩ n∩ harφ i≤ donσ anΣ n∩ searcΦá caε ì
  60. bσ performed.
  61.  
  62.  
  63.      Routine Name:  ZCPRSET
  64.      Function║
  65.           ZCPRSE╘á perform≤á tw∩á function≤á -- i⌠á define≤áá thσ ì
  66. characte≥ useΣ t∩ specif∙ thσ curren⌠ disδ o≥ use≥ (defaul⌠ valuσ ì
  67. i≤á $⌐ anΣ i⌠ set≤ thσ DM┴ addres≤ fo≥ disδ filσ transfer≤á (useΣ ì
  68. b∙á ZFSTAT)«á  Iµá thi≤ routinσ i≤ no⌠ called¼á theε thσá curren⌠ ì
  69. indicator is defaulted to $ and the DMA address is set to 80H.
  70.      Inputs:  A = Current Indicator, HL = DMA Address
  71.      Outputs:  None
  72.      Registers Affected:  None
  73.      SYSLIB Routines Called:  None
  74.      Specia∞á Erro≥ Conditions║  None
  75.      Note║á  Iµá thi≤á routinσ i≤ no⌠ called¼á Curren⌠á Indicato≥ ì
  76. defaults to $ and DMA Address defaults to 80H.
  77.  
  78.  
  79.      Routine Name:  ZGPINS
  80.      Function║
  81.           ZGPIN╙á initialize≤ thσ ZCPR2-Specifiπ Buffer≤ froφ thσ ì
  82. ZCPR▓á Utilit∙ StandarΣ General-Purposσ Installatioε Forma⌠á Bufì
  83. fers«á  Thi≤ i≤ t∩ bσ useΣ b∙ ZCPR▓ Utilities¼á sucΦ a≤ XDIR3¼ t∩ ì
  84. completel∙ initializσ al∞ thσ necessar∙ buffers.
  85.      Thσ buffer≤ iε thσ utilitie≤ arσ locateΣ a≤ indicateΣ iε thσ ì
  86. ZCPR▓ Utilitie≤ Manual.
  87.  
  88.      Inputs:  None
  89.      Outputs:  None
  90.      Registers Affected:  None
  91.      SYSLIB Routines Called:  MOVEB, ZINIMC, ZINIEXT, ZCPRSET,
  92.                               ZFNINIT
  93.      Specia∞á Erro≥ Conditions║  None
  94.  
  95. :ZCPRQ Status Routine
  96.  
  97.      Routine Name:  ZCPRQ
  98.      Function║
  99.           ZCPR╤á querie≤ thσ statu≤ oµ thσá SZCP╥á module¼á whicΦ ì
  100. contains these routines.  On exit, this routine returns:
  101.                HL = Base Address of External Path
  102.                DE = Base Address of Multiple Command Buffer
  103.                A = Multiple Command Available Flag (0=No)
  104.      Inputs:  None
  105.      Outputs:  HL = Base Address of External Path
  106.                DE = Base Address of Multiple Command Buffer
  107.                A = Multiple Command Available Flag (0=No)
  108.      Registers Affected:  HL, DE, A
  109.      SYSLIB Routines Called:  None
  110.      Specia∞á Erro≥ Conditions║  None
  111.  
  112. :Multiple Command Line Pointer Routine
  113.  
  114.      Routine Name:  ZMCPTR
  115.      Function║
  116.           ZMCPT╥á return≤ ß pointe≥ t∩ thσ nex⌠ characte≥ iεá thσ ì
  117. multiplσ commanΣ linσ iµ multiplσ command≤ arσ enabled«á  ┴á flaτ ì
  118. is returned which says if multiple commands are enabled or not.
  119.      Inputs:  None
  120.      Outputs:  HL pts to next char in line
  121.                A=0 and Zero Flag Set (Z) if multiple commands
  122.                     are not available; NZ otherwise
  123.      Registers Affected:  HL, PSW
  124.      SYSLIB Routines Called:  None
  125.      Specia∞á Erro≥ Conditions║  None
  126.  
  127. :Path-Oriented File Search Routine
  128.  
  129.      Routine Name:  ZPFIND
  130.      Function║
  131.           ZPFIN─á searche≤á fo≥ ß filσ alonτ thσá commanΣá searcΦ ì
  132. patΦá whosσá basσ addres≤ wa≤ defineΣ wheε thσ programme≥á calleΣ ìèZINIEXT«á  I⌠á log≤ int∩ eacΦ disδ anΣ use≥ areß alonτ thσá path¼ ì
  133. lookinτ fo≥ thσ filσ whosσ FC┬ i≤ pteΣ t∩ b∙ DE¼á unti∞ i⌠ eithe≥ ì
  134. find≤á thσ filσ o≥ reache≤ thσ enΣ oµ thσ patΦ (filσ no⌠á found)«  ì
  135. Iµ thσ filσ i≤ found¼á i⌠ return≤ thσ disδ anΣ use≥ areß iε whicΦ ì
  136. thσ filσ resides«á  ZPFIN─ alway≤ return≤ thσ proces≤ t∩ thσ disδ ì
  137. and user area it is "currently" logged into.
  138.  
  139.      Inputs:  DE pts to the FCB of the file to find
  140.               B is a flag; if B <> 0, search the current disk and
  141.                     user area first; if B=0, do not search the
  142.                     current disk and user area first
  143.  
  144.  
  145. ZPFIND, Con't
  146.  
  147.      Outputs:  Zero Flag Clear (NZ) and A=0FFH if file found
  148.                B = Disk (B=0 if Disk A), C=User if file found
  149.                Zero Flag Set (Z) and A=0 if file not found
  150.  
  151.      Registers Affected:  BC, PSW
  152.  
  153.      SYSLIB Routines Called:  BDOS
  154.  
  155.      Specia∞á Erro≥ Conditions║  None
  156.  
  157. :File Status Routine
  158.  
  159.      Routine Name:  ZFSTAT
  160.      Function║
  161.           ZFSTA╘á determine≤á thσ attribute≤ oµ thσ filσá iεá thσ ì
  162. curren⌠ disδ anΣ use≥ areß whosσ FC┬ i≤ pteΣ t∩ b∙ DE«á  I⌠ tell≤ ì
  163. the programmer if the file is SYSTEM or not and READ/ONLY or not.
  164.      Inputs:  DE pts to FCB of file
  165.      Outputs:  B=0 means file is NOT System, B<>0 means file is
  166.                C=0 means file is NOT R/O, C<>0 means file is
  167.                Zer∩ Flaτ Se⌠ (Z⌐ anΣ A=░ iµ filσ founΣ anΣ BC
  168.                     valid, and Zero Flag Clear (NZ) if file not
  169.                     found
  170.      Registers Affected:  BC, PSW
  171.      SYSLIB Routines Called:  BDOS
  172.      Specia∞á Erro≥ Conditions║  None
  173.      Note:  ZFSTAT does NOT do a search.
  174.  
  175.  
  176.  
  177.