mount(2) SYSTEM CALLS mount(2)
NAME
mount - mount a file system
SYNOPSIS
#include <sys/types.h>
#include <sys/mount.h>
int mount (const char *spec, const char *dir, int mflag, .../* int fstyp,
const char *dataptr, size_t datalen*/);
DESCRIPTION
mount requests that a removable file system contained on the
block special file identified by spec be mounted on the
directory identified by dir. spec and dir are pointers to
path names. fstyp is the file system type number. The
sysfs(2) system call can be used to determine the file sys-
tem type number. If both the MS_DATA and MS_FSS flag bits
of mflag are off, the file system type defaults to the root
file system type. Only if either flag is on is fstyp used
to indicate the file system type.
If the MS_DATA flag is set in mflag the system expects the
dataptr and datalen arguments to be present. Together they
describe a block of file-system specific data at address
dataptr of length datalen. This is interpreted by file-
system specific code within the operating system and its
format depends on the file system type. If a particular
file system type does not require this data, dataptr and
datalen should both be zero. Note that MS_FSS is obsolete
and is ignored if MS_DATA is also set, but if MS_FSS is set
and MS_DATA is not, dataptr and datalen are both assumed to
be zero.
After a successful call to mount, all references to the file
dir refer to the root directory on the mounted file system.
The low-order bit of mflag is used to control write permis-
sion on the mounted file system: if 1, writing is forbid-
den; otherwise writing is permitted according to individual
file accessibility.
mount may be invoked only by the super-user. It is intended
for use only by the mount utility.
mount fails if one or more of the following are true:
EBUSY dir is currently mounted on, is
someone's current working directory, or
is otherwise busy.
EBUSY The device associated with spec is
currently mounted.
1
mount(2) SYSTEM CALLS mount(2)
EBUSY There are no more mount table entries.
EFAULT spec, dir, or datalen points outside the
allocated address space of the process.
EINVAL The super block has an invalid magic
number or the fstyp is invalid.
ELOOP Too many symbolic links were encountered
in translating spec or dir.
ENAMETOOLONG The length of the path argument exceeds
{PATH_MAX}, or the length of a path com-
ponent exceeds {NAME_MAX} while
_POSIX_NO_TRUNC is in effect.
ENOENT None of the named files exists or is a
null pathname.
ENOTDIR A component of a path prefix is not a
directory.
EPERM The effective user ID is not super-user.
EREMOTE spec is remote and cannot be mounted.
ENOLINK path points to a remote machine and the
link to that machine is no longer
active.
EMULTIHOP Components of path require hopping to
multiple remote machines and the file
system type does not allow it.
ENOTBLK spec is not a block special device.
ENXIO The device associated with spec does not
exist.
ENOTDIR dir is not a directory.
EROFS spec is write protected and mflag
requests write permission.
ENOSPC The file system state in the super-block
is not FsOKAY and mflag requests write
permission.
SEE ALSO
sysfs(2), umount(2).
mount(1M), fs(4) in the System Administrator's Reference
Manual.
2
mount(2) SYSTEM CALLS mount(2)
DIAGNOSTICS
Upon successful completion a value of 0 is returned. Other-
wise, a value of -1 is returned and errno is set to indicate
the error.
3