This directory is not present in a binary release. It contains the source code for Shore. The subdirectories of src are presented here in the order of their dependency. In other words, the code in a directory depends on code in the previously described directories.
The fc directory contains what we call foundation classes. These C++ classes are meant to be easy to use in software systems other than Shore. They do not depend on any other Shore code. Included are classes for such things as lists, hash tables and error handling.
The sthread directory contains a thread package and asynchronous I/O facility.
The common directory contains code needed by most layers of Shore. In this directory are the interfaces and implementations for data types from which Shore's persistent data structures are built. Included are implementations of object identifiers, thread-safe hash tables and options.
The sm directory contains code for the Shore Storage Manager (SSM). The interface for the SSM consists of the public interfaces of the classes ssm, pin_i and scan_xxx_i classes defined in sm.h, pin.h and scan.h, respectively.
The rpc4.0 directory contains a modified copy of Sun Microsystems' "Portable ONC/NFS", a public-domain implementation of the Sun RPC and XDR protocols.
We have made minor changes for its use in Shore. We use only a portion of the package. The complete package is included here, but we support only the portion that Shore uses (rpc4.0/rpc and rpc4.0/rpcgen), to the extent that the Shore Value-Added Server uses it. (We do not provide general support for it, and we have no manual pages for it.)
The modifications include:
The vas directory contains code for the Shore Value-Added Server (SVAS). This directory has the following subdirectories:
The vas directory is for libraries that provide programming-language-independent functionality above the SVAS. The object cache resides here, and in future releases, the link-level Unix-compatibility library will be here.
The lil/oc directory contains code for the object cache that is linked with applications.
The sdl directory contains the SDL type compiler and the SDL C++ language-binding generator.
The util directory holds miscellaneous Shore utilities.
The only such program in the release is is mount, for mounting the Shore file system as an NFS file system.
The example directory contains example application programs.
The oo7 directory contains an implementation of the OO7 Benchmark.