The FreeBSD C library (and by extension the POSIX library) derive a number of its external interfaces from the client OS (see Section 11). Rather than relying on linktime dependencies for these interfaces, the C library uses a services database (see Section 5.1) that was provided when it was initialized. This services database is pre-loaded (by the client OS when the kernel boots) with certain COM objects that make the C library functional. One such interface object is the oskit_libcenv_t COM interface, which provides hooks that are very specific to the POSIX and C libraries. This, and other interfaces, are looked up in the database as required. For example, the malloc implementation depends on a lower level ``memory object'' to satisfy memory requests. The first call to malloc will result in a lookup in the services database for the oskit_mem_t COM object. The malloc routines then use this lower level allocator interface. The intent of this ``indirection'' is to reduce (eventually to zero) the number of linktime dependencies between the C/Posix library and the rest of the OSKit libraries.