mount()

Выполнить монтирование файловой системы

Прототип:

#include <sys/mount.h>
int mount( const char *spec,
const char *dir,
int flags,
const char *type,
const void *data,
int datalen );

Аргументы:

spec
Строка с нуль-терминатором, описывающая устройство (например /dev/hd0t77), или NULL, если устройство не указывается.
dir
Строка с нуль-терминатором, которая задаёт каталог, который необходимо смонтировать (например, /mnt/home).
flags
Флаги, которые передаются драйверу:
_MFLAG_OCB
игнорировать строку, задающую устройство, и подключаться ко всем серверам.
_MOUNT_READONLY
сделать точку монтирования файловой системы доступной только для чтения.
_MOUNT_NOEXEC
запретить исполняемым файлам загружаться.
_MOUNT_NOSUID
не учитывать биты setuid для файловой системы.
_MOUNT_NOCREAT
запретить создание файлов на файловой системе.
_MOUNT_OFF32
ограничить off_t размером 32 бит.
_MOUNT_NOATIME
отключить регистрацию времени доступа к файлам.
_MOUNT_BEFORE
вызвать resmgr_attach() с флагом _RESMGR_FLAG_BEFORE.
_MOUNT_AFTER
вызвать resmgr_attach() с флагом _RESMGR_FLAG_AFTER.
_MOUNT_OPAQUE
вызвать resmgr_attach() с флагом _RESMGR_FLAG_OPAQUE.
_MOUNT_UNMOUNT
размонтировать заданный путь.
_MOUNT_REMOUNT
заданный путь уже смонтирован, выполнить перемонтирование.
_MOUNT_FORCE
принудительное размонтирование или перемонтирование.
_MOUNT_ENUMERATE
автоопределение на этом устройстве.
type
Строка с нуль-терминатором, задающая тип файловой системы (например nfs, cifs, qnx4, ext2, network).
data
Указатель на дополнительные данные для отправки менеджеру ресурсов. Если datalen меньше 0, data указывает на нуль-терминированную строку.
datalen
Длина данных, заданных параметром data, в байтах, которые будут отправлены на сервер, или значение меньше 0, если параметр data указывает на нуль-терминированную строку.

Библиотека:

libc

Описание:

Функция mount() отправляет серверам запрос на монтирование сервисов, заданных параметрами spec и type в каталог dir.

При установке флага _MFLAG_OCB в параметре flags строка устройства будет проигнорирована, и связь будет установлена со всеми серверами. Если этот флаг не устанавливается и устройство, которое задаётся параметром spec, существует, происходит обращение только к серверу, который создал это устройство, а также будет предоставлен полный путь к устройству, заданному параметром spec.

Если параметр datalen имеет любое значение меньше 0 и задан указатель data, функция предполагает, что указатель data является указателем на строку.

Возвращаемое значение:

-1
Возникла ошибка. Ни один сервер не ответил на запрос. Код ошибки записан в errno.

Классификация:

ЗОСРВ «Нейтрино»

Безопасность использования
Точка остановки потока
Да
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

mount_parse_generic_args(), resmgr_attach(), umount()




Предыдущий раздел: Описание API системной библиотеки