The CRL consists of a suite of modules linked together to form a library. The source code is included with the release, and each module is defined by a ".c" source with the corresponding ".h" header file. The modules are further subdivided into several groups. The groups are shown in figure .
Figure : Core Routines Library Module Groups When the CRL is linked to user programs the header files for the modules used must be specified using "#include" at the beginning of the program. The header file "CRLHeaders.h", which contains all of the CRL header files should be used, if using the CRL set up as released for the various platforms. In this case all of the modules are contained within the library (or project) and thus all of the header files are needed. Alternatively it is also possible to link only modules that required, in which case all the General modules must always be included but the other groups need only be included as required.
A list is given in appendix A of the modules which occur in each group, including a brief description of the module's use. This information is repeated in greater detail in the reference chapters.