Risc OS NFS internals:


Externally visible internal state:

All mount points
Current mount point
Current directory
Previous directory
User root directory
Library directory

Invisible internal state:

Caches of directory contents
Open files: maps between Risc OS file handle and NFS file handle+server; sequential file pointer

Internal data structures:

A chain link
     A forwards link
     A backwards link
     An offset from the link's start to the containing data structure's start

A chain header
     A forwards link
     A backwards link
     An indicator that this is the chain header

An object specification (this provides all information required to access any NFS object) with
     This object's fhandle
     A pointer to the mount point under which this object was obtained

An open file with
     An object specification
     sequential file pointer

A mount point (one per mount point) with
     The mount point's name
     The mount point's host name
     The mount point's fhandle
     The mount point's CLIENT structure (that which specifies the NFS server)
         (this includes the authentication when mounted)
     A chain of open files on that mount point

A sorted-by-mount point name chain of mount points

A sorted-by-hostname chain of hosts with
     A sorted-by-mount point name chain of mount points on that host

A cached directory - only used for directory listing

A least recently used chain of cached directories - only used for directory listing

Directories:
A directory structure with
     The full pathname giving this directory (after reductions)
     The object specification of this directory
