I was under the impression that all the standard library does is go and call the respective api calls of the OS its compiled for (and provides a consistent cross-platform C). Also, that under *nix, the standard library pretty much is the OSes API (C was invented to program Unix with).

Another question: if you call, say "lstrlen" from kernel32, does all that do is call the respective function from ntdll, then that calls it from the kernel? (Though there'd be ASCI and Unicode handling in there somewhere).