//$Id: CLIB.TXT 1.2 1997/10/27 12:27:37 ska Exp $
Capabilities of the completed CLib incl. the environment in which the
C program is executed:
- The CLib shall act properly in any circumstances. Unexpected behaviour,
assumptions of the code etc. must be documented.
- CLib shall be capable of being used with TSRs, drivers, concured tasks
(Coroutines, light-weight processing, shared library).
- CLib shall be ROMable.
- CLib shall support common memory models (tiny, small, medium, compact,
far, huge) [16bit segments], flat mode [32bit segments], shared memory
management (code segment re-used, data/stack segment different for each
task).
- CLib shall be exchangable within any DOS environment except the CORE
functions and the INCLUDE dealing with typedefs, limits etc.
- CLib shall support locales properly, incl. multibyte character sets,
double byte characters (wide characters), date/time/monetary formats, etc.

Probably in the near or far future CLib will fullfill all the above
capabilities. For now CLib is dedicated to be used for DOS only, for single
task tools only, in RAM only, in real mode only.

Because CLib is not associated with a C compiler currently, CLib must be
written that it can be used with as many DOS based compilers as possible.
This has one advantage for the user: s/he does not need to know about
differences throughout the world of DOS based compilers. For all compilers
the set of functions, variables, definitions and macros are the same, though,
depending on the capabilities of the compiler itself, some restrictions
may be applied to CLib. (Consider Micro-C in opposite of Borland C.)
The disadvantage is that CLib must handle all the differences of the
compilers. Though, one very annoying point, the varying set of functions,
will be solved by CLib, but there are many other points, in which compilers
differ, e.g. intrinsic functions; controling of the alignment; built-in
functions like floating point arethmetics, huge pointer arethmetics;
internally used functions for stack checking, initializing local
variables; depending on side-effects of functions of CLib.
