This subsystem ensures that we can always use a certain core set of functions and types, that are either provided by the OS or by replacement functions / definitions in this subsystem. The aim is to try to stick to POSIX functions in here as much as possible. Convenience functions that are available on no platform at all belong in different subsystems (such as LIBUTIL). The following functions are guarenteed: ftruncate strlcpy strlcat mktime rename innetgr initgroups memmove strdup inet_ntoa setlinebuf vsyslog timegm setenv strtoull strtoll strndup strnlen waitpid seteuid setegid asprintf snprintf vasprintf vsnprintf opendir readdir telldir seekdir closedir dlopen dlclose dlsym dlerror chroot bzero strerror errno mkstemp (a secure one!) Types: socklen_t Prerequisites: memset (for bzero) syslog (for vsyslog) setnetgrent, getnetgrent, endnetgrent (for innetgr) mktemp (for mkstemp)