Linux+FPC. Монтирование флэшки

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
Вад
незнакомец
Сообщения: 2
Зарегистрирован: 31.08.2006 13:33:30

Linux+FPC. Монтирование флэшки

Сообщение Вад »

Встала задача программного монтирования флэшки.

При объявлении в тексте программы внешней функции:

function mount(source:PChar;des:PChar;fstype:PChar;rwflag:Cardinal;
data:Pointer):Integer;cdecl;external 'c';

и её вызове:

mount('/dev/sda1','/mnt/removable1','vfat',1 or 2 or 1024 or MS_MGC_VAL,nil);

флэшка монтируется без проблем, однако есть необходимость передать параметры монтируемой файловой системы (в частности кодировку для отображения русских символов). Мне ясно, что эта информация передаётся в последнем параметре (data:Pointer), но вот с форматом передачи возникли проблемы. Хотелось бы увидеть пример работающего кода от людей, которые уже сталкивались с такого рода задачей
Аватара пользователя
Alexander
энтузиаст
Сообщения: 888
Зарегистрирован: 18.12.2005 18:10:00
Откуда: оттуда
Контактная информация:

Сообщение Alexander »

Ну незнаю как насчёт программного (не пробовал), а обычная строчка
в fstabs выглядит, например, так.

Код: Выделить всё

/dev/hda1 /mnt/win_c vfat    user,noauto,umask=0,codepage=866,iocharset=cp1251 0 0


codepage - это у файловой системы, а iocharset моя системная локаль.

Второй вариант - а может использовать команду оболочки ?
( uses OldLinux (или как там сейчас правильно?) и Shell('mount') )

Ну и наконец вопрос, а зачем это, если не секрет ? Ведь и ручное и
автомонтирование уже есть.
SergKam
постоялец
Сообщения: 251
Зарегистрирован: 16.11.2005 20:31:11
Откуда: Украина,Харьков

Сообщение SergKam »

в мане написано:

Код: Выделить всё

 Аргумент data интерпретируется разными файловыми системами.  Обычно это строка опций, раздел
       енных запятой, понимаемых этим типом файловой системы.  Смотрите mount(8) для подробной инфо
       рмации об опциях для каждого типа файловой системы.

тоесть обычная С строка, по нашему PChar
Вад
незнакомец
Сообщения: 2
Зарегистрирован: 31.08.2006 13:33:30

Сообщение Вад »

Спасибо за ответы. В итоге воспользовался вариантом, предложенным SergKam (при одинаковой функциональности не захотелось вызывать команды шэлла).

2 Alexander:

Автомаунт неприемлем по ряду причин.
Зачем мне это нужно: Происходит программное управление несколькими Mp3 flash плэйерами, т.е. прога должна во-первых - управлять процессом воспроизведения, во вторых - переводить плэйер в режим носителя информации, т.е. подключать его по USB, монтировать ФС (что и является темой данного топика) и т.д., а в-третьих - переводить плэйер обратно в режим воспроизведения (что, в частности, исключает вариант единовременного монтирования при старте ОС).
Ответить