fsmount(2) fsmount(2)NAME fsmount - mount a network file system (NFS) SYNOPSIS #include <sys/mount.h> int fsmount(type, dir, flags, data) int type; char *dir; int flags; caddr_t data; DESCRIPTION fsmount attaches a file system to a directory. After a suc- cessful return, references to directory dir refer to the root directory on the newly mounted file system. dir is a pointer to a null-terminated string containing a pathname. dir must exist already and it must be a directory. Its old contents are inaccessible while the file system is mounted. The argument flags determines if the file system can be written on and if set-user-ID execution is allowed. Physi- cally write-protected and magnetic-tape file systems must be mounted read-only or errors will occur when access times are updated, whether or not any explicit write is attempted. type indicates the type of the file system. It must be one of the types defined in mount.h. data is a pointer to a structure that contains the type-specific arguments to mount. Below is a list of the file-system types supported and the type-specific arguments to each: MOUNT_UFS struct ufs_args { char *fspec; /* block special file /* to mount */ }; MOUNT_NFS #include <nfs/nfs.h> #include <netinet/in.h> struct nfs_args { struct sockaddr_in *addr; /* file server address */ fhandle_t *fh; /* file handle to be /* mounted */ int flags; /* flags */ int wsize; /* write size in bytes */ int rsize; /* read size in bytes */ int timeo; /* initial timeout in /* .1 secs */ int retrans; /* times to retry send */ }; April, 1990 1
fsmount(2) fsmount(2)RETURN VALUE fsmount returns 0 if the action occurred and returns -1 if special is inaccessible or not an appropriate file, if name does not exist, if special is already mounted, if name is in use, or if too many file systems are already mounted. ERRORS fsmount will fail if one or more of the following are true: [EPERM] The caller is not the superuser. [ENOTBLK] special is not a block device. [ENXIO] The major device number of special is out of range, indicating no device driver ex- ists for the associated hardware. [EBUSY] dir is not a directory, or another process currently holds a reference to it. [EBUSY] No space remains in the mount table. [EBUSY] The super block for the file system had a bad magic number or an out of range block size. [EBUSY] Not enough memory was available to read the cylinder group information for the file system. [ENOTDIR] A component of the path prefix in special or name is not a directory. [ENAMETOOLONG] The pathname of special or name was too long. [ENOENT] special or name does not exist. [EACCES] Search permission is denied for a com- ponent of the path prefix of special or name. [EFAULT] special or name points outside of the al- located address space of the process. [ELOOP] Too many symbolic links were encountered in translating the pathname of special or name. [EIO] An I/O error occurred while reading from or writing to the file system. 2 April, 1990
fsmount(2) fsmount(2)[ENOMEM] Memory could not be allocated for cylinder group information. [EINVAL] Bad magic number or block size exceeds MAXBSIZE. SEE ALSO unmount(2), umount(2), mount(3). BUGS Too many errors appear to the caller as one value. April, 1990 3