
There is the file server. This provides storage for files remotely from your
machine (the client).
There is the name server. This provides a verification service for your
machine (the client) when a name and password are provided.
The name server and the file server need not be the same machine.
The mount name is the NFS equivalent of a disc name. It has no meaning to
any machine other than the client machine.
The mount path is a string identifying the directory on the server which
is to act as the root directory for a given mount.
For example:
  If the mount name is Fred
  If the mount path is /usr/jonathan
  then when NFS::Fred.$ is accessed on the client (your machine) this
    causes /usr/jonathan to be accessed on the file server.

Where a swi accepts a default the default will be chosen by the following
scheme:
1) the last specified value for that swi is used.
2) If 1) is not possible then the last such value for any swi is used.
3) If 2) or 1) didn't provide an answer then this is an error.

*************************************************************************

Mike's notes
------------
All string names are null terminated.

*************************************************************************


NFS_Mount &410c0

Mount a directory

On entry
R0 = pointer to name of file server (0 indicates use default file server)
R1 = pointer to mount name
R2 = pointer to mount path (0 indicates just switch to the mount given)

On exit
R0, R1, R2 preserved

Use
This mounts a directory in NFS. It establishes that the server has a mount
daemon running as this is required for the mount to happen. The user which
was current when the mount was performed is the user used for all future
accesses to this mount.

NFS_MountList &410c1

List current mount points

On entry
R0 = pointer to name of file server for which a list of mount points are
       required or 0 if a list of all mount points is required.
R1 = pointer to name of previously listed mount or 0 to start listing
       the mount points.

On exit
R0 preserved
R1 = pointer to name of next mount point (in alphabetical order) or 0
       if there are no more mount points to be listed.

Use
This swi provides a list of all current mount points. The list of names
will be in alphabetical order. You must not change the returned result
in any way as it is a pointer into the internal structures of NFS.
An error will be returned if the file server named is not known to NFS.

NFS_SetUser &410c2

Set the current user

On entry
R0 = pointer to nameing server or 0 to use the default nameing server.
R1 = pointer to user name. The user "nobody" does not require a password.
       If 0 then just the default nameing server is set.
R2 = pointer to password for the user.

On exit
R0,R1,R2 preserved

Use
This swi verifies the user name and password using services provided by the
given host. If the user is verified then that user will be used for all future
mount operations until another NFS_SetUser (or *Logon) is performed. An
error is returned if the user is not verified on the server.

NFS_Dismount &410c3

Dismount mounts

On entry
R0 = pointer to name of file server or 0.
R1 = pointer to mount name or 0.

On exit
R0,R1 preserved.

Use
This swi dismounts mounts. All mounts dismounted have the files opened on them
closed. If both R0 and R1 are 0 then all mounts are dismounted. If R0 is 0 then
the given mount is dismounted. If R1 is 0 then all mounts on the given file
server are dismounted. It is an error to specify both a file server and a mount.

NFS_MountInfo &410c4

Provides information about a given mount

On entry
R1 = pointer to mount name

On exit
R0 = pointer to mount's file server's name
R1 = pointer to mount name (unchanged from entry)
R2 = pointer to mount path
R3 = pointer to user name of user used to access this mount
R4 = Naming server used for this user

Use
This swi provides information about a given mount. If the mount does not
exist an error is returned. The pointers returned point into NFS's internal
structures and should not be changed.

NFS_FreeSpace &410c5

Provides free space information for a mount

On entry
R1 = pointer to mount name

On exit
R0 = total free space available on disc (bytes)
R1 preserved
R2 = total size of disc (bytes)
R3 = total unused bytes on disc

Use
This swi proveds free space information for a given mount. An error
is returned in the mount does not exist.

