mount()

Mount a filesystem

Synopsis:

#include <sys/mount.h>

int mount( const char* spec, 
           const char* dir, 
           int flags, 
           const char* type, 
           const void* data, 
           int datalen );

Arguments:

spec
A null-terminated string describing a special device (e.g. /dev/hd0t77), or NULL if there's no special device.
dir
A null-terminated string that names the directory that you want to mount (e.g. /mnt/home).
flags
Flags that are passed to the driver:
type
A null-terminated string with the filesystem type (e.g. nfs, cifs, qnx4, ext2, network).
data
A pointer to additional data to be sent to the manager. If datalen is <0, the data points to a null-terminated string.
datalen
The length of the data, in bytes, that's being sent to the server, or <0 if the data is a null-terminated string.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The mount() function sends a request to servers to mount the services provided by spec and type at dir.


Note: Updating the mount resets the other mount flags to their default values. To determine which flags are currently set, use the DCMD_ALL_GETMOUNTFLAGS devctl() command, and then OR in _MOUNT_REMOUNT. For example:
int flags;

if(devctl(fd, DCMD_ALL_GETMOUNTFLAGS, &flags, sizeof flags, NULL) == EOK) {
    flags |= _MOUNT_REMOUNT;
    ...
}

If you set _MFLAG_OCB in the flags, then the special device string is ignored, and all servers are contacted. If you don't set this bit, and the special device spec exists, then only the server that created that device is contacted, and the full path to spec is provided.

If datalen is any value <0, and there's a data pointer, the function assumes that the data pointer is a pointer to a string.

Returns:

-1 on failure; no server supports the request (errno is set).

Classification:

QNX Neutrino

Safety:
Cancellation point Yes
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

mount_parse_generic_args(), resmgr_attach(), umount()

Layers in a resource manager in the Bones of a Resource Manager chapter of Writing a Resource Manager