mount(2)
mount --
mount a file system
Synopsis
#include <sys/types.h>
#include <sys/mount.h>
int mount (const char spec, const char dir, int mflag,
.../ char fstyp, const char dataptr, int 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 system 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 permission on the mounted file system:
if 1,
writing is forbidden;
otherwise writing is permitted according to individual file accessibility.
mount
may be invoked only by
a process with the P_MOUNT privilege.
It is intended for use only by the mount utility.
Return values
On success, mount returns 0.
On failure, mount returns -1 and sets errno to identify the error.
In the following conditions, mount fails and sets errno to:
EACCES-
Search permission is denied on a component of dir or spec.
ENOLOAD-
Failure in loading a loadable exec module
EPERM-
The calling process does not have the
P_MOUNT
privilege.
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.
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 component exceeds {NAME_MAX} while
_POSIX_NO_TRUNC is in effect.
ENOENT-
None of the named files exists or is a null pathname.
ENOLOAD-
Cannot load file system name.
ENOTDIR-
A component of a path prefix
is not a directory.
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
there is no space left on the device.
References
mount(1M),
sysfs(2),
umount(2)
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004