{
  "disks": {
    "1": {
      "dirs": [
        {
          "path": "/",
          "files": [
            {
              "name": "DISK     ID",
              "size": 64,
              "date": "1993-01-15",
              "time": "15:53"
            },
            {
              "name": "BIN",
              "dir": true,
              "date": "1992-12-17",
              "time": "12:08"
            },
            {
              "name": "DOC",
              "dir": true,
              "date": "1992-12-17",
              "time": "12:08"
            },
            {
              "name": "INC",
              "dir": true,
              "date": "1993-01-19",
              "time": "14:10"
            },
            {
              "name": "README",
              "size": 13242,
              "date": "1993-01-15",
              "time": "15:53"
            },
            {
              "name": "INSTALL  EXE",
              "size": 140186,
              "date": "1993-01-15",
              "time": "15:53"
            },
            {
              "name": "MWHC     001",
              "size": 675478,
              "date": "1993-01-15",
              "time": "15:54"
            },
            {
              "name": "INSTALL  DAT",
              "size": 56860,
              "date": "1993-01-19",
              "time": "14:17"
            }
          ]
        },
        {
          "path": "/BIN",
          "files": [
            {
              "name": "ADSDB    BAT",
              "size": 4080,
              "date": "1992-07-06",
              "time": "0:13"
            },
            {
              "name": "MDBDEMO  BAT",
              "size": 51,
              "date": "1992-04-14",
              "time": "9:52"
            },
            {
              "name": "MAKESAMP BAT",
              "size": 6255,
              "date": "1992-07-27",
              "time": "7:20"
            },
            {
              "name": "DEMO     BAT",
              "size": 3712,
              "date": "1992-04-21",
              "time": "6:25"
            }
          ]
        },
        {
          "path": "/DOC",
          "files": [
            {
              "name": "README   ADS",
              "size": 15335,
              "date": "1992-07-10",
              "time": "13:05"
            },
            {
              "name": "README   CPP",
              "size": 13111,
              "date": "1992-04-21",
              "time": "7:50"
            },
            {
              "name": "README   LIB",
              "size": 29910,
              "date": "1992-08-20",
              "time": "10:24"
            },
            {
              "name": "README   MDB",
              "size": 4382,
              "date": "1992-04-24",
              "time": "9:48"
            },
            {
              "name": "README   PRF",
              "size": 2185,
              "date": "1992-04-22",
              "time": "12:02"
            },
            {
              "name": "README   WIN",
              "size": 11929,
              "date": "1992-04-21",
              "time": "7:29"
            },
            {
              "name": "REMINDER DOC",
              "size": 1702,
              "date": "1992-04-21",
              "time": "5:15"
            },
            {
              "name": "README   EMB",
              "size": 17784,
              "date": "1992-04-22",
              "time": "7:51"
            },
            {
              "name": "WEITEK   DOC",
              "size": 6743,
              "date": "1992-04-21",
              "time": "9:15"
            }
          ]
        },
        {
          "path": "/INC",
          "files": [
            {
              "name": "BIOS     H",
              "size": 3408,
              "date": "1993-01-19",
              "time": "14:07"
            },
            {
              "name": "DOS      H",
              "size": 8378,
              "date": "1993-01-19",
              "time": "14:07"
            },
            {
              "name": "GDA      H",
              "size": 5049,
              "date": "1993-01-19",
              "time": "14:08"
            },
            {
              "name": "GFX      H",
              "size": 19619,
              "date": "1993-01-19",
              "time": "14:08"
            },
            {
              "name": "GRAPH    H",
              "size": 8770,
              "date": "1993-01-19",
              "time": "14:08"
            },
            {
              "name": "STAT     H",
              "size": 2155,
              "date": "1993-01-19",
              "time": "14:08"
            },
            {
              "name": "TIMEB    H",
              "size": 750,
              "date": "1993-01-19",
              "time": "14:09"
            },
            {
              "name": "UTIME    H",
              "size": 776,
              "date": "1993-01-19",
              "time": "14:09"
            }
          ]
        }
      ]
    },
    "2": {
      "dirs": [
        {
          "path": "/",
          "files": [
            {
              "name": "DOC",
              "dir": true,
              "date": "1992-12-17",
              "time": "12:09"
            },
            {
              "name": "DISK     ID",
              "size": 64,
              "date": "1993-01-15",
              "time": "15:58"
            },
            {
              "name": "MWHC     002",
              "size": 408810,
              "date": "1993-01-15",
              "time": "15:58"
            }
          ]
        },
        {
          "path": "/DOC",
          "files": [
            {
              "name": "TOOLS4_1 DOC",
              "size": 265023,
              "date": "1992-04-01",
              "time": "14:32"
            },
            {
              "name": "TOOLS4_2 DOC",
              "size": 323325,
              "date": "1992-04-01",
              "time": "14:10"
            },
            {
              "name": "TOOLS5   DOC",
              "size": 179065,
              "date": "1992-04-01",
              "time": "14:15"
            }
          ]
        }
      ]
    },
    "3": {
      "dirs": [
        {
          "path": "/",
          "files": [
            {
              "name": "DISK     ID",
              "size": 64,
              "date": "1993-01-15",
              "time": "15:59"
            },
            {
              "name": "MWHC     003",
              "size": 1200928,
              "date": "1993-01-15",
              "time": "16:00"
            }
          ]
        }
      ]
    },
    "4": {
      "dirs": [
        {
          "path": "/",
          "files": [
            {
              "name": "DISK     ID",
              "size": 64,
              "date": "1993-01-15",
              "time": "16:01"
            },
            {
              "name": "MWHC     004",
              "size": 1195544,
              "date": "1993-01-15",
              "time": "16:02"
            }
          ]
        }
      ]
    },
    "5": {
      "dirs": [
        {
          "path": "/",
          "files": [
            {
              "name": "DISK     ID",
              "size": 64,
              "date": "1993-01-15",
              "time": "16:03"
            },
            {
              "name": "MWHC     005",
              "size": 1202046,
              "date": "1993-01-15",
              "time": "16:05"
            }
          ]
        }
      ]
    },
    "6": {
      "dirs": [
        {
          "path": "/",
          "files": [
            {
              "name": "DISK     ID",
              "size": 64,
              "date": "1993-01-15",
              "time": "16:05"
            },
            {
              "name": "MWHC     006",
              "size": 1193708,
              "date": "1993-01-15",
              "time": "16:08"
            }
          ]
        }
      ]
    },
    "7": {
      "dirs": [
        {
          "path": "/",
          "files": [
            {
              "name": "DISK     ID",
              "size": 64,
              "date": "1993-01-15",
              "time": "16:08"
            },
            {
              "name": "MWHC     007",
              "size": 921856,
              "date": "1993-01-15",
              "time": "16:11"
            },
            {
              "name": "INSTALL  DAT",
              "size": 56860,
              "date": "1993-01-19",
              "time": "14:17"
            }
          ]
        }
      ]
    }
  },
  "desc_file": "README",
  "desc_text": "       Copyright (C) 1993 MetaWare Incorporated; All Rights Reserved.\r\n\r\n                         High C/C++ Version 3.04\r\n                  Globally Optimizing Compiler and Tools\r\n                for Extended DOS 80386/486 and Windows 3.0\r\n                               January 1993\r\n\r\n\r\nREADMEs included in this distribution\r\n-------------------------------------\r\n   README       -- This general README.\r\n\r\n   The following files are located in your HIGHC\\DOC subdirectory:\r\n\r\n   README.ADS   -- Developing an ADS Application\r\n   README.CPP   -- C++ Specifics\r\n   README.EMB   -- Embedded Applications Notes\r\n   README.LIB   -- Additions to Run-Time Library Documentation\r\n   README.MDB   -- MetaWare Debugger (MDB) Specifics\r\n   README.PRF   -- MetaWare Profiler Specifics\r\n   README.WIN   -- MetaWare 32-Bit Windows 3.0 Application Development Kit\r\n   WEITEK.DOC   -- Weitek ABACUS Support\r\n   REMINDER.DOC -- Troubleshooting Tips\r\n\r\n\r\nTable of Contents\r\n-----------------\r\n 1.  Introduction\r\n 2.  Release Notes\r\n 3.  Additions/Corrections to Printed Documentation\r\n 4.  New Toggles\r\n 5.  Wildcard Expansion\r\n 6.  Rogue Wave tools.h++ Examples and Documentation\r\n 7.  Driver Notes\r\n 8.  GFX Graphics Functions\r\n 9.  Known Problems\r\n\r\n\r\n1.  Introduction\r\n----------------\r\n\r\nVersion 3.0 highlights and features include:\r\n\r\n* C compiler and C++ compiler in one executable for gradual migration\r\n* full implementation of the C++ language (minus exception handling)\r\n* C++ I/O streams library\r\n* Rogue Wave's tools.h++ library\r\n* support for Microsoft Windows 3.0 development using the MetaWare ADK\r\n    (NOTE: compatibility with Microsoft Windows 3.1 is under development)\r\n* improved compile speed\r\n* additional global optimizations\r\n* a switch to specify optimization levels 0 through 7, or level s\r\n* 32-Bit Source-Level Debugger (MDB and MDBW)\r\n* a compile-and-link driver\r\n* function inlining\r\n* profiler\r\n* editor\r\n* disk cache\r\n* keyboard and screen enhancers.\r\n\r\n\r\n2.  Release Notes\r\n-----------------\r\n\r\n* For installation instructions, read the Installation Guide provided with\r\n  your documentation.\r\n\r\n* For differences from and compatibility with prior versions, read the New\r\n  Information! document.\r\n\r\n* Last-minute-supplied or unclassified software is in subdirectory ETC.\r\n\r\n\r\n3.  Additions/Corrections to Printed Documentation\r\n--------------------------------------------------\r\n\r\n* See README.LIB for additions to the Run-Time Library documentation.\r\n\r\n* See README.EMB for additional information about developing embedded\r\n  applications.\r\n\r\n* The High C++ Language Manual does not specify where the SHOWARGS.CPP program\r\n  is located.  It is in the \\HIGHC\\DEMOS\\CPP directory.\r\n\r\n* The High C Extensions Manual lists keywords _packed and _unpacked.  These\r\n  are now _Packed and _Unpacked.\r\n\r\n* The file CVARS.C has been renamed _IOB.C and is located in the HIGHC\\LIB\\SRC\r\n  directory.\r\n\r\n  NOTE: A copy of the original CVARS.C is located in the \\V1x directory.  You\r\n        must compile with -Hloclib to use this version.\r\n\r\n* Toggle Callee_pops_when_possible.\r\n\r\n  This toggle works with non-prototyped functions and is completely SAFE.  The\r\n  compiler marks those functions that are \"safe\" with a bit.  If the function\r\n  is non-prototyped and is called before it is defined, or called with an\r\n  argument list inconsistent with its definition, then the \"safe\" bit is\r\n  turned off.\r\n\r\n* -Hansi and in-line transcendentals.\r\n\r\n  If you are using the -Hansi switch and would like to get faster transcenden-\r\n  tals, but are not concerned about errno values, you may turn off the toggle\r\n  Strict_ansi_math:\r\n\r\n      -Hansi -Hoff=Strict_ansi_math\r\n\r\n   By default, when -Hansi is specified on the command line, Strict_ansi_math\r\n   is also set by the driver.  Strict_ansi_math causes the compiler to\r\n   generate calls to library functions for the transcendentals, instead of\r\n   inlining them.  This is necessary for ANSI conformance.  Without the calls,\r\n   the compiler will inline many transcendentals; and after the Common Sub-\r\n   expression Elimination phase of optimization, errno may not always be set.\r\n\r\n* Memory-model override.\r\n\r\n   In both Version 3.0 and Version 1.7x of the High C compiler for Extended\r\n   DOS 80386/486, command-line option -Mx overrides any \"pragma Memory_model\"\r\n   specification in the program.  However, Versions 1.7x and 3.0 differ in\r\n   how multiple \"pragma Memory_model\" specifications are handled.  In 1.7x the\r\n   last instance overrides any previous specifications; in 3.0 the first\r\n   instance takes precedence.\r\n\r\n* Stack dump.\r\n\r\n   The stackdump(int handle) routine does not include any routine names.  It\r\n   does include the \"will return to\" address, and eight arguments from the\r\n   stack.  It cannot provide any arguments that were passed in registers.\r\n\r\n* Inliner.\r\n\r\n   The meaning of inliner option -His has changed; the compiler can now safely\r\n   inline all functions.  -His=n is used instead to flag the inliner not to\r\n   inline functions with stack size greater than n bytes.\r\n\r\n\r\n4.  New Toggles\r\n---------------\r\n\r\nToggle C_include -- Default: Off\r\n\r\n  When On, this toggle causes all #include directives to behave like\r\n  #c_include directives: a file is included only if it hasn't been included\r\n  before.  See the description of #c_include in the High C/C++ Programmer's\r\n  Guide, Section \"Include Pragmas: Including Source Files.\"  Turning this\r\n  toggle On can potentially save a lot of file I/O time during compilation.\r\n\r\n\r\n5.  Wildcard Expansion\r\n----------------------\r\n\r\n  ETC\\SRC\\WCARD.C is a program that examines DOS wildcards in the argv[argc]\r\n  array and expands them.  If compiled with TEST defined, the program executes\r\n  and shows the arguments before and after expansion.  Compiled without TEST,\r\n  it is suitable for inclusion in your program.\r\n\r\n\r\n6.  Rogue Wave tools.h++ Examples and Documentation\r\n---------------------------------------------------\r\n\r\nTo compile and run the Rogue Wave examples:\r\n\r\n   1. Go to the HIGHC\\RW\\TOOLEXAM directory.\r\n\r\n   2. To compile example1.cpp type:\r\n\r\n         hc386 example1.cpp -lRWTOOL\r\n\r\n      where RWTOOL is the tools library located in the HIGHC\\SMALL directory.\r\n\r\n   3. To run the example type:\r\n\r\n         run386 example1\r\n\r\nDocumentation for tools.h++ is in three ASCII files, located in the DOC\r\nsubdirectory:\r\n\r\n   TOOLS4_1.DOC  --  Class Library Version 4.0, Part I\r\n   TOOLS4_2.DOC  --  Class Library Version 4.0, Part II\r\n   TOOLS5.DOC    --  Class Library Version 5.0 supplement\r\n\r\nPrinted, bound versions of these manuals are included if you license the\r\nsource code, either from MetaWare or from Rogue Wave.  Word-wrap problems in\r\ngenerating the ASCII files caused some tables to be misaligned.  Contact Rogue\r\nWave if you have questions about the documentation.\r\n\r\n\r\n7.  Driver Notes\r\n----------------\r\n\r\n  When you invoke High C/C++ with the command hc386, you are invoking a driver\r\n  program which in turn invokes the compiler.  See the Programmer's Guide for\r\n  further information.\r\n\r\n\r\n8. GFX Graphics Functions\r\n-------------------------\r\n\r\n   Whenever possible you should use the Microsoft-compatible graphics\r\n   functions documented in the High C Library Reference Manual, instead of\r\n   calling GFX functions directly.  Future releases of MetaWare compilers may\r\n   not support GFX Graphics.\r\n\r\n   When you specify option -Hansi (for strict ANSI conformance), GFX Graphics\r\n   functions are not available to you with the original all-uppercase versions\r\n   of the function names unless you explicitly link non-ANSI library HCNA.LIB.\r\n   This is because these non-ANSI function names appear only in HCNA.LIB, which\r\n   is omitted from the link when you specify -Hansi on the driver command\r\n   line.\r\n\r\n   You can use the functions as documented, with option -Hansi specified, by\r\n   linking HCNA.LIB and specifying #define __HIGHC__ before including GFX.H.\r\n   For example:\r\n\r\n      #define __HIGHC__\r\n      #include <GFX.H>\r\n      #undef  __HIGHC__\r\n\r\n   Link HCNA.LIB by specifying driver command-line option -lHCNA.LIB.\r\n\r\n   HCNA.LIB includes all the non-ANSI function names.  GFX Graphics functions\r\n   have also been provided in the ANSI library, with their names in lowercase\r\n   and prefixed by _gfx_.  For example, SCREEN becomes _gfx_screen.  The GFX\r\n   macro names are prefixed with an underscore.  For example, DFLT becomes\r\n   _DFLT.\r\n\r\n   NOTE:  The GFX functions are not prototyped in accordance with the ANSI\r\n          Standard, so you may get copious warning messages from the compiler\r\n          indicating that a called function does not conform to its prototype.\r\n          If you do not require strict ANSI conformance, you may ignore such\r\n          warning messages about GFX functions.\r\n\r\n   NOTE:  The GFX Graphics functions work only if linked with a linker that\r\n          produces Phar Lap .EXP type executables.\r\n\r\n   Many of the GFX Graphics functions have been rewritten for greater speed,\r\n   and numerous bugs have been fixed.\r\n\r\n\r\n9.  Known Problems\r\n------------------\r\n\r\n*  Function _bios_disk() does not support read, write, or verify operations.\r\n\r\n*  The graphics functions provided work only if linked with a linker that\r\n   produces Phar Lap .EXP type executables.\r\n\r\n*  You must call _setvideomode() before using any of the graphics functions\r\n   in graph.h, except for _clearscreen() and _getvideoconfig().\r\n\r\n*  At the hardware level, the signal() and raise() functions support only\r\n   Ctrl-C and the critical-error exceptions.  All other signals are supported\r\n   at the software level (via raise()).\r\n\r\n   WARNING:  If a hardware interrupt occurs during a DOS or BIOS operation, it\r\n             may not be possible to execute the signal handler.  In this case,\r\n             the results are undefined, and may result in a system crash.  See\r\n             the Library Reference Manual for descriptions of signal() and\r\n             raise().\r\n\r\n*  It is not possible to install the first function in the code segment as\r\n   a signal handler.  The address of the first function is cs:0, which when\r\n   passed to signal() (for example, signal(SIGINT, foo)) is interpreted as\r\n   SIG_DFL (#define'd to 0 in signal.h).  This causes the program to execute\r\n   an exit(3) instruction (the default action) instead of the intended\r\n   handler.  To solve this problem, move the handler away from the beginning\r\n   of the file in which it resides, or precede it with a dummy stub function;\r\n   or change the order in which the object modules are linked.\r\n\r\n*  DOS Helper program sc.exe does not work with MS-DOS 5.0, because the system\r\n   call sc.exe uses has been nullified in this version of MS-DOS.\r\n\r\n*  If you use the -P command-line option to generate a preprocessed .i file,\r\n   you cannot compile the file.  You can work around the problem by editing\r\n   the following section of file hc386.cnf:\r\n\r\n     ##########\r\n     # Define source-file suffixes recognized by the driver.\r\n     #\r\n     # Place CPP as the first element of these lists, to say for which\r\n     # languages CPP is supported.  Currently, just for C; do not confuse\r\n     # CPP with \"C++\".\r\n     AEXT=.s .asm               %; # Assembly\r\n     CEXT=CPP .c %; # C\r\n     CPPEXT=CPP .cc .cpp %; # C++\r\n\r\n   You can change the CPPEXT line to add the .i extension as follows:\r\n\r\n     CPPEXT=CPP .cc .cpp .i %; # C++\r\n\r\n   or, alternatively, specify -Hcppext=i on the driver command line.\r\n\r\n\r\nOther Problems\r\n--------------\r\n\r\nIf you think you have discovered a compiler problem, send a problem report to\r\nMetaWare Technical Support.  If possible, please send a test case that\r\ndemonstrates the problem.\r\n\r\nAll problem reports must include your serial number and specify which version\r\nof the compiler you are using.  If your sample code exceeds 15 lines, please\r\nsend it by diskette to the address below, or by E-mail to:\r\n\r\n   tech@metaware.com\r\n\r\nMetaWare Technical Support can be reached at (408) 429-6111, 8:00 am to 4:30 pm\r\nMonday through Friday.\r\n\r\n\r\nMetaWare Incorporated\r\n2161 Delaware Avenue\r\nSanta Cruz, CA 95060-5706\r\n(408)429-6382  FAX:(408)429-9273\r\n\r\n------------------------------------------------------------------------------\r\nThe installation program used to install MetaWare High C/C++, INSTALL, is\r\nbased on licensed software provided by Knowledge Dynamics Corp, P.O. Box 1558,\r\nCanyon Lake, Texas 78130-1558 (USA).  INSTALL is Copyright (c) 1987-1991 by\r\nKnowledge Dynamics Corp which reserves all copyright protection worldwide.\r\nINSTALL is provided to you for the exclusive purpose of installing this\r\nMetaWare product. MetaWare has made modifications to the software as provided\r\nby Knowledge Dynamics Corp, and thus the performance and behavior of the\r\nINSTALL program shipped with this MetaWare product may not represent the\r\nperformance and behavior of INSTALL as shipped by Knowledge Dynamics Corp.\r\nMetaWare is exclusively responsible for the support of this MetaWare product,\r\nincluding support during the installation phase.  In no event will Knowledge\r\nDynamics Corp. be able to provide any technical support for MetaWare products.\r\n------------------------------------------------------------------------------"
}