At many times, the registry may need to access additional information to, for example, store extra information. This could be done with
malloc and handled on cleanup with
free, but that can be prohibitive to C implementations which may not want to draw their memory from either of these global pools. Therefore, in order to allow a user to customize the way allocation works, there are 2 ways to customize how memory allocation is done with the library.
The first, high-level way to control all allocation is to use the
cnc_conversion_heap. That structure provides 5 functions which will control all non-automatic storage duration space created by the registry.