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> <time.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: <time.h> (if darwin) <sys/time.h> (if darwin) <list> llfasttimer.h: lltimer.h: <time.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)