home *** CD-ROM | disk | FTP | other *** search
/ POINT Software Programming / PPROG1.ISO / pascal / visionix / read.me < prev    next >
Encoding:
Text File  |  1993-12-29  |  28.1 KB  |  893 lines

  1.  
  2.  
  3.  
  4.       █▌   ▐█ █▌ ▄████▄ █▌ ▄████▄  █▌▄███▄
  5.       ▐█   █▌ █▌▐█▀  ▀█▌█▌▐█▀  ▀█▌ ███▀ ▀█▌
  6.        █▌ ▐█  █▌ ██▄▄▄  █▌██    ▐█ ██    █▌▄▄▄▄▄▄▄  ▄▄▄▄   ▄▄▄▄  ▄    ▄▄▄
  7.        ▐█ █▌  █▌  ▀▀▀██ █▌█▌    ██ █▌    █▌   █    █    █ █    █ █   ▀▄
  8.         ███   █▌▐█▄  ▄█▌█▌▐█▄  ▄█▌ █▌    █▌   █    █    █ █    █ █     ▀▄
  9.         ▐█▌   █▌ ▀████▀ █▌ ▀████▀  █▌    █▌   █    ▀▄▄▄▄▀ ▀▄▄▄▄▀ █▄▄ ▄▄▄▀
  10.  
  11.  
  12. ──────────────────────── P ── A ── S ── C ── A ── L ────────────────────────
  13.  
  14.  
  15.                               BETA Release 0.31
  16.                         Copyright 1989-1993 Visionix
  17.                              ALL RIGHTS RESERVED
  18.  
  19.                               December 28, 1993
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.                                                          About this Document
  28. ────────────────────────────────────────────────────────────────────────────
  29.  
  30.  
  31. This document describes the arhictecture, overview, and implementation of
  32. the VisionTools for Pascal libraries, version 0.31 BETA.
  33.  
  34. VisionTools is a
  35.  
  36. - comprehensive
  37. - easy to use
  38. - flexible, multi-platform Pascal library package.
  39.  
  40. VisionTools supports
  41.  
  42. - Turbo Pascal 6.0
  43. - Turbo Pascal for Windows
  44. - Turbo Pascal / Borland Pascal 7.0
  45.  
  46. VisionTools units work in
  47.  
  48. - DOS
  49. - Protected mode
  50. - Windows
  51. - and OS/2.  (Requires German OS/2 patch for TP/BP 7.0)
  52.  
  53. In this document, we assume a working knowledge of structured
  54. programming concepts in general and the Pascal language in particular.
  55.  
  56. This document is Copyright (C) 1993 by Visionix, with ALL RIGHTS RESERVED.
  57.  
  58. Until such time as VisionTools is release outside of the BETA team,
  59. this release is the confidential and proprietary property of Visionix,
  60. and as such should not be distributed in any form without express
  61. written consent of Visionix.
  62.  
  63.  
  64.                                                         VisionTools Overview
  65. ────────────────────────────────────────────────────────────────────────────
  66.  
  67. VisionTools for Pascal is a comprehensive, easy to use, flexible
  68. multi-platform Pascal library package that supports DOS, DOS protected
  69. mode, Windows, and OS/2.
  70.  
  71.  
  72. Just how comprehensive is VisionTools?
  73. ──────────────────────────────────────
  74.  
  75.   VisionTools is comprised of over 40 units which implement over 800
  76.   functions.  VisionTools includes library units for ANSI, Avatar,
  77.   Doors, File copying, CRT API replacement and enhancement, Times and
  78.   Dates, Debugging, DOS, Fonts, FOSSIL, General functions, text
  79.   stream input, Keyboards, High-Level Math, Memory Management,
  80.   Multi-Tasking, text stream output, Pointer & Mice, Resource Files,
  81.   Serial Communications, File/Record Sharing, Sorting, Finite-State
  82.   Machines, Strings, Text, Advanced Power Management, BIOS, CD-ROM,
  83.   DPMI, EMS, XMS, MSCDEX, 8250/16450/16550 UARTs, Virtual DMA
  84.   Services, OS/2 API importation, and more.
  85.  
  86. What do we mean by Multi-Platform?
  87. ──────────────────────────────────
  88.  
  89.   We mean that VisionTools for Pascal supports all of the listed
  90.   platforms by simply recompiling.  Therefore, if your programs use
  91.   VisionTools, you can port them to other platforms by doing nothing
  92.   more than recompiling!
  93.  
  94.  
  95.  
  96. VisionTools Units
  97. ─────────────────
  98.  
  99.   VisionTools consists of units of functions which fall into 9
  100.   categories:
  101.  
  102.   General Units
  103.  
  104.     VGENu     General functions
  105.     VMATHu    High-level math functions
  106.     VDATESu   Time and date functions
  107.     VDEBUGu   Usefull debugging functions
  108.     VRESFu    Resource file functions
  109.     VSORTu    Sort functions
  110.     VSTATEu   Finite-State machine functions
  111.     VSTRINGu  String functions
  112.     VSTRTXTu
  113.     VTYPESu   Sundry types and constants
  114.  
  115.   Console I/O Units
  116.  
  117.     VINu      Text Stream Input functions
  118.     VOUTu     Text Stream (Presentation) output functions
  119.     VCRTu     Pascal CRT replacement and enhancement functions
  120.     VANSIu    ANSI functions
  121.     VANSIIOu  ANSI I/O filters and drivers for VOUTu
  122.     VAVTIOu   Avatar I/O Filters and drivers for VOUTu
  123.     VFONTu    Font redefinition functions
  124.     VKEYbu    Keyboard functions
  125.     VPOINTu   Mouse & Pointer functions
  126.  
  127.   Serial Communications Units
  128.  
  129.     VFOSu     FOSSIL functions
  130.     VUARTu    8250/16450/16550 UART functions
  131.     VSERlu    Low-level serial types
  132.     VSERu     Device-independent serial functions
  133.     VSERhu    High-Level serial functions
  134.  
  135.   Memory Management Units
  136.  
  137.     VEMSu     Expandend Memory Services functions
  138.     VXMSu     eXtended Memory Services fucntions
  139.     VMEMu     Multi-platform memory management functions
  140.  
  141.   File System Units
  142.  
  143.     VCOPYu    File copying functions
  144.     VDOShu    High-level dos functions
  145.     VSHAREu   File sharing & record locking functions
  146.     VTEXTu    Text file device drivers & functions
  147.  
  148.   Device Control Units
  149.  
  150.     VCDROMu   CD-ROM data & audio functions
  151.     VMSCDEXu  MSCDEX based data & audio functions
  152.  
  153.   System Units
  154.  
  155.     VAPMu     Advanced Power Management functions
  156.     VMULTIu   Multi-procedure / Multi-Threading / Multi-Tasking functions
  157.     VEQUIPu   Equipment determination functions
  158.     VXPROTu   Exit procedure stack functions
  159.  
  160.   DOS/Protected Mode/Windows Specific Units
  161.  
  162.     VBIOSu    BIOS Data Area functions
  163.     VDPMIu    Dos Protected Mode Interface functions
  164.     VVDSu     Virtual DMA Services Units
  165.  
  166.   OS/2 Specific Units
  167.  
  168.     VMOUi     OS/2 Mouse API Import Unit
  169.     VKBDi     OS/2 Keyboard API Import Unit
  170.     VVIOi     OS/2 Video I/O Import Unit
  171.  
  172.  
  173. About the Documentation
  174. ───────────────────────
  175.  
  176.   This documentation is a preliminary version of the final documentation.
  177.   The complete documentation was written on a hybrid system that uses
  178.   PageMaker, Word for Windows, and custom "document/source code control
  179.   system" written by Visionix.
  180.  
  181.   As you may have noticed, most of the documentation is mixed in with
  182.   the source code of the actual units.  The next BETA release will
  183.   include a program to extract the documentation from the source and
  184.   generate either Microsoft Rich Text Format (RTF), PageMaker
  185.   Tagged Text Format (TTF), or normal ASCII document files which can
  186.   be printed via a variety of word processing or editor packages.
  187.  
  188.   If you would like to generate seperate document files with this
  189.   release, run the batch file MAKEDOCS.BAT.  This batch file
  190.   will run a program that will copy the interface and documentation
  191.   comments from each unit to a file named <unitname>.INT
  192.  
  193.   If you have any questions what-so-ever, please be sure to contact
  194.   Visionix via any of the methods listed at the end of this file.
  195.  
  196.   For extended documentation, refer to the extensive documentation
  197.   and comments that are found in each unit.
  198.  
  199.  
  200. Using VisionTools with "BP for OS/2"
  201. ───────────────────────────────────
  202.  
  203.   VisionTools fully supports "Borland Pascal for OS/2".  "Borland
  204.   Pascal for OS/2" is a patched version of BP 7.0 wherein the Windows
  205.   support is patched to generate 16 bit OS/2 programs.  All appropriate
  206.   VisionTools units have been modified and tested on OS/2, and several
  207.   units are included explicitly for OS/2.
  208.  
  209.   In case you don't have it already, the BP for OS/2 patch is
  210.   available on VisionixBBS as BP7-OS2.ARJ.
  211.  
  212.  
  213.  
  214. Contacting Visionix
  215. ───────────────────
  216.  
  217. BETA Reports
  218.  
  219.   To contact Visionix to report a bug, anamoly, or disturbance in the
  220.   known fabric of the universe, fill in the enclosed BETA FORM
  221.   (BETAFORM.TXT) and modem or mail it to one of the addresses below.
  222.  
  223. BBS
  224.  
  225.   VisionixBBS (USA)
  226.   (407) 872 1318
  227.   FidoNet 1:363/640
  228.   Internet f640.n363.z1.fidonet.org!visionix
  229.   Internet killamac@ufcc.ufl.edu
  230.  
  231. Postal Mail
  232.  
  233.   Visionix
  234.   1240 Golfview St.
  235.   Orlando, FL 32804 USA
  236.  
  237. Voice
  238.  
  239.   Visionix
  240.   (407) 648 8851
  241.  
  242.  
  243.  
  244.  
  245.                                                                General Units
  246. ────────────────────────────────────────────────────────────────────────────
  247.  
  248.  
  249. VGENu     General functions
  250. ──────────────────────────────────────
  251.  
  252.   The general functions unit consists of functions which fall into 8
  253.   categories:
  254.  
  255.  
  256.     - Validation routines
  257.  
  258.     - Type conversion
  259.  
  260.     - Variable comparing and swapping
  261.  
  262.     - System and CPU
  263.  
  264.     - CRC
  265.  
  266.     - Soundex functions
  267.  
  268.     - Pointer functions
  269.  
  270.     - Misc. functions
  271.  
  272.  
  273. VMATHu    High-level math functions
  274. ──────────────────────────────────────
  275.  
  276.   This unit implements a wide variety of higher-level math functions.
  277.   These function fall into the following categories:
  278.  
  279.     - Algebraic
  280.  
  281.     - Trigonometry
  282.  
  283.     - Calculus
  284.  
  285.     - Statistical
  286.  
  287.     - Misc. other math
  288.  
  289.  
  290. VDATESu   Time and date functions
  291. ──────────────────────────────────────
  292.  
  293.   VDATES is the collection of various date and time functions.  Some features
  294.   include:
  295.  
  296.     - Day of week, Leap Year, Days in month, and Daylight Savings.
  297.  
  298.     - Type validations.
  299.  
  300.     - DateTime (from DOS unit) is now called TDateTime (for Windows compat.).
  301.  
  302.     - TDateTime inc, dec, add, sub, and absolution difference.
  303.  
  304.     - Julian date <--> DateTime conversions (for your Date-math functions).
  305.  
  306.     - Packed DateTime extractions and conversions.
  307.  
  308.     - Stop Watch (TSwatch) for the time-of-day in seconds (with 100th second
  309.       accuracy).  TSwatch also has inc, dec, add, sub, and distance functions.
  310.  
  311.     - System Clock functions: clock ticks since midnight, setting system
  312.       date and time, setting system alarm (these work with BCD parameters).
  313.  
  314.     - and much more...
  315.  
  316.  
  317.  
  318. VDEBUGu   Usefull debugging functions
  319. ──────────────────────────────────────
  320.  
  321.   This unit provides a simple set a functions which can be used to debug
  322.   a program.  It provides functions to write "information" lines to a
  323.   specified text file.
  324.  
  325.  
  326.  
  327. VRESFu    Resource file functions
  328. ──────────────────────────────────────
  329.  
  330.   This is a text-based resoure retrieval library.
  331.  
  332.   This unit provides the ability to use an external text file for all text,
  333.   integers, reals, menus, dialogs, colors, and boolean values used by a
  334.   program.
  335.  
  336.  
  337.  
  338. VSORTu    Sort functions
  339. ──────────────────────────────────────
  340.  
  341.   This unit uses a generic sorting engine to allow for sorting many
  342.   different predefined data types as well as user-defined structures.
  343.   Some include ShortInt, Byte, Integer, Word, LongInt, String, PString,
  344.   PChar, and Real types.
  345.  
  346.  
  347. VSTATEu   State machine functions
  348. ──────────────────────────────────────
  349.  
  350.   This unit includes functions to assist in the creation and usage
  351.   of finate state machine based programs.  It includes functions to
  352.   create state machines, add states to machines, track states, remove
  353.   states, and execute state machines.
  354.  
  355.  
  356. VSTRINGu  String functions
  357. ──────────────────────────────────────
  358.  
  359.   This unit implements a variety of functions for string allocation,
  360.   usage, and management.  It also includes a set of advanced functions
  361.   that implement a generic "string-list" mechanism which supports
  362.   string arrays, string pointer arrays, link-list string arrays, and
  363.   PChar arrays.
  364.  
  365.  
  366.  
  367. VSTRTXTu  String Text File Driver
  368. ──────────────────────────────────────
  369.  
  370.   This unit implements a text file device driver that will write to a
  371.   VSTRINGu string list.  This provides a flexable mechanism to use the
  372.   Write and WriteLn commands to format strings.
  373.  
  374.  
  375.  
  376. VTYPESu   Sundry types and constants
  377. ──────────────────────────────────────
  378.  
  379.   VTypesu is a unit that defines a variety of types, defines, and constants
  380.   that are used throught the VisionTools libraries.
  381.  
  382.  
  383.  
  384.  
  385.                                                            Console I/O Units
  386. ────────────────────────────────────────────────────────────────────────────
  387.  
  388. VisionTools implements a comprehensive, flexible text console I/O
  389. architecture.  The architecture works on a variety of "presentation
  390. protocols", such as ANSI, Avatar, OS/2 VIO, and normal CGA/EGA/VGA/Mono
  391. video memory.  The architecture includes a Turbo Pascal CRT replacement
  392. unit which facilitates effortless porting of Pascal programs to OS/2
  393. and ANSI/Avatar serial based applications.
  394.  
  395. The console I/O architecture is based on the concept of channels and
  396. sub-channels.  A channel is a "path" to a distinct console, which can
  397. have a different display than other channels, and
  398. sub-channels are branch-paths to "synchronized" consoles, which all
  399. have the same display.  For more information, see the documentation
  400. in the VOUTu unit; wait for the next BETA (which includes a 20+ page
  401. tutorial), look at the demos and test programs, or call!  We'll
  402. be happy to help.
  403.  
  404.  
  405. VINu      Text Stream Input functions
  406. ──────────────────────────────────────
  407.  
  408.  
  409.   The VINu unit implements the input functions for the VisionTools
  410.   text-stream input/output architecture.
  411.  
  412.   The present implementation of VIN is an extremely simplified, one
  413.   channel, no sub-channel, input version of VOUT.  This unit has been
  414.   rewritten and will be replaced with the full multi-channel input unit
  415.   in the next BETA release.
  416.  
  417.  
  418.  
  419. VOUTu     Text Stream (Presentation)
  420.           output functions
  421. ──────────────────────────────────────
  422.  
  423.   - VOUT functions.  VOUT contains an extensive collection of video
  424.     text output functions, such as VOutClrScr, VOutWriteString,
  425.     VOutInsLine, VOutWindow, Etc.
  426.  
  427.   - Multiple channels.  Every VOUT function takes a "channel handle".
  428.     This tells VOUT which channel to perform the function on.
  429.     "Multiple channels" can be used to perform operations on
  430.     seperate video displays.  For example, two seperate channels
  431.     could be set up for the primary and secondary monitors.  Commands
  432.     sent to the first channel would go to the primary montior.  Commands
  433.     sent to the second channel would go to the secondary monitor.
  434.     Each monitor would then have a different display.
  435.  
  436.   - Multiple sub-channels.  Sub-channels are synchronzied branches from
  437.     a channel.
  438.  
  439.     Sub-channels allow the same output commands to be "synchronized"
  440.     on different video displays.  For example, one channel could
  441.     be created with two sub-channels.  One sub-channel would be
  442.     setup for the local video display, and another could be setup
  443.     to send ANSI over a serial port.  Commands to this channel would
  444.     then be sent both to the local video display and out over the
  445.     serial port.
  446.  
  447.     This could be used as the text-output interface for a BBS program
  448.     or other host communications software.
  449.  
  450.  
  451.  
  452.  
  453.  
  454. VCRTu     Pascal CRT replacement and
  455.           enhancement functions
  456. ──────────────────────────────────────
  457.  
  458.   VCRTu is a Turbo Pascal CRT replacement unit.  It implements all
  459.   of the functions found in the TP CRT unit, and adds many new functions.
  460.  
  461.   VCRTu is an interface layer on top of VOUTu and VINu.  Calls to
  462.   VCRTu functions are completed by calling the appropriate VOUTu or
  463.   VINu function.
  464.  
  465.   VCRTu automatically creates a CRT output channel and a sub-channel
  466.   which sends its output to the primary local video display.
  467.  
  468.   <<Whats all that mean>>
  469.  
  470.     Basically, VCRTu replaces CRT.  VCRTu does all of its work through
  471.     a fast, flexible, and comprehensive text input and output architecture
  472.     which is based on the concept of text input and output channels
  473.     and sub-channels.  By default, VCRTu automatically creates a
  474.     text output channel and sub-channel which goes to the primary
  475.     video display, and a text input channel and sub-channel which goes
  476.     to the keyboard.  VCRT then does all of its work via these channels.
  477.     For example, when you call ClrScr, VCRT calls VOutClrScr with the
  478.     handle of the CRT output channel.  When you call ReadKey, VCRT
  479.     calls VInReadKey with the handle of the CRT input channel.
  480.  
  481.     By attaching filters to the CRT sub-channel you can enhance or modify
  482.     the output capabilities of your application.  For example, you
  483.     can attach the AnsiFilter to the CRT sub-channel to make it possible
  484.     to use ANSI commands in your Write or WriteLn statements.
  485.  
  486.     By creating new sub-channels off of the CRT channel, you can direct
  487.     the output of your program to other devices, such as the serial port.
  488.     This creates a flexable foundation for BBS programs or DOOR programs.
  489.  
  490.     For more information, see the VOUTu and VINu chapters.
  491.  
  492.  
  493.  
  494.  
  495. VANSIu    ANSI functions
  496. ──────────────────────────────────────
  497.  
  498.   This unit mainly provides functions which generate ANSI command strings.
  499.   Each function returns a string which is the ANSI command equivalent
  500.   of the function.
  501.  
  502.   For example, The ANSIClrScr function returns the ANSI Clear screen
  503.   command as a string, '<ESC>[2J'.
  504.  
  505.  
  506.  
  507. VANSIIOu  ANSI I/O filters and drivers
  508.           for VOUTu
  509. ──────────────────────────────────────
  510.  
  511.   The VANSIiou unit contains only two procedures:  ANSIFilter and
  512.   ANSIOutDriverProc.  As the names imply, ANSIFilter is a VOUT filter
  513.   for ANSI commands, and ANSIOutDriverProc is an VOUT output driver
  514.   for ANSI.
  515.  
  516.   For more information on text filters, drivers, sub-channels, etc., be
  517.   sure to read the VOUTu and VINu documentation.
  518.  
  519.  
  520.  
  521. VAVTIOu   Avatar I/O Filters and
  522.           drivers for VOUTu
  523. ──────────────────────────────────────
  524.  
  525.   NOTE!  This BETA does not include the AVATAR driver procedure.
  526.   It will be included in the next BETA!
  527.  
  528.   The VAVTiou unit contains only two procedures:  AvatarFilter and
  529.   AvatarOutDriverProc.  As the names imply, AvatarFilter is a VOUT filter
  530.   for Avatar 0+ commands, and AvatarOutDriverProc is an VOUT output driver
  531.   for Avatar.
  532.  
  533.   For more information on text filters, drivers, sub-channels, etc., be sure
  534.   to read the VOUTu and VINu documentation.
  535.  
  536.  
  537.  
  538. VFONTu    Font redefinition functions
  539. ──────────────────────────────────────
  540.  
  541.   The VFONTu unit implements functions to create and manage new text-mode
  542.   character sets.
  543.  
  544.   The documentation for this unit will be enhanced in the next release.
  545.  
  546.  
  547. VKEYbu    Keyboard functions
  548. ──────────────────────────────────────
  549.  
  550.   The VKeybu unit implements a variety of functions for the PC/AT keyboard.
  551.  
  552.   This unit also includes constants for most keyboard scan codes.
  553.  
  554.  
  555. VPOINTu   Mouse & Pointer functions
  556. ──────────────────────────────────────
  557.  
  558.   VPointu implements a comprehensive, easy to use "mouse" function library
  559.   that works under DOS, protected mode, and OS/2.
  560.  
  561.  
  562.  
  563.                                                   Serial Communication Units
  564. ────────────────────────────────────────────────────────────────────────────
  565.  
  566.  
  567. VFOSu     FOSSIL functions
  568. ──────────────────────────────────────
  569.  
  570.   This unit implements a function for all commands in the FOSSIL
  571.   specification.  For more information, refer to the FOSSIL spec.
  572.  
  573.   This unit also implements FOSSIL functions which are specific to the
  574.   X00 FOSSIL driver.
  575.  
  576.   Additionally, this unit impelements a function to interface the FOSSIL
  577.   functions into the VSERu device-indepednent serial unit.  This function,
  578.   FosSerDriverProc, is a serial driver procedure for VDOSu serial channels.
  579.  
  580.   FosSerDriverProc can be specified as the serial-driver for a serial
  581.   channel by calling VSerDriverNew and specifying FosSerDriverProc
  582.   as the serial driver procedure
  583.  
  584.  
  585. VUARTu    8250/16450/16550
  586.           UART functions
  587. ──────────────────────────────────────
  588.  
  589.   This unit implements functions to interface with the PC/ATs 8250,
  590.   16450, or 16550 Univeral Asychronous Receiver/Transmitter, or UART
  591.   chip.  The UART chip is the PCs interface to the RS-232 world.
  592.  
  593.   Additionally, this unit impelements a function to interface the UART
  594.   functions into the VSERu device-indepednent serial unit.  This function,
  595.   UartSerDriverProc, is a serial driver procedure for VDOSu serial channels.
  596.  
  597.   UartSerDriverProc can be specified as the serial-driver for a serial
  598.   channel by calling VSerDriverNew and specifying UartSerDriverProc
  599.   as the serial driver procedure.
  600.  
  601.  
  602.  
  603.  
  604. VSERlu    Low-level serial types
  605. ──────────────────────────────────────
  606.  
  607.   This unit implements various low-level serial communication types and
  608.   constants.
  609.  
  610.  
  611.  
  612.  
  613. VSERu     Device-independent
  614.           serial functions
  615. ──────────────────────────────────────
  616.  
  617.   The VSERU unit implements a comprehensive set of functions for serial
  618.   communications.
  619.  
  620.  
  621.  
  622.  
  623. VSERhu    High-Level serial functions
  624. ──────────────────────────────────────
  625.  
  626.   This unit implements a variety of high-level serial communications
  627.   functions, which are based on the functions in VSeru.
  628.  
  629.   This overview will be enhanced in the next BETA release.
  630.  
  631.  
  632.  
  633.                                                      Memory Management Units
  634. ────────────────────────────────────────────────────────────────────────────
  635.  
  636.  
  637. VEMSu     Expandend Memory Services
  638.           functions
  639. ──────────────────────────────────────
  640.  
  641.   This unit implements a function for all commands in the EMS
  642.   specification.
  643.  
  644.   The documentation for this unit will be enhanced in the next release.
  645.  
  646.  
  647. VXMSu     eXtended Memory Services
  648.           fucntions
  649. ──────────────────────────────────────
  650.  
  651.   This unit implements a function for all commands in the XMS
  652.   specification.
  653.  
  654.   The documentation for this unit will be enhanced in the next release.
  655.  
  656.  
  657.  
  658. VMEMu     Multi-platform memory
  659.           management functions
  660. ──────────────────────────────────────
  661.  
  662.   The VMemu unit implements 4 simple, cross-platform memory allocation
  663.   functions.  This unit has been rewritten to include support for
  664.   both Windows and OS/2 GlobalAlloc/GlobalLock/GlobalFree functions.
  665.  
  666.   This unit will be replaced with the new unit in the next BETA release.
  667.   The function interface, however, will remain the same.
  668.  
  669.  
  670.  
  671.                                                            File System Units
  672. ────────────────────────────────────────────────────────────────────────────
  673.  
  674.  
  675. VCOPYu    File copying functions
  676. ──────────────────────────────────────
  677.  
  678.   VCOPYu contains two functions, VCopyFile and VCopyFileEx.
  679.  
  680.   The VCopyFile function allows you
  681.   to copy files from one place to another.  It supports wildcards,
  682.   copy from/to date ranges; copy files with specified attributes,
  683.   the ability to copy sub-directories, and more.
  684.  
  685.   The VCopyFileEx function does everything that VCopyFile does,
  686.   with the added capability to have VCopyFileEx call a "call-back"
  687.   procedure that you can specify when different VCopyFile events
  688.   occur.  (Such as: starting a new file, read error, write error, etc)
  689.  
  690.  
  691. VDOShu    High-level dos functions
  692. ──────────────────────────────────────
  693.  
  694.   The VDOSHu unit implements various DOS oriented functions.
  695.  
  696.   More documentation will be added to this unit in the next BETA
  697.   release.
  698.  
  699.  
  700. VSHAREu   File sharing & record
  701.           locking functions
  702. ──────────────────────────────────────
  703.  
  704.   This unit implements various file-share and record locking functions.
  705.   It has been completely rewritten and will be replaced in the next
  706.   BETA release.
  707.  
  708.  
  709. VTEXTu    Text file device
  710.           drivers & functions
  711. ──────────────────────────────────────
  712.  
  713.   This function implements a text file device driver which "strips" or
  714.   ignores ASCII CTRL-Z (End Of File, EOF) markers.
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.                                                         Device Control Units
  722. ────────────────────────────────────────────────────────────────────────────
  723.  
  724.  
  725. VCDROMu   CD-ROM data & audio
  726.           functions
  727. ──────────────────────────────────────
  728.  
  729.   VCDROMu is a generic CD-ROM unit which currently works on MSCDEX,
  730.   but which will be enhanced in the next VisionTools release to
  731.   also support direct control of SCSI-2 CD-ROM drives without
  732.   requiring MSCDEX.
  733.  
  734.   VCDROMus is handle based.  Before you call any VCDROMu functions,
  735.   you should call VCD_Open.  VCD_Open takes two paramaters: "flags"
  736.   which are currently unsed, and a "method list string" which tells
  737.   VCDROMu which CD-ROM methods you wish to use.  Currently, only
  738.   MSCDEX is supported, so the method list string must be 'MSCDEX'.
  739.  
  740.  
  741. VMSCDEXu  MSCDEX based data & audio
  742.           functions
  743. ──────────────────────────────────────
  744.  
  745.   This unit implements MSCDEX dependent functions to control and play
  746.   CD-ROM and CD-Audio discs.
  747.  
  748.   For more information, see the MSCDEX documentation.
  749.  
  750.   This overview will be enhanced for the next BETA release.
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.                                                                 System Units
  759. ────────────────────────────────────────────────────────────────────────────
  760.  
  761.  
  762. VAPMu     Advanced Power
  763.           Management functions
  764. ──────────────────────────────────────
  765.  
  766.   This unit is an interface to the DOS Advanced Power Management functions.
  767.  
  768.   For more information, see the DOS Avanced Power Management
  769.   specification which is available from Intel.
  770.  
  771.   The documentation for this unit will be enhanced in the next BETA release.
  772.  
  773.  
  774. VMULTIu   Multi-procedure /
  775.           Multi-Threading /
  776.           Multi-Tasking functions
  777. ──────────────────────────────────────
  778.  
  779.   VMultiu implements a simple, procedure based, non-preemptive multitasking
  780.   facility.
  781.  
  782.   THIS UNIT IS INCOMPLETE!
  783.  
  784.   In the next release, it will also implement a cross-platform
  785.   multi-thread facility, and the ability to work with DesqView, OS/2
  786.   and Windows to evenly distribute time slices.
  787.  
  788.  
  789. VEQUIPu   Equipment determination
  790.           functions
  791. ──────────────────────────────────────
  792.  
  793.   This unit implements functions which return information about the
  794.   equipment that is currently connected to the PC on which the unit
  795.   is running.
  796.  
  797.   The documentation for this unit will be enhanced in the next release.
  798.  
  799.  
  800. VXPROCu   Exit procedure stack
  801.           functions
  802. ──────────────────────────────────────
  803.  
  804.   This procedure implements an "exit procedure stack" which manages a list
  805.   of procedures which should be called when a Turbo Pascal application
  806.   terminates.  It provides functions to dynamically add and remove
  807.   procedures to/from the exit stack.
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.                                             DOS/Protected Mode/Windows Units
  815. ────────────────────────────────────────────────────────────────────────────
  816.  
  817.  
  818.  
  819. VBIOSu    BIOS Data Area functions
  820. ──────────────────────────────────────
  821.  
  822.   This unit maps a single pointer-variable onto the BIOS Data Area (BDA).
  823.   located at segment $40.  This pointer can then be used to access
  824.   the BDA in a clean way.  The unit works in real mode, protected mode,
  825.   and Windows.
  826.  
  827.   For more information on the BIOS DATA area, consult any book which
  828.   expains the IBM PC/AT BIOS in detail.
  829.  
  830.  
  831. VDPMIu    Dos Protected Mode Interface
  832.           functions
  833. ──────────────────────────────────────
  834.  
  835.   This unit implements a function for all commands in the DOS Protected
  836.   Mode Interface 0.9 and 1.0 specifications.  For more information,
  837.   refer to the DPMI specification.  (Intel Order No. 240977-001)
  838.  
  839.   Additionally, this unit impelements functions to assist in allocating
  840.   and using protected mode to real mode "reflection buffers".  Reflection
  841.   buffers are used when calling a real mode BIOS routine from protected mode.
  842.  
  843.   The documentation for this unit will be enhanced in the next release.
  844.  
  845.  
  846. VVDSu     Virtual DMA Services Units
  847. ──────────────────────────────────────
  848.  
  849.   The VVDSu unit implements functions for the Microsoft/IBM Virtual
  850.   DMA Services (VDS) specification.  The virtual DMA services specifications
  851.   supplies services which allow for proper first and second party DMA
  852.   operations on PC/AT computers which are running in virtual memory
  853.   environments.  It includes services to get the physical address of
  854.   virtual memory locations; to get a scatter/gather list of virtualy
  855.   fragmented memory buffers; to allocate DMA translation buffer, and more.
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.                                                          OS/2 Specific Units
  864. ────────────────────────────────────────────────────────────────────────────
  865.  
  866. VMOUi     OS/2 Mouse API Import Unit
  867. ──────────────────────────────────────
  868.  
  869.   This unit is a DLL import unit for the OS/2 Mouse API DLL.  It imports
  870.   all of the functions found in the OS/2 Mouse API DLL.
  871.  
  872.  
  873. VKBDi     OS/2 Keyboard API
  874.           Import Unit
  875. ──────────────────────────────────────
  876.  
  877.   This unit is a DLL import unit for the OS/2 Keyboard API DLL.  It imports
  878.   all of the functions found in the OS/2 Keyboard API DLL.
  879.  
  880.  
  881.  
  882. VVIOi     OS/2 Video I/O Import Unit
  883. ──────────────────────────────────────
  884.  
  885.   This unit is a DLL import unit for the OS/2 Video I/O API DLL.
  886.   It imports all of the functions found in the OS/2 Video I/O API DLL.
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.