home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c070 / 1.ddi / TOOLS.1 / README.DOC < prev   
Encoding:
Text File  |  1989-03-31  |  27.7 KB  |  661 lines

  1.  
  2.  
  3. Turbo C TOOLS/2.0                                                Version 6.00
  4.  
  5.  
  6.                              Turbo C TOOLS/2.0
  7.  
  8.                                Version 6.00
  9.                               March 31, 1989
  10.  
  11.  
  12. This document provides information on the installation and  use  of  Turbo  C
  13. TOOLS/2.0.  It should be used as a supplement to the manual.  Please read the 
  14. Introduction  and  "Using  Turbo C TOOLS" in the manual.  Then read this file
  15. for information specific to your C compiler and to this version  of  Turbo  C
  16. TOOLS.  
  17.  
  18. Copyright (C) Blaise Computing Inc. 1989.  All rights reserved.  
  19.  
  20. The  PACKING.LST  file  lists  the  files  supplied  and  the  diskettes  and
  21. subdirectories where they reside.  
  22.  
  23.                            OUTLINE OF THIS FILE
  24.  
  25. Compiler Versions and Memory Models Supported
  26. Manual Changes
  27. Warnings and Usage Notes
  28. Troubleshooting
  29. Extracting the Source Code
  30. Printing the Source Code
  31. Removing Tabs From the Source Code
  32. Rebuilding the Libraries
  33. Rebuilding the Sample Programs
  34. C and Assembly Modules and Macros
  35. Construction Notes
  36.  
  37.                COMPILER VERSIONS AND MEMORY MODELS SUPPORTED
  38.  
  39. This version of Turbo C TOOLS supports Turbo C versions 1.00, 1.50, and 2.00.  
  40. For information about later versions of  the  Turbo  C  compiler,  check  the
  41. bulletins enclosed with Turbo C TOOLS or contact Blaise Computing.  
  42.  
  43. Tiny  (T)  model:   Turbo  C  TOOLS  does not officially support the T model.
  44. However, many  modules  in  the  S  model  library  (TCT_T2S.LIB)  will  work
  45. correctly in T model programs.  
  46.  
  47. Huge (H) model:  For many programs using the H model, you can use the L model 
  48. library  (TCT_T2L.OBJ),  especially  if  they  contain  no  interrupt service
  49. routines (ISRs) or intervention code.  However, if you need support for  data
  50. objects  larger  than  65,535  bytes  or  if  your program malfunctions, then
  51. recompile the  library  using  the  H  memory  model.   See  "Rebuilding  the
  52. Libraries" below.  
  53.  
  54. The following files are specific to particular memory models.  The same files 
  55. support  Turbo  C versions 1.00, 1.50, and 2.00, with a few exceptions listed
  56. below under "Warnings and  Usage  Notes".   The  columns  of  the  table  are
  57. explained below.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64. Blaise Computing Inc.         March 31, 1989                          Page  1
  65.  
  66.  
  67.  
  68.  
  69. Turbo C TOOLS/2.0                                                Version 6.00
  70.  
  71.  
  72.                                "Native                   "No Mouse
  73.    Memory Model  Library       Windows"   COMPILER.MAC    Support"
  74.    ------------  -----------  ----------  ------------  ------------
  75.    S             TCT_T2S.LIB  NW_T2S.OBJ  COMP_T2S.MAC  BNOMOUSE.OBJ
  76.    M             TCT_T2M.LIB  NW_T2M.OBJ  COMP_T2M.MAC  BNOMOUSE.OBJ
  77.    C             TCT_T2C.LIB  NW_T2C.OBJ  COMP_T2C.MAC  BNOMOUSE.OBJ
  78.    L             TCT_T2L.LIB  NW_T2L.OBJ  COMP_T2L.MAC  BNOMOUSE.OBJ
  79.  
  80. Memory  Model:   This  affects the maximum data and code size in your program
  81.    and the nature of data and code  pointers.   In  the  Turbo  C  Integrated
  82.    Environment   (TC.EXE),   the   memory   model   is   specified   via  the
  83.    Options/Compiler/Model switch; the default is S model unless  you  save  a
  84.    different  configuration.   With  the  command-line version (TCC.EXE), the
  85.    memory model is specified via the /m command line switch; the default is S 
  86.    model.  
  87. Library:  These files are precompiled versions  of  all  the  Turbo  C  TOOLS
  88.    functions.   To  link  them into your programs, specify the proper library
  89.    file on the compiler or linker command line or in your project file.  
  90. "Native Windows" file:   Programs  linked  with  this  optional  object  file
  91.    coordinate all their Turbo C TOOLS window operations with the Turbo C text 
  92.    window.   This  object  file requires Turbo C version 1.50 or later.  Read
  93.    the section on "Turbo C's Text Window" in the chapter on window  functions
  94.    (prefix WN).  
  95. COMPILER.MAC  file:   This  specifies  the  memory  model for Turbo C modules
  96.    written in assembly language.  If you reassemble  any  Turbo  C  assembler
  97.    modules, first copy the correct file to COMPILER.MAC.  
  98. "No  Mouse  Support"  file:   Programs linked with BNOMOUSE.OBJ are prevented
  99.    from including the mouse functions MOCHECK, MOHIDE, and MOPRECLK.  If your 
  100.    program uses menus, WNREAD, or the help system, and if you don't  want  to
  101.    use  the  mouse,  then  linking  with  BNOMOUSE.OBJ will make your program
  102.    slightly smaller.  Notice that the same  BNOMOUSE.OBJ  file  supports  all
  103.    memory models.  
  104.  
  105.                               MANUAL CHANGES
  106.  
  107. The  following are important changes to the manual.  The changes have already
  108. been made in the online reference database.  
  109.  
  110. Pages 36 (WNEXAMPL.C) and 54 (MNEXAMPL.C) -- The constants CYAN  and  MAGENTA
  111.    should be replaced by SC_CYAN and SC_MAGENTA, respectively.  
  112. Page 60 -- The MN_NOWRAP action bit has been added.  Its bit value is 0x4000.  
  113.    It  has  the  effect  of  suppressing  wraparound  for the MN_UP, MN_DOWN,
  114.    MN_RIGHT, MN_LEFT, MN_NEXT, and MN_PREVIOUS motions.  
  115.  
  116.    The following motions have been added:  
  117.  
  118.       Symbol      Value  Motion
  119.       ----------  -----  ------------------------------------------
  120.       MN_PGUP     0x00a  Move upward    the height of the viewport.
  121.       MN_PGDN     0x00b  Move downward  the height of the viewport.
  122.       MN_PGRIGHT  0x00c  Move rightward the width  of the viewport.
  123.       MN_PGLEFT   0x00d  Move leftward  the width  of the viewport.
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130. Blaise Computing Inc.         March 31, 1989                          Page  2
  131.  
  132.  
  133.  
  134.  
  135. Turbo C TOOLS/2.0                                                Version 6.00
  136.  
  137.  
  138. Page 61 -- The following default key assignments have been added:  
  139.  
  140.       Keystroke          ASCII value  Key code  Action(s)    Motion
  141.       ----------------   -----------  --------  ---------    -----------
  142.       PgUp                    0          73                  MN_PGUP
  143.       PgDn                    0          81                  MN_PGDN
  144.       Ctrl-right arrow        0         116                  MN_PGRIGHT
  145.       Ctrl-left arrow         0         115                  MN_PGLEFT
  146.       
  147.       Enhanced Keyboard:
  148.       
  149.       PgUp                  224          73                  MN_PGUP
  150.       PgDn                  224          81                  MN_PGDN
  151.       Ctrl-right arrow      224         116                  MN_PGRIGHT
  152.       Ctrl-left arrow       224         115                  MN_PGLEFT
  153.       Enter                  13         224                  MN_TRANSMIT
  154.  
  155. Page 75 -- The sample help source file  you  should  study  is  SHOWHELP.TXT.
  156.    SHOWHELP.HLP is its binary version.  
  157. Page  126 -- To use malloc() inside a TSR program, you can use a new function
  158.    called ISRESERV instead of the cumbersome method described in the  manual.
  159.    Read the description of ISRESERV in the ISRESERV.DOC file or in the online 
  160.    reference database.  
  161.  
  162.    ISRESERV  is useful for the near heap in the T, S, and M memory models and
  163.    the far heap in the C, L, and H models.  To reserve space on the far  heap
  164.    in  the  T, S, and M models, create a new function based on ISRESERV.C and
  165.    in the new function replace  malloc()  and  free()  with  farmalloc()  and
  166.    farfree(), respectively.  
  167. Page  156 (EDFIELD) -- There is an additional fifth argument:  "pfinal".  The
  168.    calling sequence now is:  
  169.  
  170.       int edfield(const char       *pinitstr,
  171.                   char             *pretstr,
  172.                   int               retsize,
  173.                   const ED_CONTROL *pctrl,
  174.                   KEY_SEQUENCE     *pfinal);
  175.  
  176.    "pfinal" is the address of a  structure  in  which  to  report  the  final
  177.    keystroke, or NIL if no report is desired.  
  178. Pages  183  (HLDISP)  and 190 (HLREAD) -- If the "pfinal" argument is the NIL
  179.    pointer, then no information is returned via "pfinal",  and  the  returned
  180.    value  of  the  function  is always NIL, regardless of whether an error is
  181.    detected.  
  182. Pages 231 (KBQUERY) and 467 (WNQUERY) -- The  value  returned  in  *pkey  has
  183.    changed:   now  it  is  always the key code (scan code) of the terminating
  184.    keystroke.  The value of the function is always the character code of  the
  185.    terminating keystroke.  
  186. Pages  254  (MNDSTROY)  and  480  (WNREMOVE) -- When setting the Turbo C text
  187.    window to the entire screen, the text color is not changed.  Therefore the 
  188.    text color may remain the same as the last selected window.  
  189. Page 371 (STPEXPAN)  --  None  of  its  arguments  should  have  the  "const"
  190.    modifier.  
  191. Page  412 (UTSQZSCN) -- The data type of the "psource" argument is now "const
  192.    char far *".  
  193.  
  194.  
  195.  
  196. Blaise Computing Inc.         March 31, 1989                          Page  3
  197.  
  198.  
  199.  
  200.  
  201. Turbo C TOOLS/2.0                                                Version 6.00
  202.  
  203.  
  204. Page 421 (UTUNSQZ) -- The data type of the "psource" argument is  now  "const
  205.    char *".  
  206. Page  454  (WNFIELD)  -- WNFIELD returns an immediate error if any portion of
  207.    the window's viewport is covered by  any  other  viewport.   There  is  an
  208.    additional sixth argument:  "pfinal".  The calling sequence now is:  
  209.  
  210.       int wnfield(BWINDOW          *pwin,
  211.                   const char       *pinitstr,
  212.                   char             *pretstr,
  213.                   int               retsize,
  214.                   const ED_CONTROL *pctrl,
  215.                   KEY_SEQUENCE     *pfinal);
  216.  
  217.    "pfinal"  is  the  address  of  a  structure  in which to report the final
  218.    keystroke, or NIL if no report is desired.  
  219. Page 472 (WNREAD) -- A new argument called  "pfinal"  has  been  added.   The
  220.    calling sequence is now as follows:  
  221.  
  222.       WN_EVENT *wnread(BWINDOW      *pwin,
  223.                        const WHERE  *pwhere,
  224.                        int           view_ht, int view_wid,
  225.                        int           org_row, int org_col,
  226.                        const BORDER *pbord,
  227.                        WN_EVENT     *pfinal,
  228.                        int           option);
  229.  
  230.    "pfinal"  is  the  address  of  a structure to receive a copy of the final
  231.    event the user performed, or NIL if no  copy  is  desired.   The  returned
  232.    value  of  the function is also changed:  it is a copy of "pfinal", or NIL
  233.    if failure.  
  234. Page 533 -- Change in behavior for global variable  b_ega:   After  you  call
  235.    SCEQUIP,  the  b_ega global variable will contain the value SC_ABSENT (-2)
  236.    if a Video Graphics Array (VGA) or  PS/2  Display  Adapter  is  installed.
  237.    Under Turbo C TOOLS version 5, b_ega would contain SC_MONO (0) or SC_COLOR 
  238.    (1)  if  a  VGA  was  present  because  the  VGA  emulates  all  the EGA's
  239.    functionality.  
  240. Page 534  --  Internal  functions  with  changed  calling  sequences  include
  241.    MNTRUNC, WNNUPBLK, WNPIMBLK, and WNPUTIMG.  
  242. Page 538 -- The "EB" notation marks new keystrokes that are translated by the 
  243.    traditional  BIOS  services into their traditional equivalents, as well as
  244.    keystrokes that are discarded by the traditional BIOS services.  
  245. Page 556 -- The  global  variables  b_mnmohoriz  and  b_mnmovert  report  the
  246.    character  column  and row (respectively) where the final mouse event took
  247.    place under MNREAD or MNLREAD.  They are expressed in terms  of  character
  248.    cells,  not  pixels.   They  contain  0xffff  if  the  final  event  was a
  249.    keystroke.  
  250. Page 562 -- New internal function:  WNSETATR sets the Turbo C  text  window's
  251.    attribute.  
  252.  
  253.                          WARNINGS AND USAGE NOTES
  254.  
  255. STACK  CHECKING IN ISRs -- Stack overflow checking is not permitted in either
  256.    interrupt service routines (ISRs) or intervention functions in the  T,  S,
  257.    and  M memory models of Turbo C version 2.00 and later.  Stack checking is
  258.    also  prohibited  in  all  functions  called  by  the  affected  ISRs  and
  259.    intervention functions.  (Note:  Stack checking occurs only if you set the 
  260.  
  261.  
  262. Blaise Computing Inc.         March 31, 1989                          Page  4
  263.  
  264.  
  265.  
  266.  
  267. Turbo C TOOLS/2.0                                                Version 6.00
  268.  
  269.  
  270.    O/C/Code/Test Stack  option (in the Integrated Environment) or specify the
  271.    -N command line option when compiling your program.) 
  272. FLPROMPT AND MOCHECK UNDER TURBO C 1.0 -- If your program  uses  FLPROMPT  or
  273.    MOCHECK  under  Turbo  C version 1.0, then you should recompile FLPROMPT.C
  274.    and/or MOCHECK.C under version  1.0  and  link  with  the  resulting  .OBJ
  275.    file(s).   (MOCHECK  is used to detect mouse clicks and is used in HLDISP,
  276.    HLREAD, MNREAD, and WNREAD.   MOCHECK  is  suppressed  if  you  link  with
  277.    BNOMOUSE.OBJ.) 
  278. INTERVENTION  CODE ON DOS VERSION 2 -- Please read "Foreground and Background
  279.    Programs and Their Privileges" on page 122 of the Turbo C TOOLS  Reference
  280.    Manual.   The  intervention  scheduler does not set the current process on
  281.    DOS version 2.  Therefore, intervention functions in  background  programs
  282.    on  DOS  version  2 should avoid DOS memory allocation.  In addition, they
  283.    should open and reclose their files each time they are invoked.  
  284. INTERVENTION CODE ON NON-IBM VERSIONS OF DOS -- If  you  specify  IV_DOS_NEED
  285.    when  installing  an  intervention  function,  the scheduler will postpone
  286.    invoking the intervention function if an interrupt 0x24  (critical  error)
  287.    is  in  progress.   The  location  of  the interrupt 0x24 busy flag varies
  288.    between different versions of DOS.   If  you  encounter  a  problem  using
  289.    intervention  code  on  a  non-IBM  version  of DOS, please contact Blaise
  290.    Computing.  
  291. SCROLLING MONOCHROME DISPLAY PAGES  --  The  BIOS  scroll  function  normally
  292.    obtains  the  attribute  for  the new blank rows by examining the previous
  293.    location of the cursor.  The Enhanced Graphics Adapter  supports  multiple
  294.    display  pages  on  the  Monochrome  Display.  On monochrome display pages
  295.    beyond page 0, BIOS scrolling works improperly in that  the  attribute  of
  296.    the  new  blank  rows  is obtained from page 0 instead of the active page.
  297.    This affects SCTTYWIN, SCTTYWRT, and VISCROLL.  
  298.  
  299.                               TROUBLESHOOTING
  300.  
  301. Please also read Appendix A in the manual.  Here are some additional symptoms 
  302. and explanations to consider when diagnosing problems:  
  303.  
  304. Abnormal program termination.  
  305.    This can occur if the startup module cannot allocate sufficient space  for
  306.    the stack and the near heap.  If you are initializing the global variables 
  307.    "_stklen" and "_heaplen", try smaller values.  
  308. Text appears in incorrect color.  
  309.    When  MNDSTROY  and  WNREMOVE  set  the  Turbo C text window to the entire
  310.    screen, they do not change the text color.  Therefore text  later  emitted
  311.    via  the  Turbo  C  text  window functions may have the colors of the last
  312.    selected window.  
  313. Asynch overruns during mouse operations.  
  314.    Since the Microsoft mouse operates via hardware interrupts, it is possible 
  315.    that mouse movements and button presses and releases  will  cause  overrun
  316.    errors during the arrival of data at the serial ports.  First test whether 
  317.    overruns  occur  without  the use of Turbo C TOOLS.  The internal function
  318.    MOCATCH disables  interrupts  for  a  significant  period  of  time;  this
  319.    function  is  installed  when  you use HLDISP, HLREAD, MOCHECK, MNREAD, or
  320.    WNREAD.  If overruns are a severe problem, contact Blaise Computing.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328. Blaise Computing Inc.         March 31, 1989                          Page  5
  329.  
  330.  
  331.  
  332.  
  333. Turbo C TOOLS/2.0                                                Version 6.00
  334.  
  335.  
  336.                         EXTRACTING THE SOURCE CODE
  337.  
  338. The  source  code  for  the  library  is  supplied  in  the   form   of   two
  339. self-extracting  archive  programs:   TCTSRC1.EXE  and TCTSRC2.EXE.  The full
  340. contents of both files are listed in the PACKING.LST file.  
  341.  
  342. To extract the contents of either file, set the current drive  and  directory
  343. to the drive and directory where you want to put the files.  Then execute the 
  344. self-extracting archive program, as in the following example:  
  345.  
  346.    a:tctsrc1
  347.  
  348. To extract only a selection of the files in an archive, you can use ambiguous 
  349. filenames,  as  in  the following example, which extracts all the source code
  350. for the window (WN) functions:  
  351.  
  352.    a:tctsrc2 wn*.*
  353.  
  354.  
  355.                          PRINTING THE SOURCE CODE
  356.  
  357. The CONCAT.COM utility for printing the  source  code  is  described  in  the
  358. manual's  chapter  on "Using Turbo C TOOLS".  As an additional aid, lists are
  359. provided for each category of source files.  For  example,  the  ST.FIL  file
  360. lists  all  the source files for the string (ST) functions.  You can use this
  361. file when formatting all the ST files as follows:  
  362.  
  363.    concat st.prt <st.fil
  364.  
  365.  
  366.                     REMOVING TABS FROM THE SOURCE CODE
  367.  
  368. The source modules were saved with consecutive blank spaces compressed to tab 
  369. characters, with tab stops every eight characters.  The EXPAND.COM utility is 
  370. provided to expand the tabs back to blank spaces if you  wish.   It  is  also
  371. useful for removing tabs from help source files.  
  372.  
  373. EXPAND  is a filter:  it obtains its input from the standard input device and
  374. writes  its  output  to  standard  output.   Therefore  you  can  use  it  by
  375. redirecting standard input and output, as in the following example:  
  376.  
  377.    expand <wnexampl.c >wnexampl.ntb
  378.  
  379. The  resulting  file  WNEXAMPL.NTB  has tab characters expanded to strings of
  380. blanks.  
  381.  
  382.                          REBUILDING THE LIBRARIES
  383.  
  384. A batch file, BUILDLIB.BAT, and  a  librarian  response  file,  LIBRESP,  are
  385. provided  to  make  it  easy to reconstruct the Turbo C TOOLS libraries.  The
  386. batch file makes a number of assumptions.  If these are not  appropriate  for
  387. your  environment, you should alter the batch file to match your system.  The
  388. assumptions are:  
  389.  
  390.    All source files (.C and .ASM) and the LIBRESP file  are  in  the  current
  391.       directory; 
  392.  
  393.  
  394. Blaise Computing Inc.         March 31, 1989                          Page  6
  395.  
  396.  
  397.  
  398.  
  399. Turbo C TOOLS/2.0                                                Version 6.00
  400.  
  401.  
  402.    BEGINASM.MAC and COMP_T2?.MAC are in the MAC subdirectory; 
  403.    The C language header files (.H) are in the \TURBOC\INCLUDE directory; 
  404.    The   Turbo   C  command-line  compiler  (TCC.EXE),  the  Turbo  Assembler
  405.       (TASM.EXE), and the  Turbo  Librarian  (TLIB.EXE)  are  either  in  the
  406.       current  directory  or in one of the directories specified in the PATH=
  407.       environment entry.  
  408.  
  409. BUILDLIB is invoked with the command 
  410.  
  411.    buildlib model
  412.  
  413. where "model" is either s, m, c, l, or h (in  lower  case)  to  indicate  the
  414. memory  model.   The  batch file compiles and assembles all source modules by
  415. category (to make it easy for you to recompile  just  some  categories),  and
  416. then   invokes  the  librarian  to  create  the  library.   For  example,  to
  417. reconstruct the small memory model library, issue the command 
  418.  
  419.    buildlib s
  420.  
  421.  
  422.                       REBUILDING THE SAMPLE PROGRAMS
  423.  
  424. The MAKEXPLS file is designed for use with the Turbo MAKE utility to  rebuild
  425. the eighteen sample programs.  It makes the following assumptions:  
  426.  
  427.    The sample program source files are in the current directory.  
  428.    All  Turbo  C  and  Turbo  C TOOLS header files are in the \TURBOC\INCLUDE
  429.       directory.  
  430.    All libraries are in the \TURBOC\LIB directory.  
  431.    The  Turbo  C  command-line  compiler  (TCC.EXE)  and  the  Turbo   Linker
  432.       (TLINK.EXE)  are  either  in  the  current  directory  or in one of the
  433.       directories listed in the PATH= environment entry.  
  434.    For rebuilding TCWIN.EXE, the batch file MAKTCWIN.BAT must  be  either  in
  435.       the  current directory or in one of the directories listed in the PATH=
  436.       environment entry; also the proper  NW_T2?.OBJ  file  must  be  in  the
  437.       \TURBOC\LIB directory.  
  438.  
  439. Invoke  the  make  file  by issuing the following command to rebuild a single
  440. example program 
  441.  
  442.    make -fmakexpls mnexampl.exe
  443.  
  444. or the following command to rebuild all eighteen:  
  445.  
  446.    make -fmakexpls
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460. Blaise Computing Inc.         March 31, 1989                          Page  7
  461.  
  462.  
  463.  
  464.  
  465. Turbo C TOOLS/2.0                                                Version 6.00
  466.  
  467.  
  468.                      C AND ASSEMBLY MODULES AND MACROS
  469.  
  470. The following tables list which functions are  implemented  in  C,  which  in
  471. assembly  language,  and  which  are macros defined in the header files.  The
  472. tables also list certain anomalous source files.  
  473.  
  474. The following functions are implemented as ordinary C functions, each in  its
  475. corresponding .C file:  
  476.  
  477.    edbase    isprep    mnhilit0  mospeed   scttywin  wnchgevn  wnremevn
  478.    edbuffer  isremove  mnhilite  mostat    scttywrt  wncover   wnremove
  479.    edchgkey  isreserv  mnitem    prcancel  scwrap    wncreat0  wnresprv
  480.    edinitky  issense   mnitmkey  prerror   scwrite   wncurmov  wnretevn
  481.    edreduce  ivdetect  mnkey     prgetq    stpcvt    wncurpos  wnretinf
  482.    edremkey  ivdisabl  mnlitem   prinstld  stpexpan  wncurset  wnrevupd
  483.    edretinf  ivinstal  mnlitkey  prspool   stpjust   wncursor  wnscrblk
  484.    edretkey  ivsense   mnmchitm  scapage   stptabfy  wncurtrk  wnscrlbr
  485.    edsetcur  ivvecs    mnmchkey  scattrib  stpxlate  wndstroy  wnscroll
  486.    edwrap    kbequip   mnmouse   scblink   stschind  wnerror   wnseldev
  487.    edwrrect  kbextend  mnmstyle  scborder  utansi    wnforget  wnselect
  488.    edzapkey  kbflush   mnread    scbox     utcrit    wngetimg  wnsetbuf
  489.    fldolock  kbgetkey  mnvalmn0  scchgdev  utctlbrk  wngetopt  wnsetcur
  490.    flflush   kbkcflsh  mnvdisp   scclrmsg  utgetclk  wnhide    wnsetopt
  491.    flgetdta  kbpoll    moavoid   sccurset  utmovmem  wnhoriz   wnshoblk
  492.    fllock    kbquery   mobutton  sccurst   utnulchk  wninitev  wnunhide
  493.    flnorm    kbqueue   mocheck   scequip   utsafcpy  wnneedup  wnupdate
  494.    flprompt  kbset     mocurmov  scgetvid  utsleep   wnnupblk  wnvalev0
  495.    flputdta  kbstuff   moequip   scmode    utspkr    wnorigin  wnvalno0
  496.    flremvol  kbwait    mogate    scmode4   utsqzscn  wnovrlap  wnvalwi0
  497.    flretvol  mmctrl    mogetmov  scnewdev  uttim2tk  wnpgadd   wnvdisp
  498.    flsetvol  mmfirst   mograph   scpages   uttk2tim  wnpgrem   wnwrap
  499.    hlclose   mmsize    mohandlr  scpal1    utunsqz   wnpimblk  wnwrbuf
  500.    hldisp    mnatr     mohard    scpalett  viatrect  wnpoll    wnwrrect
  501.    hlfrindx  mncreat0  mohide    scpclr    vihoriz   wnprintf  wnwrstrn
  502.    hllookup  mndefkey  moinst    scpgcur   viptr     wnputbor  wnwrttyx
  503.    hlopen    mndisabl  mojump    scread    virdsect  wnputsen  wnzapevn
  504.    hlpas2c   mndlitms  molitpen  screstpg  viscroll  wnquery   wnzapsen
  505.    hlread    mndlkeys  mopreclk  scrows    viwrsect  wnrdbuf
  506.    iscurprc  mndstroy  morange   scsavepg  wnatrblk  wnread
  507.    isinstal  mnfindsl  mosoft    scsetvid  wnatrstr  wnredraw
  508.  
  509. The  following  functions  are  implemented in assembly language, each in its
  510. corresponding .ASM file:  
  511.  
  512.    iscall    ivctrl    kbready   utamove   utmodel
  513.    isdispat  kbplace   mocatch   utintflg  vidirec0
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526. Blaise Computing Inc.         March 31, 1989                          Page  8
  527.  
  528.  
  529.  
  530.  
  531. Turbo C TOOLS/2.0                                                Version 6.00
  532.  
  533.  
  534. The following routines are implemented as macros, defined in the header files 
  535. shown here:  
  536.  
  537.    Macro     Definition  |  Macro       Definition  |  Macro     Definition
  538.    --------  ----------  |  ----------  ----------  |  --------  ----------
  539.    edfield   bedit.h     |  utdosmajor  butil.h     |  utpokeb   butil.h
  540.    isgetvec  bintrupt.h  |  utdosminor  butil.h     |  utpoken   butil.h
  541.    isputvec  bintrupt.h  |  utdosrdy    butil.h     |  utpokew   butil.h
  542.    isresext  bintrupt.h  |  utdosver    butil.h     |  utpspseg  butil.h
  543.    kbscanof  bkeybrd.h   |  uthibyte    butil.h     |  utrange   butil.h
  544.    kbstatus  bkeybrd.h   |  uthinyb     butil.h     |  utseg     butil.h
  545.    max       butil.h     |  uthiword    butil.h     |  utsign    butil.h
  546.    min       butil.h     |  utinp       butil.h     |  utskip    butil.h
  547.    mncreate  bmenu.h     |  utintoff    butil.h     |  utsound   butil.h
  548.    mndsplay  bmenu.h     |  utinton     butil.h     |  utspkoff  butil.h
  549.    mnlread   bmenu.h     |  utlobyte    butil.h     |  utspkon   butil.h
  550.    moreset   bmouse.h    |  utlonyb     butil.h     |  uttofar   butil.h
  551.    prchar    bprint.h    |  utlowlim    butil.h     |  uttofaru  butil.h
  552.    prinit    bprint.h    |  utloword    butil.h     |  utuplim   butil.h
  553.    prstatus  bprint.h    |  utmax       butil.h     |  utwdlong  butil.h
  554.    scclrmsg  bscreens.h  |  utmin       butil.h     |  vidspmsg  bvideo.h
  555.    scpage    bscreens.h  |  utnorm      butil.h     |  virdrect  bvideo.h
  556.    utabs     butil.h     |  utnybbyt    butil.h     |  viwrrect  bvideo.h
  557.    utalarm   butil.h     |  utoff       butil.h     |  wnattr    bwindow.h
  558.    utalloc   butil.h     |  utoutp      butil.h     |  wncreate  bwindow.h
  559.    utbound   butil.h     |  utpeekb     butil.h     |  wndsplay  bwindow.h
  560.    utbyword  butil.h     |  utpeekn     butil.h     |  wnfield   bwindow.h
  561.    utchknil  butil.h     |  utpeekw     butil.h     |  wnwrstr   bwindow.h
  562.    utcopy    butil.h     |  utplong     butil.h     |  wnwrtty   bwindow.h
  563.  
  564. The following functions do not have their own source files, but  are  defined
  565. in the source files shown here:  
  566.  
  567.    Function  Defined     |  Function  Defined
  568.    --------  ----------  |  --------  ----------
  569.    b_vidcpy  scnewdev.c  |  ivdisk    ivctrl.asm
  570.    ivbiosky  ivctrl.asm  |  ivdos     ivctrl.asm
  571.    ivcbreak  ivctrl.asm  |  ividle    ivctrl.asm
  572.    ivcom1    ivctrl.asm  |  ivkeybd   ivctrl.asm
  573.    ivcom2    ivctrl.asm  |  ivtimer   ivctrl.asm
  574.  
  575. The following source files are not named for any individual function:  
  576.  
  577.    BNOMOUSE.ASM defines substitute versions of MOCHECK, MOHIDE, and MOPRECLK.  
  578.       See  the  section  "Excluding  Mouse  Support"  in the chapter on mouse
  579.       support functions (prefix MO).  
  580.    NW.C  defines  versions  of  WNCHKDM,  WNCMOVE,  WNGETATR,  WNSETATR,  and
  581.       WNSETWIN  that  make contact with the Turbo C text window.  NW.C is the
  582.       source module for the NW_T2?.OBJ files.  
  583.    WNNATVWN.C defines versions of WNCHKDM, WNCMOVE, WNGETATR,  WNSETATR,  and
  584.       WNSETWIN  that  do  not  use the Turbo C text window.  It is the source
  585.       file for the WNNATVWN.OBJ modules in the libraries.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592. Blaise Computing Inc.         March 31, 1989                          Page  9
  593.  
  594.  
  595.  
  596.  
  597. Turbo C TOOLS/2.0                                                Version 6.00
  598.  
  599.  
  600.  
  601. The following source files define no functions:  
  602.  
  603.    KBSCANOF.C defines the  b_keycod[]  array,  which  is  referenced  by  the
  604.       KBSCANOF macro.  
  605.    MOVARS.C  defines the global variables b_mocatch, b_modispat, b_mohanmask,
  606.       and b_momask.  
  607.    SCPAGE.C defines the b_curpage global variable, which is referenced by the 
  608.       SCPAGE macro.  
  609.  
  610.                             CONSTRUCTION NOTES
  611.  
  612. All C modules and example programs were compiled  with  version  2.0  of  the
  613. Turbo  C  command-line  compiler  (TCC)  using  the  following  switches:  -c
  614. (compile only), -m (memory model), -O (optimize jumps), and  -w  (enable  all
  615. warnings).   All  assembler  modules  were  assembled with version 1.0 of the
  616. Turbo Assembler (TASM) using the /mx and /w+ switches.   The  libraries  were
  617. built  with  version  2.0  of the Turbo Librarian (TLIB) using the /0 switch.
  618. (The /0 librarian  switch  omits  unnecessary  debugging  and  autodependency
  619. information.) 
  620.  
  621. The example programs were linked with TLINK version 2.0 using no switches.  
  622.  
  623.  
  624. (For a list of supplied files and the diskettes and subdirectories where they 
  625. reside, see the PACKING.LST file.) 
  626.  
  627.                          === End of README.DOC ===
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658. Blaise Computing Inc.         March 31, 1989                          Page 10
  659.  
  660.  
  661.