VFS source relationships

From Second Life Wiki
Revision as of 23:22, 17 January 2007 by Scalar Tardis (talk | contribs) (Other functions in \vfs folder)
Jump to navigation Jump to search

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 linux

   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)