Copyright 2000, International Business Machines Corporation and others.
All Rights Reserved.

This software has been released under the terms of the IBM Public
License.  For details, see the LICENSE file in the top-level source
directory or online at http://www.openafs.org/dl/license10.html

AFS file reorganization 

Many files in the afs and rx directories were either moved or split up to
facilitate readability and hence maintenance. As there is no DOC directory
as yet in RX, it is included here. Also, MakefileProto was split into 
operating system specific MakefileProto.<os> files. The common elements are
in Makefile.common, which is included by all the MakefileProto.<os>'s.
In addition, the subdirectory where the objects are compiled and the libraries
are compiled have been named either "STATIC" or "MODLOAD" depending on the
type of the client. There are no more separate NFS and no-NFS directories. The
NFS translator specific object files all have _nfs suffixes, for example,
afs_call_nfs.o.

RX
The rx directory now has operating system specific directories. The Unix
operating systems use these for kernel code only. Each presently has 2 files,
rx_kmutex.h and rx_knet.c. rx_kmutex.h contains that operating system's 
locking macros for kernel RX that were in the now removed rx_machdep.h.
rx_knet.c contains the system specific parts from rx_kernel.c. This includes
a separate rxk_input for each system. In the afs directory, afs_osinet.c was
also split up. osi_NetSend was moved to these rx_knet.c directories.

RX Summary:
rx_machdep.h -> rx_lwp.h (user space parts)
             -> <os>/rx_kmutex.h (kernel parts)
rx_kernel.c  -> <os>/rx_knet.c
osi_NetSend  -> <os>/rx_knet.c

AFS
Files in the afs directory were broken up either because of the messy #ifdef's
or because of the size of the file, and in particular, the RCS version of
the file. For example, RCS/afs_vnodeops,v is nearly 10 Meg. Files in the
operating system specific directories are all prefixed with osi_ (operating
system interface). Each must have at least an osi_groups.c and an osi_machdep.h
file. The first implements setgroups/getgroups and the latter implements the
kernel locking macros for AFS.


AFS Summary:
afs_vnodeops.c -> VNOPS/*.c (one file per class of vnode op)
                  afs_osi_pag.c
                  afs_osi_uio.c
                  <os>/osi_groups.c
afs_cache.c    -> afs_dcache.c and afs_vcache.c afs_segments.c
afs_resource.c -> afs_analyze.c
                  afs_cell.c
                  afs_conn.c
                  afs_user.c
                  afs_server.c
                  afs_volume.c
                  afs_util.c
                  afs_init.c

afs_osinet.c   -> rx_knet.c (osi_NetSend)
                  afs_osi_alloc.c
                  afs_osi_sleep.c
osi.h          -> afs_osi.h
                  <os>/osi_machdep.h

Several operating system interface files were moved to their appropritate
osi directories:
AIX:  afs_aixops.c -> osi_vnodeops.c
      afs_aix_subr.c -> osi_misc.c
      afs_config.c -> osi_config.c osi_timeout.c
      aix_vfs.h    -> osi_vfs.h
      misc.s       -> osi_assem.s

DUX:  afs_vnodeops.c -> osi_vnodeops.c (DUX specific code)

HPUX: afs_vnodeops.c -> osi_vnodeops.c (HPUX specific code)
      afs_hp_debug.c -> osi_debug.c
      hpux_proc_private.h -> osi_proc_private.h
      hpux_vfs.h   -> osi_vfs.h

IRIX: afs_sgiops.c -> osi_idbg.c osi_groups.c osi_misc.c osi_vnodeops.c
      sgi_vfs.h    -> osi_vfs.h

SOLARIS: afs_sun_subr.c -> osi_vnodeops.c
                           osi_prototypes.h (new header file)

afs_mariner.c is centralizes the mariner code, which was plucked from both
afs_cache.c and afs_vnodeops.c
