Выполнить монтирование файловой системы
#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 системной библиотеки