VFS source relationships

This is an attempt to walk through the source tree and document the relationships of each source file with its includes.
Some common elements have deep and repetitive structures that make it difficult to see the overarching major components. These common elements that repeat frequently are shown separately at the end of this page.
lldir.cpp: -- Implementation of directory utilities base class
 <sys/stat.h> (if not Windows)
 <sys/types.h> (if not Windows)
 <direct.h> (if Windows)
 lldir.h
 llerror.h: (see reference)
 lluuid.h:
 <iostream>
 <set>
 llstring.h: (see reference)
 lldir_win32.h: (if Windows)
 lldir.h
 lldir_mac.h: (if mac)
 lldir.h
 <stdio.h>
 <dirent.h>
 lldir_linux.h: (if linux)
 lldir.h
 <stdio.h>
 <dirent.h>
 <errno.h>
lldir_linux.cpp: -- Implementation of directory utilities for linux
 linden_common.h: (see reference)
 lldir_linux.h:
 lldir.h
 <stdio.h>
 <dirent.h>
 <errno.h>
 llerror.h: (see reference)
 llrand.h
 <sys/types.h>
 <sys/stat.h>
 <unistd.h>
 <glob.h>
 <pwd.h>
lldir_mac.cpp: -- Implementation of directory utilities for mac
 linden_common.h: (see reference)
 lldir_mac.h:
 lldir.h
 <stdio.h>
 <dirent.h>
 llerror.h: (see reference)
 llrand.h
 <sys/types.h>
 <sys/stat.h>
 <unistd.h>
 <glob.h>
lldir_win32.cpp: -- Implementation of directory utilities for windows
 linden_common.h: (see reference)
 lldir_win32.h:
 lldir.h
 llerror.h: (see reference)
 shlobj.h: (Not a linden source file)
 llrand.h
 <direct.h>
 <sys/types.h>
 <sys/stat.h>
llvfile.cpp: -- Implementation of virtual file (??)
 linden_common.h (see reference)
 llerror.h (see reference)
 llthread.h (see reference)
 llvfile.h:
 lluuid.h
 llassetttype.h
 llvfs.h:
 <stdio>
 <map>
 <deque>
 lluuid.h:
 llstring.h: (see reference)
 linked_lists.h
 llerror.h: (see reference)
 llassettype.h:
 stdenums.h
 llthread.h: (see reference)
 llvfsthread.h
 llapr.h (see reference)
 llqueuedthread.h (see reference)
 llvfs.h:
 <stdio.h>
 <map>
 <deque>
 lluuid.h:
 llstring.h (see reference)
 linked_lists.h:
 llerror.h (see reference)
 llassettype.h:
 stdenums.h
 llthread.h: (see reference)
llvfs.cpp: -- Implementation of virtual file system
 <stdio.h>
 <sys/stat.h>
 
 <set>
 <map>
 <share.h> (if windows)
 <sys/file.h (if not windows)
 llvfs.h:
 <stdio>
 <map>
 <deque>
 lluuid.h:
 llstring.h: (see reference)
 linked_lists.h
 llerror.h: (see reference)
 llassettype.h:
 stdenums.h
 llthread.h: (see reference)
 llstl.h: 
 <functional>
 <algorithm>
 <map>
 <vector>
 <set>
 <deque>
 <stdio.h>
 <stdarg.h>
llvfsthread.cpp: 
 linden_common.h (see reference)
 llmath.h:
 <cmath>
 <math.h>
 <stdlib.h>
 lldefs.h:
 stdtypes.h:
 <limits.h>
 <float.h>
 llvfsthread.h:
 llapr.h (see reference)
 llqueuedthread.h (see reference)
 llvfs.h:
 <stdio.h>
 <map>
 <deque>
 lluuid.h:
 llstring.h (see reference)
 linked_lists.h:
 llerror.h (see reference)
 llassettype.h:
 stdenums.h
 llthread.h: (see reference)
 llstl.h 
 <functional>
 <algorithm>
 <map>
 <vector>
 <set>
 <deque>
 <stdio.h>
 <stdarg.h>
== Common source elements ==
linden_common.h: -- Includes common headers that are always safe to include
 llpreprocessor.h:
 <endian.h> (if linux)
 <string.h>
 <math.h>
 <stdio.h>
 <stdlib.h>
 <iostream>
 <fstream>
 <vector>
 <string>
 llfile.h:
 <string>
 <stdio.h>
 <sys/stat.h>
 <fstream>
 stdtypes.h:
 <limits.h>
 <float.h>
 stdtypes.h:
 <limits.h>
 <float.h>
 lldefs.h:
 stdtypes.h:
 <limits.h>
 <float.h>
 llerror.h (common ref below)
 llstring.h (common ref below)
 lltimer.h:
 (if darwin)
 <sys/time.h> (if darwin)
 <list>
 llfasttimer.h:
 lltimer.h:
 (if darwin)
 <sys/time.h> (if darwin)
 <list>
 llsys.h:
 <iosfwd>
 <string>
llapr.h -- Apache Portable Runtime
 <sys/param.h> (if linux)
 boost/noncopyable.hpp
 apr-1/apr_thread_proc.h
 apr-1/apr_thread_mutex.h
 apr-1/apr_getopt.h
 apr-1/apr_signal.h
 apr-1/apr_atomic.h
 llstring.h (common ref below)
llerror.h: -- Constants, functions, and macros for logging and runtime errors
 <sstream>
 <stdio.h>
 <stdarg.h>
 llerrorstream.h:
 <iostream>
 llerrorbuffer.h:
 <fstream>
 <iostream>
 <string>
 lldefs.h:
 stdtypes.h:
 <limits.h>
 <float.h>
 stdtypes.h:
 <limits.h>
 <float.h>
 llfile.h:
 <string>
 <stdio.h>
 <sys/stat.h>
 <fstream>
 stdtypes.h:
 <limits.h>
 <float.h>
 stdtypes.h:
 <limits.h>
 <float.h>
 llerrorbuffer.h:
 <fstream>
 <iostream>
 <string>
 lldefs.h:
 stdtypes.h:
 <limits.h>
 <float.h>
 stdtypes.h
 <limits.h>
 <float.h>
 llfile.h:
 <string>
 <stdio.h>
 <sys/stat.h>
 <fstream>
 stdtypes.h:
 <limits.h>
 <float.h>
llqueuedthread.h -- ??? (part of process threading management)
 <queue>
 <string>
 <map>
 <set>
 llapr.h: (see reference)
 llthread.h: (see reference)
 llsimplehash.h:
 llstl.h:
 <functional>
 <algorithm>
 <map>
 <vector>
 <set>
 <deque>
 <stdio.h>
 <stdarg.h>
llstring.h -- String utility functions and LLString class
 stdtypes.h:
 <limits.h>
 <float.h>
 llerror.h: (see reference)
 <algorithm>
 <map>
 <stdio.h>
 <ctype.h>
 <stdlib.h>
 <errno.h>
 <math.h>
 <wctype.h> (if linux)
 <wchar.h> (if linux)
llthread.h -- Base classes for thread, mutex and condition handling
 llapr.h (see reference)
 apr-1/apr-thread-cond.h
 llapp.h:
 <map>
 llapr.h (see reference)
 llrun.h:
 <vector>
 <boost/shared_ptr.hpp>
 llsd.h:
 <map>
 <string>
 <vector>
 stdtypes.h:
 <limits.h>
 <float.h>
 lldate.h:
 <iosfwd>
 stdtypes.h:
 <limits.h>
 <float.h>
 lluri.h:
 <string>
 ../llmath/lluuid.h:
 <iostream>
 <set>
 llstring.h (see reference)