NASD Programmer's Documentation
Structure of the NASD tree
The NASD source tree is a relatively inclusive set of NASD-related sources.
Not all of these files are relevant for all environments and all platforms.
The tree is organized as follows:
config/
- files related to the process of building the NASD tree
include/
- common ground for header files for NASD tree
-
nasd/
- header files and .idl files for various components of the NASD tree.
System-specific header files may be found in subdirectories
of this directory - i.e., include/nasd/dux
cryptolib/
- header files related to the imported cryptolib subsystem
common/
- code shared by various components of the NASD tree - i.e., memory-management,
thread management, etc. System-specific header files may be found
in subdirectories. libnasd_common.a is built here
client/
- basic code for clients of the drive - management of drive binding handles,
code to execute RPCs to the drive, etc. libnasd_drive_client.a is built here
drive/
- the drive implementation
tests/
- regression tests for the drive, as well as simple wrappers around most
of the basic RPCs
utils/
- various programs which are useful for accessing/working with the drive
afs/
- files related to NASD-AFS which are not part of the AFS source tree
cheops/
- files related to the Cheops implementation
shared/
- files shared between the clerk and the file manager
clerk/
- the cheops clerk
mgr/
- the cheops file manager
nfs/
- files related to the NASD-NFS implementation which are not part of
the source trees of the various OSs to which NFS has been ported
common/
- files shared by the NFS filemanager and client. libnasd_nfs_common.a
is built here
server/
- the NASD-NFS filemanager in its entirety
client/
- files related to NASD-NFS client implementations; at this time, most
of this is in system-specific subdirectories
utils/
- utilities for working with the NASD-NFS implementation. Some common
utilities are built in this directory. Additional utilities related
to various implementations are built in system-specific subdirectories
etc/
- sample configuration files
kernel_generate/
- Makefiles, scripts, etc., which are needed to automatically generate code
as part of the kernel compilation process on various platforms; all found
in appropriate system-specific subdirectories
kpdev/
- a pseudo-device driver intended to be portable to various unices for
purposes of providing a kernel-based RPC-to-drive facility
etc/
- common-ground for various installation scripts, configuration files, etc.,
which may be used when running a NASD tree