MOUNT(2)MOUNT(2)NAMEmount - mount file system
SYNOPSIS
#include <sys/mount.h>
mount(type, dir, flags, data)
int type;
char *dir;
int flags;
caddr_t data;
DESCRIPTIONmount attaches a file system to a directory. After a successful
return, references to directory dir will refer to the root directory on
the newly mounted file system. dir is a pointer to a null-terminated
string containing a path name. dir must exist already, and must be a
directory. Its old contents are inaccessible while the file system is
mounted.
mount may be invoked only by the super-user.
The flags argument determines whether the file system can be written
on, and if set-uid execution is allowed. Physically 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 filesystem. It must be one of the types
defined in mount.h. data is a pointer to a structure which contains
the type specific arguments to mount. Below is a list of the
filesystem 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 */
};
RETURN VALUEmount returns 0 if the action occurred, and -1 if fspec is inaccessible
or not an appropriate file, if name does not exist, if fspec is already
mounted, if dir is in use, or if there are already too many file
systems mounted.
ERRORSmount fails when one of the following occurs:
EPERM The caller is not the super-user.
ENOTBLK fspec is not a block device.
ENXIO The major device number of fspec is out of range (this
indicates no device driver exists 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.
EIO An I/O error occurred while reading the super block or
cylinder group information.
ENOTDIR A component of the path prefix in fspec or dir is not a
directory.
EINVAL The path name of fspec or dir contains a character with
the high-order bit set.
ENAMETOOLONG The length of a component of the path name of fspec or
dir exceeds 255 characters, or the length of the entire
path name of fspec or dir exceeds 1023 characters.
ENOENT fspec or dir does not exist.
ENOTDIR The file named by dir is not a directory.
EACCES Search permission is denied for a component of the path
prefix of fspec or dir.
EFAULT fspec or dir points outside the process's allocated
address space.
ELOOP Too many symbolic links were encountered in translating
the path name of fspec or dir.
EIO An I/O error occurred while reading from or writing to
the file system.
SEE ALSOunmount(2), mount(8)BUGS
The error codes are in a state of disarray; too many errors appear to
the caller as one value.
16 July 1986 MOUNT(2)