up | Inhaltsverzeichniss | Kommentar

Manual page for MOUNT(2)

mount - mount file system

SYNOPSIS

#include <sys/mount.h>

mount(type, dir, flags, data) int type; char *dir; int flags; caddr_t data;

DESCRIPTION

mount 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 VALUE

mount 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.

ERRORS

mount 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 ALSO

unmount(2), mount(8)

BUGS

The error codes are in a state of disarray; too many errors appear to the caller as one value.


index | Inhaltsverzeichniss | Kommentar

Created by unroff & hp-tools. © somebody (See intro for details). All Rights Reserved. Last modified 11/5/97